Sommario
    Panoramica
    Ottenere il valore di API_KEY_TOKEN
    Ottenere i valori di ACCOUNT_ID e CAMPAIGN_ID
    Elencare le campagne
    Creare una campagna
    Modificare una campagna
    Duplicare una campagna
    Cambiare lo stato della campagna
    Eliminare campagne
    Elencare i numeri della campagna
    Aggiungere numeri alle campagne
    Aggiungere numeri a una campagna dinamica
    Aggiungere numeri con valori delle variabili a una campagna dinamica
    Caricare un file CSV con nuovi numeri per una campagna dinamica
    Aggiungere i numeri di un elenco di contatti a una campagna
    Eliminare i numeri della campagna
    Ottenere i dettagli delle chiamate della campagna
    Ottenere i dettagli dei numeri della campagna
    Elencare le liste nere
    Creare una lista nera
    Modificare una lista nera
    Eliminare liste nere
    Elencare i numeri di una lista nera
    Aggiungere numeri a una lista nera
    Eliminare i numeri di una lista nera
    Elencare gli elenchi di contatti
    Creare un elenco di contatti
    Modificare un elenco di contatti
    Eliminare elenchi di contatti
    Elencare i numeri di un elenco di contatti
    Aggiungere numeri a un elenco di contatti
    Eliminare i numeri di un elenco di contatti

Panoramica

SIP Caller offre una REST API che permette ai clienti di SIP Caller di eseguire diverse operazioni sul proprio account SIP Caller da programmi esterni. In questo modo, è possibile sviluppare molte integrazioni personalizzate utili tra SIP Caller e altri sistemi.

Ottenere il valore di API_KEY_TOKEN

Per utilizzare la REST API, un cliente SIP Caller deve prima creare una API Key, come spiegato in questa sezione, per ottenere un API_KEY_TOKEN che verrà utilizzato negli esempi seguenti per autenticare le chiamate alla REST API di SIP Caller da un programma esterno.

Ottenere i valori di ACCOUNT_ID e CAMPAIGN_ID

Il valore ACCOUNT_ID del cliente SIP Caller, che verrà utilizzato negli esempi seguenti, può essere ottenuto dalla Console Web, come mostrato di seguito:
Ottieni l'ID dell'Account Il valore CAMPAIGN_ID di SIP Caller, che verrà utilizzato negli esempi seguenti, può anch'esso essere ottenuto dalla Console Web, come mostrato di seguito:
Ottieni l'ID della Campagna

Elencare le campagne

Il seguente esempio mostra come elencare le campagne:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare uno qualsiasi dei seguenti campi:
    • filter={"ids":["id1","id2"]}
    • filter={"name":"Nome della campagna"}
    • filter={"phoneSystemId":"id1"}
    • filter={"extensionId":"id1"}
    • filter={"dialer":{"mode":"Power"}} – Modalità: Power, Predictive
    • filter={"tagIds_ovl":["tag1","tag2"]}
    • filter={"state":"Active"} – Stato: Draft, Active, Paused, Canceled, Finished
    • filter={"type":"Static"} – Tipo: Static, Dynamic
    • filter={"startDate_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"endDate_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"startedAt_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"endedAt_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"callflowIds_ctn":"id1"} – Filtra per flusso di chiamata di risposta umana o segreteria telefonica
    • filter={"callBehavior":{"humanAnswerCallflowId":"id1"}}
    • filter={"callBehavior":{"answeringMachineCallflowId":"id1"}}
    • filter={"webhookEndpointId":"id1"}
    • filter={"isArchived":true}
  • L'istruzione sort può specificare uno qualsiasi dei seguenti campi, sia in ordine crescente (ASC) che decrescente (DESC):
    • name
    • state
    • type
    • startDate
    • endDate
    • numbersCount
    • startedAt
    • endedAt

Creare una campagna

Il seguente esempio mostra come creare una nuova campagna:

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'

Il corpo della richiesta accetta i seguenti campi:

  • numberProvisioning – Valori possibili: Dynamic, Static
  • numberSelection – Valori possibili: Fifo, Lifo
  • numberPriority – Valori possibili: RetryPending, NotContacted
  • runningPriority – Valori possibili: High, Normal, Low
  • All'interno di ringTimeout e di ciascun elemento di retryIntervals, il campo unit può essere uno dei seguenti: Seconds, Minutes, Hours, Days
  • All'interno di callHandling, il campo $t può essere uno dei seguenti: Callflow, AiAgent
  • All'interno di answerTypeDetector, il campo $t può essere uno dei seguenti: Disabled, Standard, AmdAgent
  • unknownAnswerTreatment – Valori possibili: Human, Voicemail
  • All'interno di messageForVoicemail, il campo $t può essere uno dei seguenti: Never, OnFirstDetection, OnLastAttempt, OnEveryAttempt

