Table des Matières
    Vue d’ensemble
    Obtenir la valeur API_KEY_TOKEN
    Obtenir les valeurs ACCOUNT_ID et CAMPAIGN_ID
    Lister les campagnes
    Créer une campagne
    Modifier une campagne
    Dupliquer une campagne
    Changer l’état d’une campagne
    Supprimer des campagnes
    Lister les numéros de campagne
    Ajouter des numéros aux campagnes
    Ajouter des numéros à une campagne dynamique
    Ajouter des numéros avec des valeurs de variables à une campagne dynamique
    Téléverser un fichier CSV avec de nouveaux numéros pour une campagne dynamique
    Ajouter les numéros d’une liste de contacts à une campagne
    Supprimer des numéros de campagne
    Obtenir les détails d’appel d’une campagne
    Obtenir les détails de numéro d’une campagne
    Lister les listes noires
    Créer une liste noire
    Modifier une liste noire
    Supprimer des listes noires
    Lister les numéros d’une liste noire
    Ajouter des numéros à une liste noire
    Supprimer des numéros d’une liste noire
    Lister les listes de contacts
    Créer une liste de contacts
    Modifier une liste de contacts
    Supprimer des listes de contacts
    Lister les numéros d’une liste de contacts
    Ajouter des numéros à une liste de contacts
    Supprimer des numéros d’une liste de contacts

Vue d’ensemble

SIP Caller propose une API REST qui permet aux clients de SIP Caller d’effectuer différentes opérations sur leur compte SIP Caller depuis des programmes externes. Ainsi, de nombreuses intégrations personnalisées utiles peuvent être développées entre SIP Caller et d’autres systèmes.

Obtenir la valeur API_KEY_TOKEN

Pour utiliser l’API REST, un client SIP Caller doit d’abord créer une Clé API, comme expliqué dans cette section, afin d’obtenir un API_KEY_TOKEN qui sera utilisé dans les exemples suivants pour authentifier les appels à l’API REST de SIP Caller depuis un programme externe.

Obtenir les valeurs ACCOUNT_ID et CAMPAIGN_ID

La valeur ACCOUNT_ID du client SIP Caller, qui sera utilisée dans les exemples suivants, peut être obtenue depuis la Console Web, comme indiqué ci-dessous :
Obtenir l’ID du Compte La valeur CAMPAIGN_ID de SIP Caller, qui sera utilisée dans les exemples suivants, peut également être obtenue depuis la Console Web, comme indiqué ci-dessous :
Obtenir l’ID de la Campagne

Lister les campagnes

L’exemple suivant montre comment lister les campagnes :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"state":"Active"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier n’importe lequel des champs suivants :
    • filter={"ids":["id1","id2"]}
    • filter={"name":"Nom de la campagne"}
    • filter={"phoneSystemId":"id1"}
    • filter={"extensionId":"id1"}
    • filter={"dialer":{"mode":"Power"}} – Modes : Power, Predictive
    • filter={"tagIds_ovl":["tag1","tag2"]}
    • filter={"state":"Active"} – État : Draft, Active, Paused, Canceled, Finished
    • filter={"type":"Static"} – Type : Static, Dynamic
    • filter={"startDate_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"endDate_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"startedAt_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"endedAt_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"callflowIds_ctn":"id1"} – Filtre par flux d’appel de réponse humaine ou de répondeur
    • filter={"callBehavior":{"humanAnswerCallflowId":"id1"}}
    • filter={"callBehavior":{"answeringMachineCallflowId":"id1"}}
    • filter={"webhookEndpointId":"id1"}
    • filter={"isArchived":true}
  • L’instruction sort peut spécifier n’importe lequel des champs suivants, en ordre croissant (ASC) ou décroissant (DESC) :
    • name
    • state
    • type
    • startDate
    • endDate
    • numbersCount
    • startedAt
    • endedAt

Créer une campagne

