W tym artykule
Przegląd
Konfigurowanie adresu URL wywołania zwrotnego webhook
dropdown icon
Punkty końcowe API dla partnerów
    Punkt końcowy interfejsu API uzgodnienia
    Punkt końcowy API rekordów
Zrozumienie kodów odpowiedzi punktów końcowych API
API raportów/szablonów partnerów
Historia wersji
Szczegółowy webhook rekordów połączeń dla Webex Calling w Partner Hub
list-menuW tym artykule
list-menuOpinia?

Webex Calling Partnerzy z wieloma dzierżawcami (MT) mogą skonfigurować webhook, aby gromadzić rekordy Webex Calling dla wszystkich Twoich klientów. Umożliwia to efektywne uzgadnianie rozliczeń, analizę i raportowanie bez konieczności indywidualnego zapytania każdego klienta.

Przegląd

Webhook Detailed Call Records oferuje bezpieczne, skalowalne i solidne rozwiązanie oparte na zdarzeniach, a nie żądaniach. Ten internetowy hook zapewnia lepszy wgląd w Webex Calling działania klientów, wspierając przypadki użycia, od rozliczeń po raportowanie dostosowane do indywidualnych potrzeb.

Możesz użyć tego haczyka internetowego do wygodnego gromadzenia rekordów dla wszystkich klientów zarządzanych za pośrednictwem Partner Hub bez indywidualnego zapytania każdego klienta. Ten webhook umożliwia tworzenie niestandardowych aplikacji do raportowania, rozliczeń i analitycznych zarówno dla wewnętrznych wymagań biznesowych, jak i usług o wartości dodanej.

Aby zapoznać się z wprowadzeniem do webhook i towarzyszących mu interfejsów API, obejrzyj ten Vidcast: Webex Calling Partner Detailed Call History API.

Co zapewnia Partner Webhook

Webhook dostarcza szczegółowe zapisy historii połączeń co 5 minut. Każdy ładunek webhook zawiera:

  • Rekordy połączeń, które zakończyły się między 10 minutami a 5 minutami przed bieżącym czasem.
  • Wszelkie późne rekordy przetwarzane przez ch Webex Calling murę.
  • Automatycznie zasypuje rekordy opóźnionych połączeń w kolejnych ładunkach sieciowych, aby zapewnić niezawodną dostawę.

Aby pokazać, w jaki sposób rekordy połączeń są zawarte w każdym ładunku użytkowym, rozważ następujący przykład:

  • Ładunek otrzymany o 14:05 zawiera połączenia, które zakończyły się między 13:55 a 14:00.
  • Połączenia kończące się między 14:00 a 14:05 są wliczone w ładunek 14:10.
  • Rekordy ukończone wcześniej (na przykład połączenie, które zakończyło się o 14:04), ale przetwarzane późno przez Webex Calling chmurę (na przykład o 14:11), są uwzględnione w następnym zaplanowanym ładunku (na przykład 14:15).

Webhooki niezawodnie dostarczają rekordy. Możesz jednak otrzymywać zduplikowane rekordy w kolejnych ładunkach webhook, gdy system odtwarza rekordy pod pewnymi warunkami. Jesteś odpowiedzialny za obsługę usuwania duplikacji rekordów. Aby zidentyfikować zduplikowane rekordy, użyj pola ReportID jako klucza podstawowego i pola ReportTime, aby określić, kiedy wywołanie zostało zakończone lub przetworzone. Użyj tych pól, aby zaktualizować lub wstawiać rekordy do wewnętrznych magazynów danych.

Webhook w centrum partnerskim

Udostępniając haczyk internetowy, umożliwiasz platformie analitycznej wysyłanie rekordów połączeń na adres URL wywołań zwrotnych za każdym razem, gdy są one generowane.