Modificare una campagna

Il seguente esempio mostra come modificare una campagna esistente, identificata da CAMPAIGN_ID. Il corpo della richiesta accetta gli stessi campi utilizzati per la creazione di una campagna, ma deve anche includere il campo id con l'ID della campagna:

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'

Il campo lastUpdatedAt deve contenere il valore updatedAt restituito l'ultima volta che la campagna è stata ottenuta, creata o modificata.

Duplicare una campagna

Il seguente esempio mostra come duplicare una campagna già esistente:

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"]}'

Il parametro query-string newCampaignName è opzionale, e se non fornito, la nuova campagna verrà denominata come la campagna originale con un numero incrementale come suffisso. Anche il parametro query-string includeNumbers è opzionale, e se non fornito, la nuova campagna includerà tutti i numeri. Se includeNumbers è impostato su true, allora il parametro query-string numbersFilter può essere utilizzato per specificare quali numeri della campagna originale devono essere inclusi nella nuova campagna. Lo stato può includere uno qualsiasi dei seguenti valori:

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

Cambiare lo stato della campagna

Il seguente esempio mostra come cambiare lo stato di una campagna:

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'

Il corpo della richiesta deve essere il nuovo stato tra virgolette. I valori possibili sono i seguenti:

  • Active
  • Paused
  • Canceled

Per una descrizione di ciascuno stato della campagna e delle transizioni consentite tra di essi, consulta la sezione "Gestione dello Stato della Campagna" della pagina Campagne.

Eliminare campagne

Puoi usare due diversi endpoint API per eliminare le campagne, a seconda che tu voglia eliminarne una o più:

  1. Per eliminare una singola campagna, puoi usare il seguente endpoint:
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns/CAMPAIGN_ID'
  1. Per eliminare più campagne in un'unica richiesta, puoi usare il seguente endpoint:
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'

Nota che possono essere eliminate solo le campagne nei seguenti stati:

  • Draft
  • Finished
  • Canceled

Elencare i numeri della campagna

Il seguente esempio mostra come elencare i numeri di una campagna:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare uno qualsiasi dei seguenti campi:
    • filter={"number":"123456789"} – È consentita la ricerca parziale del numero
    • filter={"status":["NotContacted","Contacting","Blacklisted","Success","RetryPending","Failure"]} – Seleziona tutti i valori di stato di cui hai bisogno
    • filter={"attempts_gt":1} – Più di X tentativi
    • filter={"attempts_lt":3} – Meno di X tentativi
  • L'istruzione sort può specificare uno qualsiasi dei seguenti campi, sia in ordine crescente (ASC) che decrescente (DESC):
    • number
    • attempts

Aggiungere numeri alle campagne

L’API REST offre diversi metodi per aggiungere numeri a una campagna: inviarli in formato JSON, con o senza valori delle variabili, caricare un file CSV, oppure copiarli da un elenco di contatti. Tutti questi metodi seguono le stesse regole.

Quali campagne possono ricevere nuovi numeri:

  • Campagne in bozza: è possibile aggiungere numeri a qualsiasi campagna nello stato Draft, indipendentemente dal provisioning dei numeri (Static o Dynamic).
  • Campagne attive o in pausa: una volta che la campagna è nello stato Active o Paused, solo le campagne con provisioning dei numeri Dynamic possono ricevere nuovi numeri.

Come vengono gestiti i numeri duplicati:

  • Campagne in bozza: la stessa combinazione di numero e valori delle variabili non può essere aggiunta due volte, e i duplicati vengono saltati. Lo stesso numero può essere aggiunto più di una volta se i suoi valori delle variabili sono diversi, poiché si presume che ogni record comunichi qualcosa di diverso.
  • Campagne dinamiche attive o in pausa: sono consentiti numeri e valori delle variabili duplicati. Le campagne dinamiche sono spesso di lunga durata, quindi ogni nuovo record è considerato una chiamata separata, ad esempio per ricontattare lo stesso cliente.

Aggiungere numeri a una campagna dinamica

Il seguente esempio mostra come aggiungere un nuovo numero a una campagna dinamica già attiva:

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'

Aggiungere numeri con valori delle variabili a una campagna dinamica

