В этой статье
Обзор
Настройте URL-адрес обратного вызова Webhook
dropdown icon
Конечные точки API партнеров
    Конечная точка API сверки
    Записывает конечную точку API
Изучите коды ответов конечных точек API
API отчетов и шаблонов партнеров
История редакций
Веб-хук с подробными записями звонков для Webex Calling в Центре партнеров
list-menuВ этой статье
list-menuОтправить обратную связь?

Многопользовательские партнеры Webex Calling (MT) могут настроить веб-хук для сбора записей Webex Calling для всех ваших клиентов. Это обеспечивает эффективную сверку счетов, аналитику и отчетность без необходимости запрашивать каждого клиента по отдельности.

Обзор

Веб-хук Detailed Call Records предлагает безопасное, масштабируемое и надежное решение, основанное на событиях, а не на запросах. Этот веб-хук позволяет лучше отслеживать Webex Calling действия ваших клиентов и поддерживает различные варианты использования: от выставления счетов до составления индивидуальных отчетов.

Вы можете использовать этот веб-хук для удобного сбора данных по всем клиентам, управление которыми осуществляется через Partner Hub, без запроса каждого клиента по отдельности. Этот веб-хук позволяет разрабатывать настраиваемые приложения для составления отчетов, выставления счетов и аналитики, отвечающие как внутренним бизнес-требованиям , так и предоставляющим дополнительные услуги.

Ознакомиться с веб-хуком и сопутствующими API можно в этом API-интерфейсе Vidcast: Webex Calling Partner Detailed Call History.

Что дает партнерский веб-хук

Веб-хук предоставляет подробную историю звонков каждые 5 минут. Каждый полезный материал для вебхука содержит :

  • Записи звонков, которые закончились за 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. Вы несете ответственность за дедупликацию записей. Чтобы идентифицировать дубликаты записей, используйте поле ReportID в качестве первичного ключа и поле ReportTime , чтобы определить, когда звонок был завершен или обработан. Используйте эти поля для обновления или вставки записей во внутренние хранилища данных.

Веб-хук в Центре партнеров

Предоставляя веб-хук, вы позволяете аналитической платформе отправлять записи звонков на ваш URL-адрес обратного вызова при каждом их создании.

Webex Callingзаписи доставляются в том же формате, что и существующие API-интерфейсы подробных записей вызовов. Можно настроить веб-хук и выбрать один из двух типов лент:

  • Аналитика — включает все записи звонков по всем организациям-клиентам, с которыми сотрудничает партнер. Webex Calling Сюда входят организации, в которых:
    • Партнер управляет организацией клиентов, исполняя роль полноправного администратора партнера.
    • У организации-заказчика есть активная Webex Calling подписка в партнерской организации.
  • Выставление счетов — включает записи звонков пользователей с Webex Calling лицензией, проданной и предоставленной партнером. Записи звонков для Workspaces включены в эту ленту.

Доступ и конфиденциальность данных

Только партнер-владелец может получить доступ к подробным записям звонков (CDR) для выставления счетов.

  • Партнер (или субпартнер), управляющий лицензией, связанной с записью телефонных разговоров, становится партнером-владельцем.
  • Право собственности определяется следующим образом: идентификатор пользователя > идентификатор лицензии > идентификатор подписки > идентификатор партнера.
  • Каждый CDR доступен только одному партнеру.
  • Некоторые записи о звонках не связаны с партнером по выставлению счетов, и не все партнеры, связанные с организацией, имеют равный доступ ко всем записям, поскольку эти записи могут содержать личную информацию (PII).

Настройте URL-адрес обратного вызова Webhook

Настройте веб-хук в Центре партнеров. Для каждой партнерской организации можно настроить только один веб-хук.

Убедитесь, что у вас есть роль полноправного администратора с правами полного администратора в организации, а доступ к Webex Calling CDR API включен в Control Hub (в разделе Управление > Пользователи выберите полного администратора или полноправного администратора партнера, а затем выберите Роли администраторов > Партнер).

Те же требования к доступу действуют при использовании API-интерфейсов согласования и учета партнеров.

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

Войдите в Центр партнеров.

2

Перейдите в раздел Настройки организации > Подробные записи звонков.

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

Введите URL-адрес для использования в разделе Webhook.

