У цій статті
Огляд
Настроювання URL-адреси зворотного виклику веб-хука
dropdown icon
Кінцеві точки API партнера
    Кінцева точка API узгодження
    Кінцева точка API записів
    Партнер reports/templates API

Вебхук із детальними записами викликів для Webex Calling у Центрі партнерів

list-menuУ цій статті
list-menuНадіслати відгук?

Багатокористувацькі партнери Webex Calling (MT) можуть налаштувати вебхук для збору записів Webex Calling для всіх ваших клієнтів. Це забезпечує ефективне узгодження рахунків, аналітику та звітність без необхідності запитувати кожного клієнта окремо.

Огляд

Вебхук детальних записів дзвінків пропонує безпечне, масштабоване та надійне рішення, яке базується на подіях, а не на запитах. Цей вебхук забезпечує кращу видимість дій ваших клієнтів у Webex Calling, підтримуючи варіанти використання – від виставлення рахунків до індивідуально налаштованої звітності.

Ви можете використовувати цей вебхук для зручного збору записів для всіх клієнтів, якими керують через Центр партнерів, без запитів до кожного клієнта окремо. Цей вебхук дозволяє розробляти власні додатки для звітності, виставлення рахунків та аналітики як для внутрішніх бізнес-потреб, так і для послуг з доданою вартістю.

Щоб ознайомитися з вебхуком та його супутніми API, перегляньте цей відеокаст: API детальної історії викликів партнера Webex Calling.

Що пропонує вебхук партнера

Вебхук надає детальні записи історії дзвінків кожні 5 хвилин. Кожне корисне навантаження вебхука містить:

  • Записи дзвінків, які завершилися за 10–5 хвилин до поточного часу.
  • Будь-які запізнілі записи, оброблені хмарою Webex Calling.
  • Автоматично заповнює записи про пропущені виклики в наступних корисних навантаженнях вебхука для забезпечення надійної доставки.

Щоб показати, як записи викликів включаються до кожного корисного навантаження, розглянемо наступний приклад:

  • Корисне навантаження, отримане о 14:05 містить дзвінки, що завершилися між 13:55 і 14:00.
  • Дзвінки, що закінчуються між 14:00 і 14:05 включені до 14:10 корисне навантаження.
  • Записи, завершені раніше (наприклад, дзвінок, який завершився о 14:04) але оброблено із запізненням хмарою Webex Calling (наприклад, о 14:11) включені до наступного запланованого корисного навантаження (наприклад 14:15).

Вебхуки надійно доставляють записи. Однак, ви можете отримувати дублікати записів у наступних корисних навантаженнях вебхука, коли система відтворює записи за певних умов. Ви відповідаєте за видалення дублікатів записів. Щоб ідентифікувати дублікати записів, використовуйте поле reportId як первинний ключ та поле reportTime, щоб визначити, коли виклик було завершено або оброблено. Використовуйте ці поля для оновлення або вставки записів у ваші внутрішні сховища даних.

Вебхук у центрі партнерів

Надаючи вебхук, ви дозволяєте аналітичній платформі надсилати записи викликів на вашу URL-адресу зворотного виклику щоразу, коли вони генеруються.

Записи викликів Webex надаються у тому ж форматі, що й існуючі детальні API записів викликів. Ви можете налаштувати вебхук і вибрати один із двох типів стрічки:

  • Аналітика — містить усі записи викликів для всіх організацій клієнтів, з якими партнер має відносини Webex Calling. Це включає організації, де:
    • Партнер керує організацією клієнта, маючи роль повного адміністратора партнера.
    • Організація клієнта має активну підписку на Webex Calling в організації-партнері.
  • Виставлення рахунків — містить записи про виклики, здійснені користувачами з ліцензією Webex Calling, проданою та наданою партнером. Записи викликів для робочих просторів включено до цієї стрічки.

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

Тільки партнер-власник має доступ до записів деталей викликів (CDR) для виставлення рахунків.

  • Партнер (або субпартнер), який керує ліцензією, пов’язаною із записом виклику, стає партнером-власником.
  • Право власності визначається: Ідентифікатор користувача > Ідентифікатор ліцензії > Ідентифікатор підписки > Ідентифікатор партнера.
  • Кожен CDR доступний одному партнеру.
  • Деякі записи про виклики не пов’язані з платіжним партнером, і не всі партнери, пов’язані з організацією, мають рівний доступ до всіх записів, оскільки ці записи можуть містити особисту інформацію (PII).

Настроювання URL-адреси зворотного виклику веб-хука

Налаштуйте вебхук у Центрі партнерів. Ви можете налаштувати лише один вебхук на організацію-партнера.

Переконайтеся, що у вас є роль «Партнер з повним рівнем доступу адміністратора організації» та вибрано опцію «Доступ до Webex Calling CDR API» у Центрі керування (у розділі «Керування» > Користувачі, виберіть повного адміністратора або повного адміністратора партнера, а потім виберіть Ролі адміністратора > Партнер).

