- Начало
- /
- Статия
Webex Calling партньорите с много наематели (MT) могат да създадат уеб кук, за да събират записи Webex Calling за всички ваши клиенти. Това дава възможност за ефективно съгласуване на фактуриране, анализ и отчитане, без да е необходимо да заявявате всеки клиент поотделно.
Общ преглед
Webhook Detailed Call Records предлага сигурно, мащабируемо и стабилно решение, управлявано от събития, а не от заявки. Този уеб кук осигурява по-голяма видимост в дей Webex Calling ностите на вашите клиенти, като поддържа случаи на използване от фактуриране до персонализирано отчитане.
Можете да използвате този уеб кук, за да събирате записи удобно за всички клиенти, управлявани чрез Partner Hub, без да задавате заявки за всеки клиент поотделно. Този webhook ви позволява да разработвате персонал изирани приложения за отчитане, фактуриране и анализ както за вътрешни бизнес изисквания, така и за услуги с добавена стойност.
За въведение в webhook и придружаващите го API, гледайте този Vidcast: Подробна API за история на повикванията за Webex Calling партнь ори.
Какво предоставя партньорският уеб кук
Webhook предоставя подробни записи в историята на обажданията на всеки 5 минути. Всеки полезен товар на webhook съдържа:
- Записи за обаждания, приключили между 10 минути и 5 минути преди текущото време.
- Всички късни записи, обработени от Webex Calling облака.
- Автоматично запълва записите на късните повиквания в следващите полезни товари на webhook, за да осигур и надеждна доставка.
За да покажете как записите на повикванията са включени във всеки полезен товар, разгледайте следния пример:
- Полезен товар, получен в 14:05 часа, съдържа обаждания, приключили между 13:55 и 14:00.
- Обажданията, завършващи между 14:00 и 14:05, са включени в полезния товар 14:10.
- Записите, завършени по-рано (например повикване, приключило в 14:04), но обработ ени късно от Webex Calling облака (например в 14:11), се включват в следващия планиран полезен товар ( например 14:15).
Уеб куките надеждно доставят записи. Въпреки това, може да получите дублиращи се записи в следващите полезни товари на webhook, когато системата възпроизвежда записи при определени условия. Вие носите отговорност за обработката на дедублирането на записи. За да идентифицирате дублиращи се записи, използвайте пол ето Re portID като основен ключ и полето Re portTime, за да определите кога повикването е завършено или обработено. Използвайте тези полета, за да актуализирате или вмъкнете записите във вътрешните си хранилища за данни.
Webhook в партньорския център
Предоставяйки уеб връзка, вие активирате платформата за анализ да изпраща записи на повиквания към вашия URL адрес за обратно повикване, когато те бъдат генерирани.
Webex Callingзаписите се доставят със същия формат като съществуващите API за подробни записи на повиквания. Можете да настроите уеб кука и да избирате между два вида емисии:
- Аналитика — включва всички записи на обаждания за всички организации на клиенти, с които партньорът има Webex Calling връзка. Това включва организации, в които:
- Партньорът управлява организацията на клиентите с ролята на Пълен администратор на партньора.
- Организацията на клиентите има активен Webex Calling абонамент в рамките на партньорската организация.
- Таксуване — включва записи на разговори за обаждания, извършени от потребители с Webex Calling лиценз, продаден и предоставен от партньора. Записите за повиквания за работни пространства са включени в тази емисия.
Достъп и поверителност на данните
Само притежаващият партньор може да получи достъп до записите с подробни обаждания (CDR) за фактуриране.
- Партньор (или подпартньор), който управлява лиценза, свързан с записа на повикването, става партньор притежаващ.
- Собствеността се определя от: Потребителски идентификатор > Идентификационен номер на лиценза > Идентификатор на абонамента
- Всеки CDR е достъпен за един партньор.
- Някои записи за обаждания не се приписват към партньор за фактуриране и не всички партньори, свързани с дадена организация, получават равен достъп до всички записи, тъй като тези записи могат да съдържат лична информация (ПИИ).
Настройте URL адрес за обратно извикване на webhook
Конфигурирайте уеб кука в партньорския център. Можете да настроите само един уеб кук за всяка партньорска организация.
Уверете се, че имате пълната администраторска роля на партньора с „Достъп е проверен в Контролен център (под Управ ление > ители изберете пълен администратор или пълен администратор на партньора и след това изберете Роли на админи стратора > Партньор).
Същите изисквания за достъп важат, когато използвате API за съгласуване на партньори и записи.
| 1 |
Влезте в партньорския център. |
| 2 |
Отидете в На кване
|
| 3 |
Въведете URL адрес, който да използвате под Webhook. URL адресът трябва да завършва с /webhook (например https://yourdomain.com/webhook).
|
| 4 |
Ако искате да удостоверявате полезните си товари на webhook с таен токен, можете да добавите такъв. За да намерите повече информация за уеб куките и тайните токени на Webex, вижте Webex за разработчици: Webhook. |
| 5 |
Изберете един от следните типове ресурси, които да използвате за уе б кука:
|
Партньорски API крайни точки
В допълнение към webhook, Webex Calling предоставя API крайни точки за поддържане на съгласуване на данни. Тези крайни точки ви позволяват да наваксате или да съгласувате хранилищата си за данни с всички липсващи записи, които слушателят ви на webhook може да не е получил. Двете крайни точки на API са API за съгласуване и API за записи.
Записите от тези API са достъпни за 30 дни. За да сте сигурни, че получавате всички очаквани записи, препоръчваме периодично да съгласувате записите си, например на всеки 12 или 24 часа.
Трябва да използвате токен за достъп до партньор, за да получите достъп до тези API. Удостоверяващият се потребител трябва да бъде пълен администратор на партньор с пълен достъп на организационно ниво на администратор и трябва да има активи Webex Callingран достъп до CDR API. Токенът OAuth трябва да включва обхвата. spark-admin:calling_cdr_read Ролите на администратора само за четене не са достатъчни за API за съгласуване на партньори и записи.
Използвайте analytics-callingкрайната точка за региона с Webex Calling данни на клиентската организация. Използвайте приложимия основен URL адрес както за API за съгласуване, така и за записи:
- САЩ и Канада:
https://analytics-calling.webexapis.com - Европа:
https://analytics-calling-eu.webexapis.com - Индия:
https://analytics-calling-in.webexapis.com - Австралия:
https://analytics-calling-au.webexapis.com
Диапазоните на прозорците на API са приложими и за двете крайни точки, за да се справят по-добре с натоварването на услугата.
- За времеви диапазони, по-големи от 48 часа, максималната разрешена продължителност на прозореца е 12 часа (наложено).
- За идентификатор на партньорска организация API са ограничени по скорост до една първоначална заявка за API в минута за обхват на токена. Ако се използва странизация, се допускат до 10 допълнителни пагинирани API заявки на минута на токен и те могат да бъдат направени веднага след първоначалната заявка.
Крайна точка на API за съгласуване
Крайната точка на API за съгласуване връща общия брой записи на повиквания, генерирани за всеки клиент, управляван от партньора в рамките на определения период от време. Можете да използвате тези суми, за да проверите локалното си хранилище и да идентифицирате всички липсващи или непоследователни записи за обаждания за конкретни клиенти.
Изискване за достъп: Удостоверяващият се потребител трябва да бъде партньорски администратор с пълен достъп на ниво администратор и трябва да има разреш Webex Callingен достъп до CDR API. Токенът за достъп трябва да включва spark-admin:calling_cdr_readобхвата.
Ако управлявате повече от 200 клиентски организации, API пагинира резултатите, за да подобри четливостта.
URL адресът на крайната точка на API за съгласуване използва следния формат:
https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z
Параметри на API
Можете да използвате API за извличане на записи на повиквания от последните 30 дни. Избраният от Вас времеви прозорец трябва да започне поне 5 минути преди текущото UTC време и не може да надвишава 12 часа между началното и крайното време в едно API обаждане.
Параметрите на API са:
-
StartTime (задължително, низ) —Начална дата и час (UTC) за първия запис, който искате да съберете. Уверете се, че:
- Форматирате времето като
YYYY-MM-DDTHH:MM:SS.mmmZ. Например,2025-08-15T06:00:00.000Z.
- Началната дата и час не трябва да са по-стари от 30 дни от текущото UTC време.
- Прозорецът между
startTimeи неendTimeможе да надвишава 12 часа.
- Форматирате времето като
-
EndTime (задължително, низ) —Крайна дата и час (UTC) за записите, които искате да съберете. Записите се основават на времето за отчитане, което е, когато повикването е извършено. Уверете се, че:
- Форматирате времето като
YYYY-MM-DDTHH:MM:SS.mmmZ. Например,2025-08-15T18:00:00.000Z. - Крайната дата и час трябва да са 5 минути преди текущото UTC време и не по-стари от 30 дни.
- Крайната дата и час трябва да са по-големи от
startTime. - Прозорецът между
startTimeи неendTimeможе да надвишава 12 часа.
- Форматирате времето като
Пример за JSON отговор на крайната точка на API за съгласуване:
{
"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
}
]
}
Заглавките за отговор на API показват общия брой върнати организации и дали са налични допълнителни страници. Проверете следните параметри на заглавката, за да сте сигурни, че сте запитвали всички страници:
- брой страници: Общ брой страници (например 2)
- общ брой организации: Общ брой организации, включени в отговора (например 283)
- текуща страница: Текущият номер на страницата (например 1)
Например, ако заглавките показват num-pages=2, total-orgs=283 и current-page=1, разглеждате първата страница от отговор от две страници, съдържащ общо 283 организации. За да получите достъп до следващата страница, добавете параметъра page=2 към заявката си GET, както е показано по-долу:
https://analytics-calling.webexapis.com/v1/partners/cdrcountbyorg?endTime=YYYY-MM-DDTHH:MM:SS.000Z&startTime=YYYY-MM-DDTHH:MM:SS.000Z&page=2
Записва API крайна точка
Крайната точка на API за записи се използва за търсене на липсващи записи за повиквания за конкретни организации, където несъответствия или липсващи данни са идентифицирани с помощта на API за съгласуване.
Препоръчителен поток: Обадете се /v1/partners/cdrcountbyorgпърво. След това използвайте точното orgIdвърнато, cdr_counts[].orgIdкогато се обадите /v1/partners/cdrsbyorg.
API за записи връща записи за повиквания във формат JSON, идентичен с формата, описан в API за подробна история на повикванията. Върнатият полезен товар съдържа идентични полета с върнатия полезен товар с подробна история на обажданията. За повече информация относно полетата и техните стойности вижте Подробен отч Webex Callingет за историята на обажданията.
API предоставя записи за повиквания, които приключват 5 минути преди текущото време. За да сте сигурни, че всички записи на повиквания са достъпни, препоръчваме да зададете заявка към API един час след предпочитания от вас времеви прозорец.
URL адресът на крайната точка на API Records използва следния формат:
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
Параметри на API
-
orgId(задължително, низ) — Идентификатор на организацията на клиента, за който искате да извлечете записи. Името на параметъра е чувствително с малки и големи букви. Можете да получите идентификатори на организацията от полето за отговор на API за съгласуванеcdr_counts[].orgId. -
StartTime (задължително, низ) —Начална дата и час (UTC) за първия запис, който искате да съберете. Уверете се, че:
- Форматирате времето като
YYYY-MM-DDTHH:MM:SS.mmmZ. Например,2025-08-15T06:00:00.000Z. - Началната дата и час не трябва да са по-стари от 30 дни от текущото UTC време.
- Интервалът между
startTimeи неendTimeтрябва да надвишава 12 часа в една заявка за API.
- Форматирате времето като
-
EndTime (задължително, низ) —Крайната дата и час (UTC) за последния запис, който искате да съберете. Записите се основават на времето за отчитане, което е, когато повикването е извършено. Уверете се, че:
- Форматирате времето като
YYYY-MM-DDTHH:MM:SS.mmmZ. Например,2025-08-15T18:00:00.000Z. - Крайната дата и час трябва да са най-малко 5 минути преди текущото UTC време и не по-стари от 30 дни.
- Крайната дата и час трябва да са по-големи от
startTime. - Интервалът между
startTimeи неendTimeтрябва да надвишава 12 часа в една заявка за API.
- Форматирате времето като
-
max (по избор, брой) — Ограничава максималния брой записи на страница в отговора. Уверете се, че:
- Диапазонът е от 500 до 5000. Стойността по подразбиране е 5000. Например,
max=1000. - Ако API има повече записи за връщане от посочената максимална стойност, тогава отговорът се пагинира.
- Ако е посочена стойност под 500, тя автоматично се регулира до 500. Ако е посочена стойност над 5000, тя се регулира до 5000.
- Диапазонът е от 500 до 5000. Стойността по подразбиране е 5000. Например,
Странизация
За да определите дали отговорите на API са страницирани, проверете заглавките на отговора за заглавка на връзката. Ако в заглавката на връзката присъства връзка, извлечете я и използвайте startTimeForNextFetchстойността, за да поискате следващия набор от записи. next Ако няма следваща връзка, тогава се събират всички отчети за избрания времеви диапазон.
Заявките за API за следващите страници могат да бъдат направени незабавно, но трябва да бъдат ограничени до максимум 10 страницирани заявки в минута за обхват на токен.
Използвайте idempotent обработка и дедублиране, когато извличате записи, включително в страницирани отговори или многократни прозорци за съгласуване. Използвайте reportIdкато основен ключ и reportTimeза определяне на последния обработен запис.
Например, ако първоначалната заявка за API е:
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
тогава заглавката на връзката в отговора е:
<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"
Странирането използва само заглавката на rel="next"връзката. Ако отговорът включва rel="next"връзка, използвайте този URL адрес, за да изтеглите следващата страница от записи. Ако отговорът не включва rel="next"връзка, сте извлечили всички налични записи за избрания времеви диапазон.
Странирането на този API следва стандарта RFC5988 (уеб свързване). За повече информация вижте Основи на REST API.
Разбиране на кодовете за реакция на крайната точка на API
Този раздел предоставя преглед на често срещаните кодове за отговор, които могат да се срещнат при работа с крайната точка на API за съгласуване и крайната точка на API Records. Тези крайни точки играят решаваща роля при синхронизирането, валидирането и отчитането на данни. Разбирането на тези кодове за отговор е от съществено значение за ефективно отстраняване на неизправности и за поддържане на надеждни, стабилни интеграции.
|
Код за отговор |
Описание на кода на отговора |
|---|---|
|
200 |
OK |
|
400 |
Лоша заявка: Иск ането е невалидно или не може да бъде връчено по друг начин. Съпътстващо съобщение за грешка ще обясни допълнително. |
|
401 |
Неотор изирано: идентификационните данни липсват или са неправилни. |
|
403 |
Забранено: Искането се разбира, но е отказано или достъпът не е разрешен. |
|
404 |
Не е намерен: Исканият URI е невалиден или исканият ресурс, като потребител, не съществува. Също така се връща, когато исканият формат не се поддържа от искания метод. |
|
405 |
Метод не е разреш ен: Заявката е направена към ресурс, използвайки метод за HTTP заявка, който не се поддържа. |
|
409 |
Конфликт: Искането не може да бъде обработено, защото противоречи на някакво установено правило на системата. Например, човек не може да бъде добавен в стая повече от веднъж. |
|
410 |
Изче знал: Исканият ресурс вече не е наличен. |
|
415 |
Неподдържан тип носител: Заявката е направена към ресурс, без да се посочва тип носител или е използван тип носител, който не се поддържа. |
|
423 |
Зак лючен: Исканият ресурс е временно недостъпен. Може да има заглавка Retry-After, която определя колко секунди трябва да изчакате, преди да опитате отново заявката. |
|
428 |
Задължително условие: Файловете не могат да бъдат сканирани за злонамерен софтуер и трябва да бъдат изтеглени принудително. |
|
429 |
Твърде много заяв ки: Твърде много заявки са изпратени за определен период от време и искането е ограничено. Трябва да има заглавка Retry-After, която посочва колко секунди трябва да изчакате, преди да може да бъде направена успешна заявка. |
|
451 |
По подразбиране заявките за |
|
500 |
Вътрешна грешка в сървър а: Нещо се обърка на сървъра. Ако проблемът продължава, не се колебайте да се свържете с [екип за поддръжка на разработчици на Webex] (/explore/support). |
|
502 |
Лош шлю з: Сървърът получи невалиден отговор от сървър нагоре по веригата по време на обработката на заявката. Опитайте отново по-късно. |
|
503 |
Услугата е недост ъпна: Сървърът е претоварен с заявки. Опитайте отново по-късно. |
|
504 |
Време за изтичане на шлю за: Сървърът нагоре по веригата не успя да отговори навреме. Ако вашата заявка използва максимален параметър, моля, опитайте се да го намалите. |
Партньорски отчети/шаблони API
Можете да генерирате и изтегляте отчети, налични в партньорския център, като използвате API за отчети на партньорите. За повече информация вижте отчета /шабл оните на партньора.
Партньорите също могат да имат достъп и да изтеглят множество отчети директно от Partner Hub. За повече информация вижте Отчетите на партньорския център.
История на редакциите
История на ревизиите на документа
|
Дата на преразглеждане |
Направихме следните промени в статията |
|---|---|
|
13/08/26 |
|
|
2/04/2026 |
|