Spis Treści
    Przegląd
    🔐 Uwierzytelnianie
    Jak utworzyć Klucz API
    Przykładowy nagłówek
    🌐 Adres bazowy
    👤 Role i uprawnienia
    📌 Przegląd endpointów
    👥 Partnerzy
    Lista powiązanych partnerów
    Przykład żądania
    Przykład odpowiedzi
    Utwórz powiązanego partnera
    Treść żądania
    Przykład żądania
    Przykład odpowiedzi
    🧑‍💼 Klienci
    Lista klientów
    Przykład żądania
    Przykład odpowiedzi
    Utwórz klienta
    Treść żądania
    Przykład żądania
    Przykład odpowiedzi

Przegląd

Partners REST API pozwala systemom zewnętrznym programowo zarządzać partnerami i klientami w ramach ekosystemu SIP Caller.

To API jest przeznaczone dla Dystrybutorów i Partnerów, którzy muszą zautomatyzować zadania związane z wdrażaniem i zarządzaniem.

🔐 Uwierzytelnianie

Wszystkie żądania API wymagają uwierzytelnienia za pomocą Tokenu Bearer.

Jak utworzyć Klucz API

  1. Zaloguj się do Konsoli Partnerów SIP Caller
  2. Przejdź do Settings > API Keys
  3. Utwórz nowy klucz API
  4. Skopiuj wygenerowany token klucza API

Przykładowy nagłówek

Umieść token klucza API w nagłówku Authorization:

Authorization: Bearer YOUR_API_KEY_TOKEN

🌐 Adres bazowy

Każde żądanie musi być wysyłane na następujący adres bazowy:

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

👤 Role i uprawnienia

RolaUprawnienia
PartnerReaderMoże tylko pobierać istniejących partnerów i klientów
PartnerAdminMoże pobierać istniejących partnerów i klientów oraz tworzyć nowych

📌 Przegląd endpointów

MetodaEndpointOpisWymagana rola
GET/partnersLista powiązanych partnerówPartnerReader (Distributor)
POST/partnersUtwórz powiązanego partneraPartnerAdmin (Distributor)
GET/customersLista klientówPartnerReader (Partner / Distributor)
POST/customersUtwórz klientaPartnerAdmin (Partner / Distributor)

👥 Partnerzy

Lista powiązanych partnerów

GET /partners

Zwraca wszystkich partnerów powiązanych z uwierzytelnionym dystrybutorem.

Przykład żądania

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'

Żądanie pozwala określić filtry, sortowanie i zakres:

  • Instrukcja filtra może określać dowolne z następujących pól:
    • filter={"name":"Partner Name"}
    • filter={"countryIds_ovl":["us","ar"]}
    • filter={"code":"Partner Code"}
    • filter={"state":"Active"} – Stan: Active, SignedUp
    • filter={"level":["Basic","Certified","Premium"]} – Poziom: Basic, Certified, Premium
    • filter={"createdAt_gte":"2026-01-01"} – Sufiksy gte, gt, lte, lt
  • Instrukcja sortowania może określać dowolne z następujących pól, zarówno rosnąco (ASC), jak i malejąco (DESC):
    • name
    • countryName
    • code
    • state
    • level
    • createdAt

Przykład odpowiedzi

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

Utwórz powiązanego partnera

POST /partners

Tworzy nowego partnera w ramach uwierzytelnionego dystrybutora.

Treść żądania

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

Przykład żądania

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'

Przykład odpowiedzi

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

🧑‍💼 Klienci

Lista klientów

GET /customers

Zwraca wszystkich klientów powiązanych z uwierzytelnionym partnerem lub dystrybutorem.

Przykład żądania

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'

Żądanie pozwala określić filtry, sortowanie i zakres:

  • Instrukcja filtra może określać dowolne z następujących pól:
    • filter={"name":"Customer Name"}
    • filter={"countryId":["us","ar"]}
    • filter={"planId":"ent-4sc-y"} - ID planu jest zbudowane w następujący sposób: ess / pro / ent (dla Essentials, Professional lub Enterprise), następnie liczba jednoczesnych połączeń, a potem sufiks dla cyklu rozliczeniowego (m dla miesięcznego, y dla rocznego). Na przykład: pro-8sc-m, ent-16sc-y itd.
    • filter={"state":"Trialing"} – Stan: FreePlan, PartnerPlan, Trialing, TrialExpired, SubscriptionActive, SubscriptionPastDue, SubscriptionExpired, Closed, Suspended, Abandoned
    • filter={"createdAt_gte":"2026-01-01"} – Sufiksy gte, gt, lte, lt
  • Instrukcja sortowania może określać dowolne z następujących pól, zarówno rosnąco (ASC), jak i malejąco (DESC):
    • name
    • countryName
    • planName
    • createdAt

Przykład odpowiedzi

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

Utwórz klienta

POST /customers

Tworzy nowego klienta w ramach uwierzytelnionego partnera lub dystrybutora.

Treść żądania

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

Przykład żądania

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'

Następujące pola są opcjonalne:

  • partnerId: to jest ID partnera, który zostanie powiązany z nowym klientem. Jeśli nie zostanie podane, system automatycznie powiąże klienta z partnerem uwierzytelnionego użytkownika. Jest to przydatne dla dystrybutorów, którzy chcą tworzyć klientów już powiązanych z konkretnym partnerem.
  • partnerMemberIdForCustomerSupport: to jest ID członka partnera, który zostanie powiązany z nowym klientem w celach wsparcia. Jeśli zostanie podane, ten członek będzie mógł uzyskać dostęp do konta klienta w Konsoli SIP Caller, aby zapewnić wsparcie.

Przykład odpowiedzi

{ "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 Wszelkie prawa zastrzeżone
LinkedinYou Tube
Trustpilot