L’exemple suivant montre comment créer une nouvelle campagne :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{ "name":"My first campaign", "phoneSystemId":"0199817e-52e0-7079-9585-99a655c2acb3", "extensionId":"93e5cdfc-6e42-4995-8263-9388a9047c29", "tagIds":[], "state":"Draft", "isArchived":false, "numberProvisioning":"Dynamic", "numberSelection":"Fifo", "numberPriority":"RetryPending", "runningPriority":"Normal", "dialer":{ "mode":"Predictive", "intensity":0 }, "callPrefix":"", "ringTimeout":{ "value":30, "unit":"Seconds" }, "maxAttempts":3, "retryIntervals":[ { "value":1, "unit":"Hours" } ], "startDate":"2026-07-27", "endDate":null, "workingTimes":{ "monday":[ { "start":"09:00", "end":"18:00" } ], "tuesday":[ { "start":"09:00", "end":"18:00" } ], "wednesday":[ { "start":"09:00", "end":"18:00" } ], "thursday":[ { "start":"09:00", "end":"18:00" } ], "friday":[ { "start":"09:00", "end":"18:00" } ], "saturday":[ ], "sunday":[ ] }, "timeZoneId":"America/Argentina/Buenos_Aires", "callHandling":{ "$t":"Callflow", "answerTypeDetector":{ "$t":"AmdAgent", "amdAgentId":"019f9cef-4a91-7c97-b7cd-edbb06a5038d", "unknownAnswerTreatment":"Human", "messageForVoicemail":{ "$t":"OnFirstDetection", "callflowId":"019f81ba-a149-731a-a6cb-b47146c5f90d", "isCallRetryEnabled":true } }, "callflowId":"019f9cd5-e8cd-716b-a9a6-37c9db2f97a2", "ttsVoiceId":"azu-en-US-AlloyTurboMultilingualNeural" }, "blackListIds":[ ], "webhookEndpointId":"019af0c3-62d6-70f2-84a1-5ab5671721bb" }' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns'

Le corps de la requête accepte les champs suivants :

  • numberProvisioning – Valeurs possibles : Dynamic, Static
  • numberSelection – Valeurs possibles : Fifo, Lifo
  • numberPriority – Valeurs possibles : RetryPending, NotContacted
  • runningPriority – Valeurs possibles : High, Normal, Low
  • Dans ringTimeout et dans chaque élément de retryIntervals, le champ unit peut être l’une des valeurs suivantes : Seconds, Minutes, Hours, Days
  • Dans callHandling, le champ $t peut être l’une des valeurs suivantes : Callflow, AiAgent
  • Dans answerTypeDetector, le champ $t peut être l’une des valeurs suivantes : Disabled, Standard, AmdAgent
  • unknownAnswerTreatment – Valeurs possibles : Human, Voicemail
  • Dans messageForVoicemail, le champ $t peut être l’une des valeurs suivantes : Never, OnFirstDetection, OnLastAttempt, OnEveryAttempt

Modifier une campagne