URL-адрес должен заканчиваться символом /webhook (например, https://yourdomain.com/webhook).
4

Если вы хотите аутентифицировать полезные данные веб-хука с помощью секретного токена, вы можете добавить его. Дополнительные сведения о веб-хуках и секретных токенах Webex см. в разделе Webex для разработчиков: веб-хуки.

5

Выберите один из следующих типов ресурсов для использования в веб-хуке:

  • Аналитика — включает все записи звонков по всем организациям-клиентам, с которыми сотрудничает партнер. Webex Calling
  • Выставление счетов — включает записи звонков пользователей, которым партнер продал Webex Calling лицензии. Записи звонков для Workspaces включены в эту ленту.

Конечные точки API партнеров

В дополнение к веб-хуку 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 CallingCDR 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)
  • total-orgs: общее количество организаций, включенных в ответ (например, 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

Конечная точка Records API используется для запроса недостающих записей вызовов в определенных организациях, в которых расхождения или недостающие данные были обнаружены с помощью API согласования.

Рекомендуемый порядок действий: /v1/partners/cdrcountbyorgсначала позвоните. Затем используйте точное значение, orgIdкоторое было cdr_counts[].orgIdполучено при звонке /v1/partners/cdrsbyorg.

API Records возвращает записи вызовов в формате JSON, идентичном формату, описанному в API подробной истории вызовов. Возвращенная полезная нагрузка содержит те же поля, что и возвращаемая полезная нагрузка «Подробная история вызовов». Дополнительные сведения о полях и их значениях см. в разделе Webex CallingПодробный отчет об истории вызовов.

API предоставляет записи вызовов, которые закончились за 5 минут до текущего времени. Чтобы обеспечить доступность всех записей звонков, мы рекомендуем запрашивать API через час после выбранного временного интервала.

URL-адрес конечной точки Records API используется в следующем формате:

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.

Разбивка на страницы

Чтобы определить, разбиты ли ответы API на страницы, проверьте заголовки ответов на наличие заголовка Link. Если nextссылка присутствует в заголовке «Ссылка», извлеките ее и используйте startTimeForNextFetchзначение для запроса следующего набора записей. Если следующей ссылки нет, будут собраны все отчеты за выбранный временной диапазон.

Запросы API к последующим страницам можно отправлять немедленно, но частота запросов, разбитых на страницы, должна составлять не более 10 запросов в минуту в зависимости от объема токена.

Используйте идемпотентную обработку и дедупликацию при извлечении записей, в том числе в ответах, разбитых на страницы, или в повторяющихся окнах сверки. Используйте в 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

тогда заголовок Link в ответе выглядит так:

<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"Link. Если ответ содержит rel="next"ссылку, используйте этот URL-адрес для получения следующей страницы записей. Если в ответе нет rel="next"ссылки, значит, вы получили все доступные записи за выбранный временной диапазон.

Разбивка страниц в этом API соответствует стандарту RFC5988 (веб-ссылки). Дополнительные сведения см. в разделе Основы REST API.

Изучите коды ответов конечных точек API

В этом разделе представлен обзор распространенных кодов ответов, которые могут возникнуть при работе с конечной точкой API согласования и конечной точкой Records API. Эти конечные точки играют важную роль в синхронизации, проверке данных и составлении отчетов. Понимание этих кодов ответов необходимо для эффективного устранения неполадок и обеспечения надежной и стабильной интеграции.

Таблица 1. Коды ответов конечных точек API

Код ответа

Описание кода ответа

200

OK

400

Неверный запрос: запрос недействителен или не может быть обработан иным образом. Дополнительное объяснение будет приведено в сопутствующем сообщении об ошибке.

401

Несанкционировано: учетные данные для аутентификации отсутствовали или неверны.

403

Запрещено: запрос понят, но в нем отказано или доступ запрещен.

404

Не найден: запрошенный URI недействителен или запрошенный ресурс, например пользователь, не существует. Также возвращается, если запрошенный формат не поддерживается запрошенным методом.

405

Метод не разрешен: запрос к ресурсу был отправлен с использованием метода HTTP-запроса, который не поддерживается.

409

Конфликт: запрос не удалось обработать из-за того, что он противоречит некоторому установленному правилу системы. Например, человека нельзя добавлять в комнату более одного раза.

410

Исчезло: запрошенный ресурс больше не доступен.

415

Неподдерживаемый тип носителя. Запрос был отправлен ресурсу без указания типа носителя или использовался неподдерживаемый тип носителя.

423

Заблокировано: запрошенный ресурс временно недоступен. Возможно, присутствует заголовок Retry-After, указывающий, сколько секунд нужно подождать, прежде чем повторять запрос.

428

Обязательное условие: файлы нельзя сканировать на наличие вредоносных программ, их необходимо принудительно загрузить.

429

Слишком много запросов: за определенный промежуток времени было отправлено слишком много запросов, и частота запросов ограничена. Должен присутствовать заголовок Retry-After, указывающий, сколько секунд нужно подождать, прежде чем можно будет сделать успешный запрос.

451

По умолчанию запросы analytics-calling.webexapis.comнаправляются на ближайшие региональные серверы. Если на этих серверах размещаются данные организации, API возвращает эти данные. В противном случае API возвращает протокол HTTP 451, а в теле ответа указывается конечная точка, на которой можно получить данные организации.

500

Внутренняя ошибка сервера: на сервере что-то пошло не так. Если проблема не исчезнет, обратитесь в [службу поддержки разработчиков Webex] (/explore/support).

502

Неисправный шлюз: во время обработки запроса сервер получил неверный ответ от вышестоящего сервера. Повторите попытку позже.

503

Служба недоступна: сервер перегружен запросами. Повторите попытку позже.

504

Тайм-аут шлюза: вышестоящий сервер не ответил вовремя. Если в запросе используется максимальный параметр, попробуйте уменьшить его.

API отчетов и шаблонов партнеров

Вы можете создавать и загружать отчеты, доступные в Partner Hub, с помощью API-интерфейсов Partner Reports. Дополнительные сведения см. в отчете/шаблонах для партнеров.

Партнеры также могут получить доступ к нескольким отчетам и загрузить их непосредственно из Partner Hub. Дополнительные сведения см. в разделе Отчеты Partner Hub.

История редакций

История редакций документов

Дата редакции

Мы внесли в статью следующие изменения

13/08/26

  • Требования к роли конечной точки API согласования: аутентифицирующийся пользователь должен быть администратором-партнером и иметь полный доступ на уровне администратора. Кроме того, должен быть разрешен доступ к Webex Calling CDR API.

  • Коды ответов конечных точек API understand обновлены и теперь включают код ошибки 451.

  • Добавлены региональные конечные точки для региона Webex Calling данных организации-заказчика.

2/04/2026

  • Создана таблица истории изменений, в которой отслеживаются все изменения, внесенные с течением времени.

  • Обновлены разделы «Конечная точка API примирения» и «Конечная точка API записей», включив в них значения таблицы или кодов ошибок.

Была ли статья полезной?
Была ли статья полезной?