Table des Matières
    Vue d’ensemble
    🔐 Authentification
    Comment créer une Clé API
    Exemple d’en-tête
    🌐 URL de Base
    👤 Rôles et Permissions
    📌 Vue d’ensemble des Points de Terminaison
    👥 Partenaires
    Lister les Partenaires Associés
    Exemple de Requête
    Exemple de Réponse
    Créer un Partenaire Associé
    Corps de la Requête
    Exemple de Requête
    Exemple de Réponse
    🧑‍💼 Clients
    Lister les Clients
    Exemple de Requête
    Exemple de Réponse
    Créer un Client
    Corps de la Requête
    Exemple de Requête
    Exemple de Réponse

Vue d’ensemble

L’API REST des Partenaires permet aux systèmes externes de gérer les partenaires et les clients de manière programmatique au sein de l’écosystème SIP Caller.

Cette API est conçue pour les Distributeurs et Partenaires qui ont besoin d’automatiser les tâches d’intégration et de gestion.

🔐 Authentification

Toutes les requêtes API nécessitent une authentification à l’aide d’un Jeton Bearer.

Comment créer une Clé API

  1. Connectez-vous à la Console des Partenaires SIP Caller
  2. Accédez à Réglages > Clés API
  3. Créez une nouvelle clé API
  4. Copiez le jeton de clé API généré

Exemple d’en-tête

Incluez le jeton de clé API dans l’en-tête Authorization :

Authorization: Bearer YOUR_API_KEY_TOKEN

🌐 URL de Base

Chaque requête doit être envoyée à l’URL de base suivante :

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

👤 Rôles et Permissions

RôlePermissions
PartnerReaderPeut uniquement obtenir les partenaires et clients existants
PartnerAdminPeut obtenir les partenaires et clients existants, et en créer de nouveaux

📌 Vue d’ensemble des Points de Terminaison

MéthodePoint de TerminaisonDescriptionRôle Requis
GET/partnersLister les partenaires associésPartnerReader (Distributeur)
POST/partnersCréer un partenaire associéPartnerAdmin (Distributeur)
GET/customersLister les clientsPartnerReader (Partenaire / Distributeur)
POST/customersCréer un clientPartnerAdmin (Partenaire / Distributeur)

👥 Partenaires

Lister les Partenaires Associés

GET /partners

Renvoie tous les partenaires associés au distributeur authentifié.

Exemple de Requête

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 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={"name":"Partner Name"}
    • filter={"countryIds_ovl":["us","ar"]}
    • filter={"code":"Partner Code"}
    • filter={"state":"Active"} – État : Active, SignedUp
    • filter={"level":["Basic","Certified","Premium"]} – Niveau : Basic, Certified, Premium
    • filter={"createdAt_gte":"2026-01-01"} – Suffixes gte, gt, lte, lt
  • L’instruction sort peut spécifier n’importe lequel des champs suivants, en ordre croissant (ASC) ou décroissant (DESC) :
    • name
    • countryName
    • code
    • state
    • level
    • createdAt

Exemple de Réponse

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

Créer un Partenaire Associé

POST /partners

Crée un nouveau partenaire sous le distributeur authentifié.

Corps de la Requête

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

Exemple de Requête

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'

Exemple de Réponse

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

🧑‍💼 Clients

Lister les Clients

GET /customers

Renvoie tous les clients associés au partenaire ou distributeur authentifié.

Exemple de Requête

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 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={"name":"Customer Name"}
    • filter={"countryId":["us","ar"]}
    • filter={"planId":"ent-4sc-y"} - L’ID du forfait est construit comme suit : ess / pro / ent (pour Essentials, Professional ou Enterprise), suivi du nombre d’appels simultanés, puis d’un suffixe pour le cycle de facturation (m pour mensuel, y pour annuel). Par exemple : pro-8sc-m, ent-16sc-y, etc.
    • filter={"state":"Trialing"} – État : FreePlan, PartnerPlan, Trialing, TrialExpired, SubscriptionActive, SubscriptionPastDue, SubscriptionExpired, Closed, Suspended, Abandoned
    • filter={"createdAt_gte":"2026-01-01"} – Suffixes gte, gt, lte, lt
  • L’instruction sort peut spécifier n’importe lequel des champs suivants, en ordre croissant (ASC) ou décroissant (DESC) :
    • name
    • countryName
    • planName
    • createdAt

Exemple de Réponse

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

Créer un Client

POST /customers

Crée un nouveau client sous le partenaire ou distributeur authentifié.

Corps de la Requête

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

Exemple de Requête

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'

Les champs suivants sont facultatifs :

  • partnerId : il s’agit de l’ID du partenaire qui sera associé au nouveau client. Si non fourni, le système associera automatiquement le client au partenaire de l’utilisateur authentifié. Ceci est utile pour les distributeurs qui souhaitent créer des clients déjà associés à un partenaire spécifique.
  • partnerMemberIdForCustomerSupport : il s’agit de l’ID d’un membre du partenaire qui sera associé au nouveau client à des fins de support. Si fourni, ce membre pourra accéder au compte du client dans la Console SIP Caller pour fournir un support.

Exemple de Réponse

{ "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 Tous droits réservés
LinkedinYou Tube
Trustpilot