L’exemple suivant montre comment modifier une campagne existante, identifiée par CAMPAIGN_ID. Le corps de la requête accepte les mêmes champs que lors de la création d’une campagne, mais doit également inclure le champ id avec l’ID de la campagne :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '{ "id":"CAMPAIGN_ID", "name":"My first campaign", "phoneSystemId":"0199817e-52e0-7079-9585-99a655c2acb3", "extensionId":"93e5cdfc-6e42-4995-8263-9388a9047c29", "tagIds":[], "state":"Draft", "isArchived":false, "numberProvisioning":"Dynamic", "numberSelection":"Fifo", "numberPriority":"RetryPending", "runningPriority":"Normal", "dialer":{ "mode":"Predictive", "intensity":0 }, "callPrefix":"", "ringTimeout":{ "value":30, "unit":"Seconds" }, "maxAttempts":3, "retryIntervals":[ { "value":1, "unit":"Hours" } ], "startDate":"2026-07-27", "endDate":null, "workingTimes":{ "monday":[ { "start":"09:00", "end":"18:00" } ], "tuesday":[ { "start":"09:00", "end":"18:00" } ], "wednesday":[ { "start":"09:00", "end":"18:00" } ], "thursday":[ { "start":"09:00", "end":"18:00" } ], "friday":[ { "start":"09:00", "end":"18:00" } ], "saturday":[ ], "sunday":[ ] }, "timeZoneId":"America/Argentina/Buenos_Aires", "callHandling":{ "$t":"Callflow", "answerTypeDetector":{ "$t":"AmdAgent", "amdAgentId":"019f9cef-4a91-7c97-b7cd-edbb06a5038d", "unknownAnswerTreatment":"Human", "messageForVoicemail":{ "$t":"OnFirstDetection", "callflowId":"019f81ba-a149-731a-a6cb-b47146c5f90d", "isCallRetryEnabled":true } }, "callflowId":"019f9cd5-e8cd-716b-a9a6-37c9db2f97a2", "ttsVoiceId":"azu-en-US-AlloyTurboMultilingualNeural" }, "blackListIds":[ ], "webhookEndpointId":"019af0c3-62d6-70f2-84a1-5ab5671721bb", "lastUpdatedAt":"2026-07-27T12:18:08.149" }' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID'

Le champ lastUpdatedAt doit contenir la valeur updatedAt renvoyée la dernière fois que la campagne a été récupérée, créée ou modifiée.

Dupliquer une campagne

L’exemple suivant montre comment dupliquer une campagne existante :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/duplicate?includeNumbers=true&newCampaignName=NewCampaignName&numbersFilter={"status":["NotContacted","Failure"]}'

Le paramètre de chaîne de requête newCampaignName est facultatif, et s’il n’est pas fourni, la nouvelle campagne sera nommée comme la campagne d’origine avec un numéro incrémental en suffixe. Le paramètre de chaîne de requête includeNumbers est également facultatif, et s’il n’est pas fourni, la nouvelle campagne inclura tous les numéros. Si includeNumbers est défini sur true, alors le paramètre de chaîne de requête numbersFilter peut être utilisé pour spécifier quels numéros de la campagne d’origine doivent être inclus dans la nouvelle campagne. Le statut peut inclure l’une des valeurs suivantes :

  • NotContacted
  • Contacting
  • Blacklisted
  • Success
  • RetryPending
  • Failure

Changer l’état d’une campagne

L’exemple suivant montre comment changer l’état d’une campagne :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '"Active"' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/state'

Le corps de la requête doit être le nouvel état entre guillemets. Les valeurs possibles sont les suivantes :

  • Active
  • Paused
  • Canceled

Pour une description de chaque état de campagne et des transitions autorisées entre eux, consultez la section « Gérer le Statut de la Campagne » de la page Campagnes.

Supprimer des campagnes

Vous pouvez utiliser deux points de terminaison API différents pour supprimer des campagnes, selon que vous souhaitez supprimer une ou plusieurs campagnes :

  1. Pour supprimer une seule campagne, vous pouvez utiliser le point de terminaison suivant :
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID'
  1. Pour supprimer plusieurs campagnes en une seule requête, vous pouvez utiliser le point de terminaison suivant :
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '["CAMPAIGN_ID_1","CAMPAIGN_ID_2"]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns'

Veuillez noter que seules les campagnes dans les états suivants peuvent être supprimées :

  • Draft
  • Finished
  • Canceled

Lister les numéros de campagne

L’exemple suivant montre comment lister les numéros de campagne :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"123456789"}' \ --data-urlencode 'sort=["number","DESC"]' \ --data-urlencode 'range=[0,19]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/numbers'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier n’importe lequel des champs suivants :
    • filter={"number":"123456789"} – La recherche par numéro partiel est autorisée
    • filter={"status":["NotContacted","Contacting","Blacklisted","Success","RetryPending","Failure"]} – Sélectionnez autant de valeurs de statut que nécessaire
    • filter={"attempts_gt":1} – Plus de X tentatives
    • filter={"attempts_lt":3} – Moins de X tentatives
  • L’instruction sort peut spécifier n’importe lequel des champs suivants, en ordre croissant (ASC) ou décroissant (DESC) :
    • number
    • attempts

