Sommario
    Panoramica
    🔐 Autenticazione
    Come Creare una API Key
    Esempio di Intestazione
    🌐 URL Base
    👤 Ruoli e Permessi
    📌 Panoramica degli Endpoint
    👥 Partner
    Elenca i Partner Associati
    Esempio di Richiesta
    Esempio di Risposta
    Crea un Partner Associato
    Corpo della Richiesta
    Esempio di Richiesta
    Esempio di Risposta
    🧑‍💼 Clienti
    Elenca i Clienti
    Esempio di Richiesta
    Esempio di Risposta
    Crea un Cliente
    Corpo della Richiesta
    Esempio di Richiesta
    Esempio di Risposta

Panoramica

La Partners REST API permette ai sistemi esterni di gestire partner e clienti in modo programmatico all'interno dell'ecosistema SIP Caller.

Questa API è progettata per Distributori e Partner che hanno bisogno di automatizzare le attività di onboarding e gestione.

🔐 Autenticazione

Tutte le richieste API richiedono l'autenticazione tramite un Bearer Token.

Come Creare una API Key

  1. Accedi alla Console Partner di SIP Caller
  2. Vai su Settings > API Keys
  3. Crea una nuova API key
  4. Copia il token della API key generato

Esempio di Intestazione

Includi il token della API key nell'intestazione Authorization:

Authorization: Bearer YOUR_API_KEY_TOKEN

🌐 URL Base

Ogni richiesta deve essere inviata al seguente URL base:

https://api.sipcaller.com/v1/

👤 Ruoli e Permessi

RuoloPermessi
PartnerReaderPuò solo ottenere i partner e i clienti esistenti
PartnerAdminPuò ottenere i partner e i clienti esistenti, e crearne di nuovi

📌 Panoramica degli Endpoint

MetodoEndpointDescrizioneRuolo Richiesto
GET/partnersElenca i partner associatiPartnerReader (Distributore)
POST/partnersCrea un partner associatoPartnerAdmin (Distributore)
GET/customersElenca i clientiPartnerReader (Partner / Distributore)
POST/customersCrea un clientePartnerAdmin (Partner / Distributore)

👥 Partner

Elenca i Partner Associati

GET /partners

Restituisce tutti i partner associati al distributore autenticato.

Esempio di Richiesta

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"ACME","countryIds_ovl":["us"],"code":"acme","state":"Active","level":["Basic","Certified"],"createdAt_gte":"2026-03-01","createdAt_lte":"2026-04-01"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/partners'

La richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare uno qualsiasi dei seguenti campi:
    • filter={"name":"Partner Name"}
    • filter={"countryIds_ovl":["us","ar"]}
    • filter={"code":"Partner Code"}
    • filter={"state":"Active"} – Stato: Active, SignedUp
    • filter={"level":["Basic","Certified","Premium"]} – Livello: Basic, Certified, Premium
    • filter={"createdAt_gte":"2026-01-01"} – Suffissi gte, gt, lte, lt
  • L'istruzione sort può specificare uno qualsiasi dei seguenti campi, sia in ordine crescente (ASC) che decrescente (DESC):
    • name
    • countryName
    • code
    • state
    • level
    • createdAt

Esempio di Risposta

[ { "id": "019cea04-b015-7f54-a7dd-6e5c198f15a9", "name": "ACME", "type": "Partner", "code": "acme", "countryIds": [ "us" ], "state": "Active", "level": "Basic", "parent": { "id": "019cea04-b00f-76a3-b584-025a91dc697e", "name": "Distributor Name", "type": "Distributor", "contactData": { "web": "https://distributor.example.com", "email": "sales@distributor.example.com", "phone": "+1 234 555 0000" } }, "signUpData": { "comments": "We want to become a SIP Caller partner.", "originType": "HomeSite", "websiteUrl": "https://acme.example.com" }, "contactData": { "public": { "web": "https://acme.example.com", "email": "sales@acme.example.com", "phone": "+1 234-555-0001" }, "members": [ { "id": "019cea04-b016-75ea-8b2f-a87a96005e82", "name": "John Doe", "email": "john.doe@acme.example.com", "phoneNumber": "+1 234 555-0002", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "PartnerAdmin" ] } ] }, "counters": { "apiKeys": { "created": 0, "deleted": 0 } }, "customersCount": 1, "createdAt": "2026-03-14T01:45:01.717", "updatedAt": "2026-03-14T01:45:01.717" } ]

Crea un Partner Associato

POST /partners

Crea un nuovo partner sotto il distributore autenticato.

Corpo della Richiesta