Il seguente esempio mostra come aggiungere un nuovo numero a una campagna dinamica già attiva, includendo i valori delle variabili che possono essere utilizzati dal flusso di chiamata della campagna:

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"]'

Il parametro query-string varNames è opzionale, e se non fornito, SIP Caller assegnerà automaticamente i nomi delle variabili.

Caricare un file CSV con nuovi numeri per una campagna dinamica

Il seguente esempio mostra come caricare un file CSV (valori separati da virgola) con più numeri in una campagna dinamica già attiva.
Innanzitutto, deve essere preparato un file CSV che contenga i nuovi numeri da aggiungere alla campagna. Ecco un esempio di file CSV con 5 numeri e i relativi valori delle variabili:

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

In secondo luogo, il file CSV preparato può essere caricato su SIP Caller con il seguente comando:

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'

Aggiungere i numeri di un elenco di contatti a una campagna

Il seguente esempio mostra come aggiungere tutti i numeri di un elenco di contatti esistente, identificato da CONTACT_LIST_ID, a una campagna, includendo i relativi valori delle variabili:

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'

Esempio di risposta:

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

La risposta contiene i seguenti campi:

  • totalNumbers: il numero totale di numeri presenti nell'elenco di contatti.
  • numbersAdded: il numero di numeri aggiunti alla campagna.
  • numbersSkipped: il numero di numeri che non sono stati aggiunti perché duplicati, come descritto nella sezione Aggiungere numeri alle campagne.

Eliminare i numeri della campagna

Il seguente esempio mostra come eliminare i numeri di una campagna, specificando l'ID restituito quando si ottiene l'elenco:

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'

I dati inviati permettono di specificare più ID di numeri. Questi ID NON sono i numeri. Dovrai prima elencare i numeri della campagna, per ottenere l'ID di ciascun record, e poi eliminarli.

Possono essere eliminati solo i numeri nei seguenti stati:

  • Non Contattato: il numero non è ancora stato contattato.
  • Tentativo Ripetuto in Sospeso: il numero ha avuto tentativi di chiamata falliti in precedenza, ed è programmato per un tentativo ripetuto, che verrà annullato.

Ottenere i dettagli delle chiamate della campagna

Il seguente esempio mostra come ottenere i dettagli delle chiamate di una campagna:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare uno qualsiasi dei seguenti campi:
    • filter={"number":"+18005551000"}
    • filter={"numberPrefix":"9"}
    • filter={"attempt":1}
    • filter={"startedAtLocal_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"answeredAtLocal_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"endedAtLocal_gte":"2024-12-01T00:00:00"} – Suffissi gte, gt, lte, lt
    • filter={"ringResult":"Answer"} – Valori possibili: Answer, NoAnswer, Busy, CallError
    • filter={"answerType":"Human"} – Valori possibili: Human, Machine, Unknown
    • filter={"sipResponseCode":200}
    • filter={"endType":"HangUp"} - Valori possibili: HangUp, CallflowComplete, ExecutionError
    • filter={"queueId":"800"}
    • filter={"outcome":"Success"} - Valori possibili: Success, FailureWithNoRetryLeft, FailureWithRetryPending
  • L'istruzione sort può specificare uno qualsiasi dei seguenti campi, sia in ordine crescente (ASC) che decrescente (DESC):
    • number
    • attempt
    • startedAtLocal
    • answeredAtLocal
    • endedAtLocal
    • ringResult
    • answerType
    • sipResponseCode
    • endType
    • outcome

Ottenere i dettagli dei numeri della campagna

Il seguente esempio mostra come ottenere i dettagli dei numeri di una campagna:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare uno qualsiasi dei seguenti campi:
    • filter={"number":"+18005551000"}
    • filter={"attempts_gt":1} – Suffissi gte, gt, lte, lt
    • filter={"status":"RetryPending"} - Valori possibili: NotContacted, Contacting, Blacklisted, Success, RetryPending, Failure, Deleted
  • L'istruzione sort può specificare uno qualsiasi dei seguenti campi, sia in ordine crescente (ASC) che decrescente (DESC):
    • number
    • attempts

Elencare le liste nere

Il seguente esempio mostra come elencare le liste nere:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare il seguente campo:
    • filter={"name":"Nome della lista nera"}
  • L'istruzione sort può specificare il seguente campo, sia in ordine crescente (ASC) che decrescente (DESC):
    • name

Esempio di risposta:

[ { "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" } ]

Il campo id di ciascun record è il valore BLACK_LIST_ID utilizzato negli esempi seguenti.

Creare una lista nera