Ajouter des numéros aux campagnes

L’API REST propose plusieurs méthodes pour ajouter des numéros à une campagne : les envoyer au format JSON, avec ou sans valeurs de variables, téléverser un fichier CSV, ou les copier depuis une liste de contacts. Toutes ces méthodes suivent les mêmes règles.

Quelles campagnes peuvent recevoir de nouveaux numéros :

  • Campagnes en brouillon : des numéros peuvent être ajoutés à toute campagne à l’état Draft, quel que soit son provisionnement des numéros (Static ou Dynamic).
  • Campagnes actives ou en pause : une fois la campagne à l’état Active ou Paused, seules les campagnes avec un provisionnement des numéros Dynamic peuvent recevoir de nouveaux numéros.

Comment les numéros en double sont gérés :

  • Campagnes en brouillon : la même combinaison de numéro et de valeurs de variables ne peut pas être ajoutée deux fois, et les doublons sont ignorés. Le même numéro peut être ajouté plusieurs fois si ses valeurs de variables sont différentes, car chaque enregistrement est considéré comme communiquant quelque chose de différent.
  • Campagnes dynamiques actives ou en pause : les numéros et valeurs de variables en double sont autorisés. Les campagnes dynamiques sont souvent de longue durée, donc chaque nouvel enregistrement est considéré comme un appel distinct, par exemple pour recontacter le même client.

Ajouter des numéros à une campagne dynamique

L’exemple suivant montre comment ajouter un nouveau numéro à une campagne dynamique déjà active :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number": "+18005551234"},{"number": "+18005551235"}]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/numbers'

Ajouter des numéros avec des valeurs de variables à une campagne dynamique

L’exemple suivant montre comment ajouter un nouveau numéro à une campagne dynamique déjà active, en incluant des valeurs de variables qui peuvent être utilisées par le flux d’appel de la campagne :

curl -i \ --globoff \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number": "+18005551234", "varValues": ["John", "199"]},{"number": "+18005551235", "varValues": ["Jane", "449"]}]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/numbers?varNames=["Name","Amount"]'

Le paramètre de chaîne de requête varNames est facultatif, et s’il n’est pas fourni, SIP Caller assignera automatiquement les noms de variables.

Téléverser un fichier CSV avec de nouveaux numéros pour une campagne dynamique

L’exemple suivant montre comment téléverser un fichier CSV (valeurs séparées par des virgules) contenant plusieurs numéros vers une campagne dynamique déjà active.
Tout d’abord, un fichier CSV doit être préparé contenant les nouveaux numéros à ajouter à la campagne. Voici un exemple de fichier CSV avec 5 numéros et leurs valeurs de variables correspondantes :

5550001,John,199  
5550002,Mary,299  
5550003,Susan,149  
5550004,James,300  
5550005,Walter,42

Ensuite, le fichier CSV préparé peut être téléversé vers SIP Caller avec la commande suivante :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --form "file=@campaign-numbers.csv" \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/numbers/upload?firstRowIsHeader=false&varCount=2'

Ajouter les numéros d’une liste de contacts à une campagne

L’exemple suivant montre comment ajouter tous les numéros d’une liste de contacts existante, identifiée par CONTACT_LIST_ID, à une campagne, en incluant leurs valeurs de variables :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{"contactListId":"CONTACT_LIST_ID"}' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/numbers/copyFromContactList'

Exemple de réponse :

{ "totalNumbers": 2000, "numbersAdded": 2000, "numbersSkipped": 0 }

La réponse contient les champs suivants :

  • totalNumbers : le nombre total de numéros dans la liste de contacts.
  • numbersAdded : le nombre de numéros ajoutés à la campagne.
  • numbersSkipped : le nombre de numéros qui n’ont pas été ajoutés car ils étaient en double, comme décrit dans la section Ajouter des numéros aux campagnes.