{ "email": "john.doe@partner.example.com", "firstName": "John", "lastName": "Doe", "partnerName": "Example Partner", "type": "Partner", "code": "example-partner", "level": "Basic", "languageId": "en", "timeZoneId": "US/Eastern", "countryIds": [ "us", "ca" ], "contactData": { "web": "https://partner.example.com", "email": "john.doe@partner.example.com", "phone": "+1 234 555-0000" }, "logo": { "file": "example-partner.png", "maxHeight": 60 } }

Esempio di Richiesta

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{ "email": "john.doe@partner.example.com", "firstName": "John", "lastName": "Doe", "partnerName": "Example Partner", "type": "Partner", "code": "example-partner", "level": "Basic", "languageId": "en", "timeZoneId": "US/Eastern", "countryIds": [ "us", "ca" ], "contactData": { "web": "https://partner.example.com", "email": "john.doe@partner.example.com", "phone": "+1 234 555-0000" }, "logo": { "file": "example-partner.png", "maxHeight": 60 } }' \ 'https://api.sipcaller.com/v1/partners'

Esempio di Risposta

{ "id": "019d0cfc-19eb-7017-8166-f007ebfbe70c", "name": "Eample Partner", "type": "Partner", "code": "example-partner", "countryIds": [ "us", "ca" ], "state": "Active", "level": "Basic", "parent": { "id": "019cea04-b002-7271-be0b-3fdbbc483aba", "name": "Example Distributor", "type": "Distributor", "contactData": { "web": "https://distributor.example.com", "email": "sales@distributor.example.com", "phone": "+1 234 555 0001" } }, "signUpData": { "originType": "PartnerApiKey" }, "contactData": { "public": { "web": "https://partner.example.com", "email": "john.doe@partner.example.com", "phone": "+1 234 555-0000" }, "members": [ { "id": "019d0cfc-19eb-7c4d-9b70-b6e5e926be3f", "name": "John Doe", "email": "john.doe@partner.example.com", "phoneNumber": "+1 234 555-0000", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "PartnerAdmin" ] } ] }, "counters": { "apiKeys": { "created": 0, "deleted": 0 } }, "customersCount": 0, "createdAt": "2026-03-20T20:42:21.545", "updatedAt": "2026-03-20T20:42:21.545" }

🧑‍💼 Clienti

Elenca i Clienti

GET /customers

Restituisce tutti i clienti associati al partner o distributore autenticato.

Esempio di Richiesta

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"Customer Name","countryId":["us","ar"],"planId":["ent-4sc-y"],"state":["Trialing"],"createdAt_gte":"2026-03-01","createdAt_lte":"2026-04-01"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/customers'

La richiesta permette di specificare filtri, ordinamento e intervallo:

  • L'istruzione filter può specificare uno qualsiasi dei seguenti campi:
    • filter={"name":"Customer Name"}
    • filter={"countryId":["us","ar"]}
    • filter={"planId":"ent-4sc-y"} - L'ID del piano è costruito come segue: ess / pro / ent (per Essentials, Professional o Enterprise), seguito dal numero di chiamate simultanee, e poi un suffisso per il ciclo di fatturazione (m per mensile, y per annuale). Ad esempio: pro-8sc-m, ent-16sc-y, ecc.
    • filter={"state":"Trialing"} – Stato: FreePlan, PartnerPlan, Trialing, TrialExpired, SubscriptionActive, SubscriptionPastDue, SubscriptionExpired, Closed, Suspended, Abandoned
    • filter={"createdAt_gte":"2026-01-01"} – Suffissi gte, gt, lte, lt
  • L'istruzione sort può specificare uno qualsiasi dei seguenti campi, sia in ordine crescente (ASC) che decrescente (DESC):
    • name
    • countryName
    • planName
    • createdAt

Esempio di Risposta