Webex Callingrekordy są dostarczane w tym samym formacie, co istniejące interfejsy API szczegółowych rekordów połączeń. Możesz skonfigurować webhook i wybrać jeden z dwóch typów kanałów:

  • Analityka — zawiera wszystkie rekordy połączeń dla wszystkich organizacji klientów, z którymi partner ma relacje. Webex Calling Dotyczy to organizacji, w których:
    • Partner zarządza organizacją klienta z rolą Partnera Pełnego Administratora.
    • Organizacja klienta ma aktywną Webex Calling subskrypcję w organizacji partnerskiej.
  • Rozliczanie — zawiera zapisy połączeń dla połączeń wykonywanych przez użytkowników posiadających Webex Calling licencję sprzedaną i udzieloną przez partnera. Rekordy połączeń dla Obszarów roboczych są zawarte w tym kanale.

Dostęp i prywatność danych

Tylko partner będący właścicielem może uzyskać dostęp do rekordów szczegółów połączeń (CDR) w celu rozliczenia.

  • Partner (lub subpartner), który zarządza licencją związaną z zapisem połączenia, staje się partnerem będącym właścicielem.
  • Własność określa: Identyfikator użytkownika > Identyfikator licencji > Identyfikator subskrypcji > Identyfik ator partnera.
  • Każdy CDR jest dostępny dla jednego partnera.
  • Niektóre rekordy połączeń nie są przypisywane do partnera rozliczeniowego i nie wszyscy partnerzy powiązani z organizacją otrzymują równy dostęp do wszystkich rekordów, ponieważ rekordy te mogą zawierać dane osobowe (PII).

Konfigurowanie adresu URL wywołania zwrotnego webhook

Skonfiguruj haczyk sieciowy w centrum partnerskim. Możesz skonfigurować tylko jeden webhook na organizację partnerską.

Upewnij się, że pełna rola administratora Partnera z funkcją „Dostęp na pełnym poziomie administratora organizacji ” oraz dostęp do interfejsu API Webex Calling CDR zaznaczony w Centrum sterowania (w obszarze Zarządz anie > Uży tkownicy wybierz pełnego administratora lub pełnego administratora partnera, a następnie wybierz pozycję Role administratora > Partner).

Te same wymagania dotyczące dostępu obowiązują podczas korzystania z interfejsów API uzgadniania i rekordów partnerów.

Screenshot showing administrator roles settings with Partner admin and Partner full admin selected, along with Webex Calling CDR API Access checked under Functional settings.

1

Zaloguj się do Partner Hub.

2

Przejdź do Ustawienia organizacji > Rek ordy szczegółów połączeń.

Screenshot of Organization Settings for Call Detail Records, displaying fields for Webhook URL, Secret token, and Resource Type with Analytics selected.
3

Wprowadź adres URL do użycia w sekcji Webhook.