Supprimer des numéros de campagne

L’exemple suivant montre comment supprimer des numéros de campagne, en spécifiant l’ID renvoyé lors de la récupération de la liste :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/numbers'

Les données envoyées permettent de spécifier plusieurs ID de numéros. Ces ID ne sont PAS les numéros. Vous devrez d’abord lister les numéros de la campagne, pour obtenir l’ID de chaque enregistrement, puis les supprimer.

Seuls les numéros dans les états suivants peuvent être supprimés :

  • Non Contacté : le numéro n’a pas encore été contacté.
  • Nouvelle Tentative en Attente : le numéro a des tentatives d’appel échouées précédentes, et est planifié pour une nouvelle tentative, cette nouvelle tentative sera annulée.

Obtenir les détails d’appel d’une campagne

L’exemple suivant montre comment obtenir les détails d’appel d’une campagne :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"+18005551000"}' \ --data-urlencode 'sort=["number","ASC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/reports/callDetails'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier n’importe lequel des champs suivants :
    • filter={"number":"+18005551000"}
    • filter={"numberPrefix":"9"}
    • filter={"attempt":1}
    • filter={"startedAtLocal_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"answeredAtLocal_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"endedAtLocal_gte":"2024-12-01T00:00:00"} – Suffixes gte, gt, lte, lt
    • filter={"ringResult":"Answer"} – Valeurs possibles : Answer, NoAnswer, Busy, CallError
    • filter={"answerType":"Human"} – Valeurs possibles : Human, Machine, Unknown
    • filter={"sipResponseCode":200}
    • filter={"endType":"HangUp"} - Valeurs possibles : HangUp, CallflowComplete, ExecutionError
    • filter={"queueId":"800"}
    • filter={"outcome":"Success"} - Valeurs possibles : Success, FailureWithNoRetryLeft, FailureWithRetryPending
  • L’instruction sort peut spécifier n’importe lequel des champs suivants, en ordre croissant (ASC) ou décroissant (DESC) :
    • number
    • attempt
    • startedAtLocal
    • answeredAtLocal
    • endedAtLocal
    • ringResult
    • answerType
    • sipResponseCode
    • endType
    • outcome

Obtenir les détails de numéro d’une campagne

L’exemple suivant montre comment obtenir les détails de numéro d’une campagne :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"+18005551000"}' \ --data-urlencode 'sort=["number","ASC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID/reports/numberDetails'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier n’importe lequel des champs suivants :
    • filter={"number":"+18005551000"}
    • filter={"attempts_gt":1} – Suffixes gte, gt, lte, lt
    • filter={"status":"RetryPending"} - Valeurs possibles : NotContacted, Contacting, Blacklisted, Success, RetryPending, Failure, Deleted
  • L’instruction sort peut spécifier n’importe lequel des champs suivants, en ordre croissant (ASC) ou décroissant (DESC) :
    • number
    • attempts

Lister les listes noires

L’exemple suivant montre comment lister les listes noires :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"BL"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier le champ suivant :
    • filter={"name":"Nom de la liste noire"}
  • L’instruction sort peut spécifier le champ suivant, en ordre croissant (ASC) ou décroissant (DESC) :
    • name

Exemple de réponse :

[ { "id": "01a0dedd-b9a2-729d-8e0a-4e3ad9197aea", "name": "BL1", "numbersCount": 3, "updatedAt": "2026-09-26T17:57:48.064" }, { "id": "01a0dad2-c0a6-7205-8d4e-a2d5f4197825", "name": "BL2", "numbersCount": 8, "updatedAt": "2026-09-25T23:09:37.921" } ]

Le champ id de chaque enregistrement correspond à la valeur BLACK_LIST_ID utilisée dans les exemples suivants.

Créer une liste noire

L’exemple suivant montre comment créer une nouvelle liste noire :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{"name":"BL1"}' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists'

Exemple de réponse :

{ "id": "01a0df0c-d237-7bff-8f26-c700f4b30b62", "name": "BL1", "numbersCount": 0, "updatedAt": "2026-09-26T18:49:14.548" }

Modifier une liste noire

L’exemple suivant montre comment modifier une liste noire existante, identifiée par BLACK_LIST_ID :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '{ "id":"BLACK_LIST_ID", "name":"BL1 - Updated", "lastUpdatedAt":"2026-09-26T18:49:14.548" }' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists/BLACK_LIST_ID'

Le corps de la requête doit inclure le champ id avec l’ID de la liste noire, ainsi que le champ lastUpdatedAt avec la valeur updatedAt renvoyée la dernière fois que la liste noire a été récupérée, créée ou modifiée.

Exemple de réponse :

{ "id": "01a0df0c-d237-7bff-8f26-c700f4b30b62", "name": "BL1 - Updated", "numbersCount": 0, "updatedAt": "2026-09-26T18:55:14.548" }

Supprimer des listes noires

L’exemple suivant montre comment supprimer une ou plusieurs listes noires en une seule requête :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '["BLACK_LIST_ID_1","BLACK_LIST_ID_2"]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists'

La réponse contient les ID des listes noires supprimées :

["BLACK_LIST_ID_1","BLACK_LIST_ID_2"]

Lister les numéros d’une liste noire

L’exemple suivant montre comment lister les numéros d’une liste noire :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"115555"}' \ --data-urlencode 'sort=["number","DESC"]' \ --data-urlencode 'range=[0,19]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists/BLACK_LIST_ID/numbers'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier le champ suivant :
    • filter={"number":"115555"} – La recherche par numéro partiel est autorisée
  • L’instruction sort peut spécifier le champ suivant, en ordre croissant (ASC) ou décroissant (DESC) :
    • number