Il seguente esempio mostra come creare una nuova lista nera:

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'

Esempio di risposta:

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

Modificare una lista nera

Il seguente esempio mostra come modificare una lista nera esistente, identificata da 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'

Il corpo della richiesta deve includere il campo id con l'ID della lista nera, e il campo lastUpdatedAt con il valore updatedAt restituito l'ultima volta che la lista nera è stata ottenuta, creata o modificata.

Esempio di risposta:

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

Eliminare liste nere

Il seguente esempio mostra come eliminare una o più liste nere in un'unica richiesta:

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 risposta contiene gli ID delle liste nere eliminate:

["BLACK_LIST_ID_1","BLACK_LIST_ID_2"]

Elencare i numeri di una lista nera

Il seguente esempio mostra come elencare i numeri di una lista nera:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare il seguente campo:
    • filter={"number":"115555"} – È consentita la ricerca parziale del numero
  • L'istruzione sort può specificare il seguente campo, sia in ordine crescente (ASC) che decrescente (DESC):
    • number

Esempio di risposta:

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

Aggiungere numeri a una lista nera

Il seguente esempio mostra come aggiungere nuovi numeri a una lista nera, con una descrizione opzionale per ciascun numero:

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'

Esempio di risposta:

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

Eliminare i numeri di una lista nera

Il seguente esempio mostra come eliminare i numeri di una lista nera, specificando l'ID restituito quando si ottiene l'elenco:

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'

I dati inviati permettono di specificare più ID di numeri. Questi ID NON sono i numeri. Dovrai prima elencare i numeri della lista nera, per ottenere l'ID di ciascun record, e poi eliminarli. La risposta contiene gli ID dei numeri eliminati:

[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]

Elencare gli elenchi di contatti

Il seguente esempio mostra come elencare gli elenchi di contatti:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare il seguente campo:
    • filter={"name":"Nome dell'elenco di contatti"}
  • L'istruzione sort può specificare il seguente campo, sia in ordine crescente (ASC) che decrescente (DESC):
    • name

Esempio di risposta:

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

Il campo id di ciascun record è il valore CONTACT_LIST_ID utilizzato negli esempi seguenti. Il campo varNames contiene i nomi delle variabili i cui valori sono memorizzati per ciascun numero dell'elenco di contatti.

Creare un elenco di contatti

Il seguente esempio mostra come creare un nuovo elenco di contatti:

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'

Esempio di risposta:

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

Modificare un elenco di contatti

Il seguente esempio mostra come modificare un elenco di contatti esistente, identificato da 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'

Il corpo della richiesta deve includere il campo id con l'ID dell'elenco di contatti, e il campo lastUpdatedAt con il valore updatedAt restituito l'ultima volta che l'elenco di contatti è stato ottenuto, creato o modificato.

Esempio di risposta:

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

Eliminare elenchi di contatti

Il seguente esempio mostra come eliminare uno o più elenchi di contatti in un'unica richiesta:

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 risposta contiene gli ID degli elenchi di contatti eliminati:

["CONTACT_LIST_ID_1","CONTACT_LIST_ID_2"]

Elencare i numeri di un elenco di contatti

Il seguente esempio mostra come elencare i numeri di un elenco di contatti:

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 richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare il seguente campo:
    • filter={"number":"18035551"} – È consentita la ricerca parziale del numero
  • L'istruzione sort può specificare il seguente campo, sia in ordine crescente (ASC) che decrescente (DESC):
    • number

Esempio di risposta:

[ { "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" ] } ]

I valori in varValues seguono lo stesso ordine dei nomi delle variabili nel campo varNames dell'elenco di contatti.

Aggiungere numeri a un elenco di contatti

Il seguente esempio mostra come aggiungere nuovi numeri a un elenco di contatti, includendo i relativi valori delle variabili:

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"]'

Esempio di risposta:

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

Eliminare i numeri di un elenco di contatti

Il seguente esempio mostra come eliminare i numeri di un elenco di contatti, specificando l'ID restituito quando si ottiene l'elenco:

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'

I dati inviati permettono di specificare più ID di numeri. Questi ID NON sono i numeri. Dovrai prima elencare i numeri dell'elenco di contatti, per ottenere l'ID di ciascun record, e poi eliminarli. La risposta contiene gli ID dei numeri eliminati:

[NUMBER_ID_1,NUMBER_ID_2,NUMBER_ID_3]


SIP Caller
© 2026 Easy Caller LLC Tutti i diritti riservati
LinkedinYou Tube
Trustpilot