Знімок екрана, на якому показано налаштування ролей адміністратора з вибраними параметрами «Адміністратор партнера» та «Повний адміністратор партнера», а також позначено параметр «Доступ до Webex Calling CDR API» у розділі «Функціональні налаштування».

1

Увійдіть у партнерський центр.

2

Перейдіть до Налаштувань організації > Записи деталей дзвінків.

Знімок екрана налаштувань організації для записів деталей викликів, на якому відображаються поля для URL-адреси вебхука, секретного токена та типу ресурсу з вибраною опцією «Аналітика».
3

Введіть URL-адресу для використання в розділі Вебхук.

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

Якщо ви хочете автентифікувати корисні навантаження вебхука за допомогою секретного токена, ви можете додати його. Щоб знайти більше інформації про вебхуки та секретні токени Webex, див. Webex для розробників: Вебхуки.

5

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

  • Аналітика— містить усі записи викликів для всіх організацій клієнтів, з якими партнер має відносини Webex Calling.
  • Виставлення рахунків— Включає записи про виклики користувачів, яким партнер продав ліцензії Webex Calling. Записи викликів для робочих просторів включено до цієї стрічки.

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

Окрім вебхука, Webex Calling надає кінцеві точки API для підтримки узгодження даних. Ці кінцеві точки дозволяють вам надолужити або узгодити ваші сховища даних з будь-якими відсутніми записами, які ваш слухач вебхука міг не отримати. Дві кінцеві точки API – це API узгодження та API записів.

Записи з цих API доступні протягом 30 днів. Щоб гарантовано отримувати всі очікувані записи, рекомендуємо періодично звіряти дані у ваших сховищах записів, наприклад, кожні 12 або 24 години.

Для доступу до цих API необхідно використовувати токен доступу партнера. Отримайте та керуйте своїм партнерським маркером доступу відповідно до стандартних практик управління маркерами доступу для розробників Webex.

Діапазони вікон API застосовні до обох кінцевих точок для кращої обробки навантаження служби.

  • Для часових діапазонів, що перевищують 48 годин, максимально дозволена тривалість вікна становить 12 годин (рекомендовано та обов’язково).
  • Для часових діапазонів 48 годин або менше максимально дозволена тривалість вікна становить 48 годин (не рекомендується; цей параметр буде припинено з 30 січня 2026 року).
  • Для ідентифікатора організації-партнера швидкість API обмежена одним початковим запитом API за хвилину на область дії токена. Якщо використовується пагінація, дозволено до 10 додаткових пагінованих API-запитів на хвилину для кожного токена, і їх можна зробити одразу після початкового запиту.

Кінцева точка API узгодження

Кінцева точка API узгодження повертає загальну кількість записів викликів, згенерованих для кожного клієнта, яким керує партнер, протягом зазначеного періоду часу. Ви можете використовувати ці суми для перевірки локального сховища та виявлення будь-яких відсутніх або невідповідних записів дзвінків для певних клієнтів.

Якщо ви керуєте більш ніж 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 використовується для запиту відсутніх записів викликів для певних організацій, де розбіжності або відсутні дані були виявлені за допомогою Reconciliation API.

API записів повертає записи викликів у форматі 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 узгодження.
  • 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.
  • Макс. (необов’язково, число) – обмежує максимальну кількість записів на сторінці у відповіді. Переконайтеся, що:
    • Діапазон становить від 500 до 5000. Значення за замовчуванням — 5000. Наприклад, Max=1000.
    • Якщо API має більше записів для повернення, ніж зазначене максимальне значення, то відповідь розбивається на сторінки.
    • Якщо вказано значення менше 500, воно автоматично коригується до 500. Якщо вказано значення вище 5000, воно зменшується до 5000.

Поділ на сторінки

Щоб визначити, чи відповіді API розбиті на сторінки, перевірте заголовки відповідей на наявність заголовка Link. Якщо в заголовку Link присутнє посилання next, витягніть його та використовуйте значення startTimeForNextFetch для запиту наступного набору записів. Якщо наступного посилання немає, то збираються всі звіти за вибраний діапазон часу.

Запити API для наступних сторінок можна робити негайно, але їхня кількість має бути обмежена максимум 10 запитами з розбивкою на сторінки за хвилину на кожну область дії токена.

Наприклад, якщо початковий запит 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

тоді заголовок посилання у відповіді буде таким:

; rel="next"

Інші можливі значення посилань включають rel="first" та rel="prev" для першої та попередньої сторінок відповідно.

Пагінація для цього API відповідає стандарту RFC5988 (Web Linking). Для отримання додаткової інформації див. Основи REST API.

Партнер reports/templates API

Ви можете створювати та завантажувати звіти, доступні в Центрі партнерів, за допомогою API звітів партнерів. Для отримання додаткової інформації див. партнера report/templates.

Партнери також можуть отримувати доступ до кількох звітів та завантажувати їх безпосередньо з Центру партнерів. Для отримання додаткової інформації див. звіти Центру партнерів.

Чи була ця стаття корисною?
Чи була ця стаття корисною?