Exemple de réponse :

[ { "id": 3, "number": "1155550003", "description": "Do not call" }, { "id": 2, "number": "1155550002", "description": "Do not call" }, { "id": 1, "number": "1155550001", "description": "Do not call" } ]

Ajouter des numéros à une liste noire

L’exemple suivant montre comment ajouter de nouveaux numéros à une liste noire, avec une description facultative pour chaque numéro :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number":"+18005551234","description":"Does not want to be called"}]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists/BLACK_LIST_ID/numbers'

Exemple de réponse :

[ { "id": 21, "number": "+18005551234", "description": "Does not want to be called" } ]

Supprimer des numéros d’une liste noire

L’exemple suivant montre comment supprimer des numéros d’une liste noire, en spécifiant l’ID renvoyé lors de la récupération de la liste :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/blackLists/BLACK_LIST_ID/numbers'

Les données envoyées permettent de spécifier plusieurs ID de numéros. Ces ID ne sont PAS les numéros. Vous devrez d’abord lister les numéros de la liste noire, pour obtenir l’ID de chaque enregistrement, puis les supprimer. La réponse contient les ID des numéros supprimés :

[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]

Lister les listes de contacts

L’exemple suivant montre comment lister les listes de contacts :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"CL1"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier le champ suivant :
    • filter={"name":"Nom de la liste de contacts"}
  • L’instruction sort peut spécifier le champ suivant, en ordre croissant (ASC) ou décroissant (DESC) :
    • name

Exemple de réponse :

[ { "id": "019ffc4b-1c59-72ed-b15a-cbf81a2b95d9", "name": "CL1", "numbersCount": 1255, "varNames": [ "Customer Name", "Due Balance" ], "updatedAt": "2026-08-13T18:03:28.729" } ]

Le champ id de chaque enregistrement correspond à la valeur CONTACT_LIST_ID utilisée dans les exemples suivants. Le champ varNames contient les noms des variables dont les valeurs sont stockées pour chaque numéro de la liste de contacts.

Créer une liste de contacts