Adres URL musi kończyć się na /webhook (na przykład https://yourdomain.com/webhook).
4

Jeśli chcesz uwierzytelnić swoje ładunki webhook za pomocą tajnego tokena, możesz go dodać. Aby uzyskać więcej informacji na temat haczyków internetowych i tajnych tokenów Webex, zobacz Webex dla programistów: Webhook.

5

Wybierz jeden z następujących typów zasobu, który ma być używany dla webhook:

  • Anality ka — zawiera wszystkie rekordy połączeń dla wszystkich organizacji klientów, z którymi partner ma Webex Calling relacje.
  • Rozlicz enia — zawiera zapisy połączeń dla użytkowników, którym partner sprzedał Webex Calling licencje. Rekordy połączeń dla Obszarów roboczych są zawarte w tym kanale.

Punkty końcowe API dla partnerów

Oprócz webhook, Webex Calling zapewnia punkty końcowe API do obsługi uzgadniania danych. Te punkty końcowe umożliwiają nadrobienie zaległości lub pogodzenie magazynów danych z brakującymi rekordami, których słuchacz webhook mógł nie otrzymać. Dwa punkty końcowe API to interfejs API uz godnienia i interfej s API rekordów.

Rekordy z tych interfejsów API są dostępne przez 30 dni. Aby mieć pewność, że otrzymasz wszystkie oczekiwane rekordy, zalecamy okresowe uzgadnianie magazynów płyt, na przykład co 12 lub 24 godziny.

Aby uzyskać dostęp do tych interfejsów API, musisz użyć tokena dostępu partnera. Użytkownik uwierzytelniający musi być pełnym administratorem partnera z pełnym dostępem organizacji na poziomie administracyjnym i musi mieć włączony dostęp do interfejsu API Webex Calling CDR. Token OAuth musi zawierać zakres. spark-admin:calling_cdr_read Role administratora tylko do odczytu nie są wystarczające dla interfejsów API uzgadniania partnerów i rekordów.

Użyj analytics-callingpunktu końcowego dla regionu Webex Calling danych organizacji klienta. Użyj odpowiedniego bazowego adresu URL zarówno dla interfejsów API uzgadniania, jak i rekordów:

  • Stany Zjednoczone i Kanada: https://analytics-calling.webexapis.com
  • Europa: https://analytics-calling-eu.webexapis.com
  • Indie: https://analytics-calling-in.webexapis.com
  • Australia: https://analytics-calling-au.webexapis.com

Zakresy okien API mają zastosowanie do obu punktów końcowych, aby lepiej radzić sobie z obciążeniem usług.

  • W przypadku przedziałów czasowych większych niż 48 godzin maksymalny dozwolony czas trwania okna wynosi 12 godzin (wymuszony).
  • W przypadku identyfikatora organizacji partnerskiej interfejsy API są ograniczone do jednego początkowego żądania interfejsu API na minutę, na każdy zakres tokena. Jeśli używana jest paginacja, dozwolone jest maksymalnie 10 dodatkowych paginowanych żądań interfejsu API na minutę, na token, które można wykonać natychmiast po początkowym żądaniu.

Punkt końcowy interfejsu API uzgodnienia

Punkt końcowy interfejsu API uzgodnienia zwraca całkowitą liczbę rekordów połączeń wygenerowanych dla każdego klienta zarządzanego przez partnera w określonym czasie. Możesz użyć tych sumy do weryfikacji lokalnej pamięci masowej i identyfikacji brakujących lub niespójnych rekordów połączeń dla określonych klientów.

Wymóg dostępu: Użytkownik uwierzytelniający musi być Administratorem Partnera z pełnym dostępem na poziomie administratora i musi mieć włączony dostęp do interfejsu API Webex Calling CDR. Token dostępu musi zawierać spark-admin:calling_cdr_readzakres.

Jeśli zarządzasz ponad 200 organizacjami klientów, interfejs API wyświetla wyniki stron w celu poprawy czytelności.

Adres URL punktu końcowego interfejsu API uzgodnienia używa następującego formatu:

https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z

Parametry API

Możesz użyć interfejsu API do pobierania rekordów połączeń z ostatnich 30 dni. Wybrane okno czasowe musi rozpocząć się co najmniej 5 minut przed bieżącą godziną UTC i nie może przekraczać 12 godzin między godzinami rozpoczęcia i zakończenia w jednym wywołaniu API.

Parametry API to:

  • StartTime (wymagane, ciąg znaków) —Data i godzina rozpoczęcia (UTC) pierwszego rekordu, który chcesz zebrać. Upewnij się, że:
    • Formatujesz czas jako YYYY-MM-DDTHH:MM:SS.mmmZ. Na przykład, 2025-08-15T06:00:00.000Z.
    • Data i godzina rozpoczęcia nie mogą być starsze niż 30 dni od bieżącego czasu UTC.
    • Okno między startTimei nie endTimemoże przekraczać 12 godzin.
  • EndTime (wymagane, ciąg znaków) — data i godzina zakończenia (UTC) rekordów, które chcesz zebrać. Rekordy są oparte na czasie raportu, czyli w momencie zakończenia połączenia. Upewnij się, że:
    • Formatujesz czas jako YYYY-MM-DDTHH:MM:SS.mmmZ. Na przykład, 2025-08-15T18:00:00.000Z.
    • Data i godzina zakończenia muszą być 5 minuty przed bieżącym czasem UTC i nie starsze niż 30 dni.
    • Data i godzina zakończenia muszą być większe niż startTime.
    • Okno między startTimea nie endTimemoże przekraczać 12 godzin.

Przykład odpowiedzi JSON punktu końcowego interfejsu API uzgodnienia:


          {
          "cdr_counts": [
          {
          "orgId": "zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
          "count": 3009
          },
          {
          "orgId": "yyyyyyyy-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
          "count": 129
          },
          {
          "orgId": "xxxxxxxx-yyyy-zzzz-xxxx-yyyyyyyyyyyy",
          "count": 27895
          }
          ]
          }          
        

Nagłówki odpowiedzi API wskazują całkowitą liczbę zwróconych organizacji i czy dostępne są dodatkowe strony. Sprawdź następujące parametry nagłówka, aby upewnić się, że zapytałeś wszystkie strony:

  • num-pages: Całkowita liczba stron (na przykład 2)
  • totalne organy: Łączna liczba organizacji uwzględnionych w odpowiedzi (na przykład 283)
  • bieżąca strona: Bieżący numer strony (na przykład 1)

Na przykład, jeśli nagłówki pokazują num-pages=2, total-orgs=283 i current-page=1, wyświetlana jest pierwsza strona dwustronicowej odpowiedzi zawierającej łącznie 283 organizacje. Aby uzyskać dostęp do następnej strony, dodaj parametr page=2 do żądania GET, jak pokazano poniżej:

https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z&page=2

Punkt końcowy API rekordów

Punkt końcowy interfejsu API rekordów służy do wyszukiwania brakujących rekordów połączeń dla określonych organizacji, w których rozbieżności lub brakujące dane zostały zidentyfikowane za pomocą interfejsu API uzgodnienia.

Zalecany przepływ: Zadzwo /v1/partners/cdrcountbyorgń najpierw. Następnie użyj dokładnego zwro orgIdtu cdr_counts[].orgIdpodczas dzwonienia /v1/partners/cdrsbyorg.

Interfejs API rekordów zwraca rekordy połączeń w formacie JSON, identycznym z formatem opisanym w interfejsie API Szczegółowa historia połączeń. Zwrócony ładunek zawiera identyczne pola co zwracany ładunek szczegółowy historii połączeń. Aby uzyskać więcej informacji na temat pól i ich wartości, zobacz Webex CallingSzczegółowy raport historii połączeń.

Interfejs API udostępnia rekordy połączeń, które zakończyły się 5 minut przed bieżącym czasem. Aby upewnić się, że wszystkie rekordy połączeń są dostępne, zalecamy zapytanie do interfejsu API godzinę po preferowanym oknie czasowym.

Adres URL punktu końcowego API rekordów używa następującego formatu:

https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z

Parametry API

  • orgId(wymagane, ciąg znaków) — identyfikator organizacji klienta, dla którego chcesz pobrać rekordy. Nazwa parametru jest rozróżniana wielkość liter. Identyfikatory organizacji można uzyskać z pola odpowiedzi interfejsu API uzgodnienia cdr_counts[].orgId.
  • StartTime (wymagane, ciąg znaków) —Data i godzina rozpoczęcia (UTC) pierwszego rekordu, który chcesz zebrać. Upewnij się, że:
    • Formatujesz czas jako YYYY-MM-DDTHH:MM:SS.mmmZ. Na przykład, 2025-08-15T06:00:00.000Z.
    • Data i godzina rozpoczęcia nie mogą być starsze niż 30 dni od bieżącego czasu UTC.
    • Przerwa między startTimei nie endTimemoże przekraczać 12 godzin w pojedynczym żądaniu API.
  • EndTime (wymagane, ciąg znaków) — data i godzina zakończenia (UTC) dla ostatniego rekordu, który chcesz zebrać. Rekordy są oparte na czasie raportu, czyli w momencie zakończenia połączenia. Upewnij się, że:
    • Formatujesz czas jako YYYY-MM-DDTHH:MM:SS.mmmZ. Na przykład, 2025-08-15T18:00:00.000Z.
    • Data i godzina zakończenia muszą być co najmniej 5 minuty przed bieżącą godziną UTC i nie starsze niż 30 dni.
    • Data i godzina zakończenia muszą być większe niż startTime.
    • Przerwa między startTimei nie endTimemoże przekraczać 12 godzin w pojedynczym żądaniu API.
  • max (opcjonalnie, liczba) — ogranicza maksymalną liczbę rekordów na stronę w odpowiedzi. Upewnij się, że:
    • Zasięg wynosi od 500 do 5000. Wartość domyślna to 5000. Na przykład, max=1000.
    • Jeśli interfejs API ma więcej rekordów do zwrócenia niż podana wartość maksymalna, odpowiedź jest stronicowana.
    • Jeśli podana jest wartość poniżej 500, jest ona automatycznie dostosowywana do 500. Jeśli podana jest wartość powyżej 5000, jest ona dostosowywana do 5000.

Paginacja

Aby określić, czy odpowiedzi API są stronicowane, sprawdź nagłówki odpowiedzi pod kątem nagłówka łącza. Jeśli łącze nextznajduje się w nagłówku Link, wyodrębnij je i użyj startTimeForNextFetchwartości, aby zażądać następnego zestawu rekordów. Jeśli nie ma następnego łącza, zbierane są wszystkie raporty dla wybranego zakresu czasowego.

Żądania API dla kolejnych stron mogą być wysyłane natychmiast, ale muszą być ograniczone do maksymalnie 10 żądań stronicowanych na minutę, na każdy zakres tokena.

Podczas pobierania rekordów używaj przetwarzania i usuwania duplikacji idempotent, w tym między stronicowanymi odpowiedziami lub oknami powtarzającego się uzgadniania. Użyj reportIdjako klucza podstawowego i reportTimedo określenia najnowszego przetworzonego rekordu.

Na przykład, jeśli początkowe żądanie API to:

https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=2025-08-15T18:00:00.000Z&startTime=2025-08-15T06:00:00.000Z&max=5000

wtedy nagłówek Link w odpowiedzi brzmi:

<https://analytics-calling.webexapis.com/v1/partners/cdrsbyorg?orgId=zzzzzzzz-yyyy-zzzz-xxxx-yyyyyyyyyyyy&endTime=2025-08-15T18:00:00.000Z&startTime=2025-08-15T06:00:00.000Z&startTimeForNextFetch=2025-08-15T09:30:00.000Z&totalCount=20000&max=5000>; rel="next"

Paginacja używa tylko nagłówka rel="next"Link. Jeśli odpowiedź zawiera rel="next"link, użyj tego adresu URL, aby pobrać następną stronę rekordów. Jeśli odpowiedź nie zawiera łącza, rel="next"pobrano wszystkie dostępne rekordy dla wybranego zakresu czasowego.

Paginacja dla tego interfejsu API jest zgodna ze standardem RFC5988 (Web Links). Aby uzyskać więcej informacji, zobacz Podstawy interfejsu API REST.

Zrozumienie kodów odpowiedzi punktów końcowych API

Ta sekcja zawiera przegląd typowych kodów odpowiedzi, które mogą wystąpić podczas pracy z punktem końcowym interfejsu API uzgodnienia i punktem końco wym API rekordów. Te punkty końcowe odgrywają kluczową rolę w synchronizacji danych, walidacji i raportowaniu. Zrozumienie tych kodów odpowiedzi jest niezbędne do skutecznego rozwiązywania problemów i utrzymania niezawodnych, stabilnych integracji.

Tabela 1. Kody odpowiedzi API Endpoint

Kod odpowiedzi

Opis kodu odpowiedzi

200

OK

400

Złe żądanie: Żądanie było nieważne lub nie można go doręczać w inny sposób. Towarzyszący komunikat o błędzie wyjaśni dalej.

401

Nieautoryz owane: brakowało poświadczeń uwierzytelniania lub były nieprawidłowe.

403

Zabronione: Żądanie jest zrozumiałe, ale zostało odrzucone lub dostęp jest niedozwolony.

404

Nie znaleziono: żądany identyfikator URI jest nieprawidłowy lub żądany zasób, taki jak użytkownik, nie istnieje. Zwraca się również, gdy żądany format nie jest obsługiwany przez żądaną metodę.

405

Metoda niedozwol ona: Żądanie zostało wysłane do zasobu przy użyciu metody żądania HTTP, która nie jest obsługiwana.

409

Konflikt: Żądanie nie mogło zostać przetworzone, ponieważ jest sprzeczne z pewną ustaloną regułą systemu. Na przykład osoba nie może być dodawana do pokoju więcej niż raz.

410

Przeminęło: Żądany zasób nie jest już dostępny.

415

Nieobsługiwany typ noś nika: żądanie zostało wysłane do zasobu bez określania typu nośnika lub użyto typu nośnika, który nie jest obsługiwany.

423

Zablokowany: żądany zasób jest tymczasowo niedostępny. Może być obecny nagłówek Retry-After, który określa, ile sekund należy poczekać przed ponowną próbą wykonania żądania.

428

Wymagany warunek wstępny: Plików nie można przeskanować pod kątem złośliwego oprogramowania i należy je wymusić pobranie.

429

Zbyt wiele żą dań: Zbyt wiele żądań zostało wysłanych w określonym czasie, a żądanie zostało ograniczone. Powinien być obecny nagłówek Retry-After, który określa, ile sekund należy poczekać, zanim będzie można złożyć pomyślne żądanie.

451

Domyślnie żądania analytics-calling.webexapis.comsą kierowane do najbliższych serwerów regionalnych. Jeśli te serwery hostują dane organizacji, interfejs API zwraca dane. W przeciwnym razie interfejs API zwraca protokół HTTP 451, a ciało odpowiedzi identyfikuje punkt końcowy, w którym można pobrać dane organizacji.

500

Wewnętrzny błąd serwera: Coś poszło nie tak na serwerze. Jeśli problem będzie się powtarzał, skontaktuj się z zespołem pomocy [Webex Developer Support] (/explore/support).

502

Nieprawidłowa br ama: Serwer otrzymał nieprawidłową odpowiedź od serwera wyższego szczebla podczas przetwarzania żądania. Spróbuj ponownie później.

503

Usługa niedostępna: Serwer jest przeciążony żądaniami. Spróbuj ponownie później.

504

Limit czasu br amy: serwer upstream nie zareagował na czas. Jeśli zapytanie używa parametru max, spróbuj go zmniejszyć.

Historia wersji

Historia rewizji dokumentu

Data rewizji

Wprowadziliśmy następujące zmiany w artykule

13/08/26

  • Wymóg roli punktu końcowego interfejsu API uzgodnienia: Użytkownik uwierzytelniający musi być administratorem partnera z pełnym dostępem na poziomie administratora. Ponadto dostęp do interfejsu API Webex Calling CDR musi być włączony.

  • Kody odpowiedzi punktów końcowych rozumieć API są aktualizowane w celu uwzględnienia kodu błędu 451.

  • Dodano regionalne punkty końcowe dla regionu Webex Calling danych organizacji klienta.

2/04/2026

  • Utworzono tabelę historii zmian, która śledzi wszystkie zmiany wprowadzone w czasie.

  • Zaktualizowano sekcje Punkt końcowy interfejsu API uzgodnienia i punktów końcowych API rekordów, aby uwzględnić tabelę lub wartości kodu błędu.

Czy ten artykuł był pomocny?
Czy ten artykuł był pomocny?