[ { "id": "019d06bc-cce2-7310-99b4-fc67f0090456", "name": "Example Customer", "countryId": "us", "state": "Trialing", "planId": "ent-4sc-y", "ownerType": "Customer", "signUpData": { "originType": "PartnerConsole", "websiteUrl": "https://customer.example.com" }, "contactData": { "members": [ { "id": "019d06bc-ccea-7ad7-b6bd-76bb684636fd", "name": "John Doe", "email": "john.doe@customer.example.com", "phoneNumber": "+1 234 555-0001", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "AccountAdmin" ] } ] }, "partner": { "id": "019cea04-b00f-76a3-b584-025a91dc697f", "name": "Example Partner", "type": "Partner" }, "counters": { "phoneSystems": { "created": 0, "deleted": 0 }, "callflows": { "created": 0, "deleted": 0 }, "campaigns": { "created": 0, "deleted": 0, "activated": { "powerDialer": 0, "predictiveDialer": 0, "progressiveDialer": 0 } }, "apiKeys": { "created": 0, "deleted": 0 }, "webhookEndpoints": { "created": 0, "deleted": 0 }, "webhookEvents": { "created": 0, "delivered": 0 }, "calls": { "powerDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "predictiveDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "progressiveDialer": { "agentAnswer": { "numberConnected": 0, "numberNotConnected": 0, "numberConnectionUnknown": 0, "numberNotCalled": 0 }, "agentNoAnswer": 0, "agentBusy": 0, "agentCallError": 0 } } }, "ttsUsage": { "monthlyPeriod": { "startAt": "2026-03-19T15:00:00", "endAt": "2026-04-19T15:00:00" }, "maxChars": 1500000, "usedChars": 0, "isLimitReached": false, "usageDetails": [] }, "createdAt": "2026-03-19T15:35:29.75", "updatedAt": "2026-03-19T15:35:29.75" } ]

Crea un Cliente

POST /customers

Crea un nuovo cliente sotto il partner o distributore autenticato.

Corpo della Richiesta

{ "countryId": "us", "languageId": "en", "timeZoneId": "US/Eastern", "email": "john.doe@customer.example.com", "customerName": "Example Customer", "firstName": "John", "lastName": "Doe", "websiteUrl": "https://customer.example.com", "phoneNumber": "+1 234 555-0001", "partnerId": "019cea04-b002-7271-be0b-3fdbbc483ab9", "partnerMemberIdForCustomerSupport": "019cea04-b005-73e2-9d0f-8ccf53da5c0c" }

Esempio di Richiesta

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{ "countryId": "us", "languageId": "en", "timeZoneId": "US/Eastern", "email": "john.doe@customer.example.com", "customerName": "Example Customer", "firstName": "John", "lastName": "Doe", "websiteUrl": "https://customer.example.com", "phoneNumber": "+1 234 555-0001", "partnerId": "019cea04-b002-7271-be0b-3fdbbc483ab9", "partnerMemberIdForCustomerSupport": "019cea04-b005-73e2-9d0f-8ccf53da5c0c"}' \ 'https://api.sipcaller.com/v1/customers'

I seguenti campi sono opzionali:

  • partnerId: questo è l'ID del partner che sarà associato al nuovo cliente. Se non fornito, il sistema associerà automaticamente il cliente al partner dell'utente autenticato. Questo è utile per i distributori che vogliono creare clienti già associati a un partner specifico.
  • partnerMemberIdForCustomerSupport: questo è l'ID di un membro del partner che sarà associato al nuovo cliente per finalità di supporto. Se fornito, questo membro potrà accedere all'account del cliente nella Console SIP Caller per fornire assistenza.

Esempio di Risposta

{ "id": "019d1bbc-85f8-7336-8034-ad4707badc52", "name": "Example Customer", "countryId": "us", "state": "Trialing", "planId": "ent-4sc-y", "ownerType": "Customer", "signUpData": { "originType": "PartnerApiKey", "websiteUrl": "https://customer.example.com" }, "contactData": { "members": [ { "id": "019d1bbc-85ff-74eb-87df-1f50fb2fcfc3", "name": "John Doe", "email": "john.doe@customer.example.com", "phoneNumber": "+1 234 555-0001", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "AccountAdmin" ] } ] }, "partner": { "id": "019cea04-b002-7271-be0b-3fdbbc483ab8", "name": "Example Partner", "type": "Partner" }, "counters": { "phoneSystems": { "created": 0, "deleted": 0 }, "callflows": { "created": 0, "deleted": 0 }, "campaigns": { "created": 0, "deleted": 0, "activated": { "powerDialer": 0, "predictiveDialer": 0, "progressiveDialer": 0 } }, "apiKeys": { "created": 0, "deleted": 0 }, "webhookEndpoints": { "created": 0, "deleted": 0 }, "webhookEvents": { "created": 0, "delivered": 0 }, "calls": { "powerDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "predictiveDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "progressiveDialer": { "agentAnswer": { "numberConnected": 0, "numberNotConnected": 0, "numberConnectionUnknown": 0, "numberNotCalled": 0 }, "agentNoAnswer": 0, "agentBusy": 0, "agentCallError": 0 } } }, "ttsUsage": { "monthlyPeriod": { "startAt": "2026-03-23T17:00:00", "endAt": "2026-04-23T17:00:00" }, "maxChars": 1500000, "usedChars": 0, "isLimitReached": false, "usageDetails": [] }, "createdAt": "2026-03-23T17:27:13.137", "updatedAt": "2026-03-23T17:27:13.137" }


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