L’exemple suivant montre comment créer une nouvelle liste de contacts :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{"name":"CL1"}' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists'

Exemple de réponse :

{ "id": "01a0df17-6fa4-7332-a3c1-d605df53fea2", "name": "CL1", "numbersCount": 0, "varNames": null, "updatedAt": "2026-09-26T19:00:50.21" }

Modifier une liste de contacts

L’exemple suivant montre comment modifier une liste de contacts existante, identifiée par CONTACT_LIST_ID :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '{ "id":"CONTACT_LIST_ID", "name":"CL1 - Updated", "lastUpdatedAt":"2026-09-26T19:00:50.21" }' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists/CONTACT_LIST_ID'

Le corps de la requête doit inclure le champ id avec l’ID de la liste de contacts, ainsi que le champ lastUpdatedAt avec la valeur updatedAt renvoyée la dernière fois que la liste de contacts a été récupérée, créée ou modifiée.

Exemple de réponse :

{ "id": "01a0df17-6fa4-7332-a3c1-d605df53fea2", "name": "CL1 - Updated", "numbersCount": 0, "varNames": null, "updatedAt": "2026-09-26T19:05:15.123" }

Supprimer des listes de contacts

L’exemple suivant montre comment supprimer une ou plusieurs listes de contacts en une seule requête :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '["CONTACT_LIST_ID_1","CONTACT_LIST_ID_2"]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists'

La réponse contient les ID des listes de contacts supprimées :

["CONTACT_LIST_ID_1","CONTACT_LIST_ID_2"]

Lister les numéros d’une liste de contacts

L’exemple suivant montre comment lister les numéros d’une liste de contacts :

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"18035551"}' \ --data-urlencode 'sort=["number","DESC"]' \ --data-urlencode 'range=[0,19]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists/CONTACT_LIST_ID/numbers'

La requête permet de spécifier des filtres, un tri et une plage :

  • L’instruction filter peut spécifier le champ suivant :
    • filter={"number":"18035551"} – La recherche par numéro partiel est autorisée
  • L’instruction sort peut spécifier le champ suivant, en ordre croissant (ASC) ou décroissant (DESC) :
    • number

Exemple de réponse :

[ { "id": 8, "number": "+18035551005", "varValues": [ "Millie Watson", "$118.49" ] }, { "id": 7, "number": "+18035551004", "varValues": [ "Stefan Robertson", "$99.00" ] }, { "id": 6, "number": "+18035551003", "varValues": [ "Clara White", "$350.00" ] }, { "id": 5, "number": "+18035551002", "varValues": [ "Peter Smith", "$852.05" ] }, { "id": 4, "number": "+18035551001", "varValues": [ "Jane Clarke", "$523.26" ] } ]

Les valeurs de varValues suivent le même ordre que les noms de variables du champ varNames de la liste de contacts.

Ajouter des numéros à une liste de contacts

L’exemple suivant montre comment ajouter de nouveaux numéros à une liste de contacts, en incluant leurs valeurs de variables :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number":"+18005551239","varValues":["Peter Jackson","$367.75"]}]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists/CONTACT_LIST_ID/numbers?varNames=["Customer Name","Due Balance"]'

Exemple de réponse :

[ { "id": 10, "number": "+18005551239", "varValues": [ "Peter Jackson", "$367.75" ] } ]

Supprimer des numéros d’une liste de contacts

L’exemple suivant montre comment supprimer des numéros d’une liste de contacts, en spécifiant l’ID renvoyé lors de la récupération de la liste :

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]' \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/contactLists/CONTACT_LIST_ID/numbers'

Les données envoyées permettent de spécifier plusieurs ID de numéros. Ces ID ne sont PAS les numéros. Vous devrez d’abord lister les numéros de la liste de contacts, pour obtenir l’ID de chaque enregistrement, puis les supprimer. La réponse contient les ID des numéros supprimés :

[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]


SIP Caller
© 2026 Easy Caller LLC Tous droits réservés
LinkedinYou Tube
Trustpilot