Як підключити RingCentral до Elbuz: API-застосунок з JWT і підписка на події без вебхука

9 хв

Elbuz підключає RingCentral API до CRM: менеджер бачить картку клієнта, поки телефон дзвонить, дзвонить з картки однією кнопкою, а кожна розмова лягає в журнал і в історію клієнта.

Коли це знадобиться:

  • Дзвонить клієнт — у співробітника спливає картка з імʼям, містом і останніми замовленнями клієнта.
  • Дзвінок у групу ніхто не взяв — у «Пульсі» зʼявляється задача «Перетелефонувати».
  • Треба передзвонити — «Подзвонити» в картці: RingCentral спершу дзвонить менеджерові, потім клієнту.
  • Керівник хоче чути розмови — запис і AI-резюме зʼявляються в журналі після щогодинної звірки.

З чого почати: створіть застосунок REST API у RingCentral Developer Console.

Що вміє інтеграція з RingCentral

Через серверний застосунок з JWT Elbuz запускає дзвінки RingOut, щогодини звіряє журнал акаунта, віддає записи розмов і отримує події про дзвінки. Адресу для подій у RingCentral вписувати не треба: підписку Elbuz створює і подовжує сам.

  • Картка того, хто дзвонить. «Вхідний дзвінок» з імʼям клієнта, містом і замовленнями спливає в співробітника, якому дзвонять (картка дзвінка).
  • Пропущений стає задачею. Менеджерові спливає «Пропущений дзвінок» з кнопкою «Перетелефонувати», у «Пульсі» — задача з високим пріоритетом; після розмови з номером вона знімається сама.
  • Дзвінок з картки клієнта. Через RingOut: спершу на внутрішній номер менеджера, потім клієнту (як іде дзвінок).
  • Запис, текст і резюме. Після звірки запис слухається з журналу, AI-розбір пише резюме в стрічку клієнта (AI-розбір дзвінків).
  • Усі розмови акаунта в одному журналі. Вхідні й вихідні з результатом; тривалість уточнює звірка (журнал дзвінків).

Де це і хто має доступ

Меню
Кабінет → Налаштування системи → «Інші налаштування» → «Зовнішні сервіси та інтеграції» → «Телефонія» → RingCentral
Внутрішній номер
«Користувачі (співробітники)» → картка співробітника → «Телефон внутрішній»
Журнал дзвінків
Довідники → Контакти → Журнал дзвінків
Право доступу
налаштування системи і вікно «Журнал дзвінків»; щоб просто дзвонити, права не потрібні
Підготувати
вхід у RingCentral Developer Console адміністратором акаунта

Вікно з рядка оператора називається «Налаштування доступу до API зовнішніх сервісів»; для RingCentral у першій картці три ключі замість двох. Без права на «Журнал дзвінків» не працює «Перевірити підключення», а отже й підписка на події. Загальна механіка — журнал, картка дзвінка, права — у статті Телефонія в Elbuz.

Що потрібно від RingCentral

  • Застосунок REST API з JWT auth flow у Developer Console — з нього Client ID і Client Secret.
  • Шість прав застосунку — таблиця в кроці першому.
  • JWT адміністратора (Super Admin) — інакше Elbuz не побачить номерів і дзвінків усього акаунта.
  • Робочий (production) акаунт — ключі пісочниці (sandbox) не підійдуть.

Назви пунктів консолі — англійською, як в інтерфейсі RingCentral. Шляхи взято з документації RingCentral; якщо пункт називається інакше — орієнтуйтеся на ці сторінки або питайте підтримку RingCentral:

Як підключити RingCentral

Чотири кроки: застосунок у Developer Console, JWT, ключі в Elbuz і внутрішні номери.

Крок перший: застосунок у Developer Console

  1. Увійдіть у RingCentral Developer Console (developers.ringcentral.com) обліковим записом вашого акаунта RingCentral → Apps → Create App.
  2. Тип застосунку — REST API App → Next.
  3. У блоці Authentication виберіть JWT auth flow.
  4. У блоці Security додайте права (permissions), перелічені в таблиці нижче, і виберіть варіант «This app is private and will only be callable using credentials from the same RingCentral account».
  5. Створіть застосунок і скопіюйте з його сторінки Client ID і Client Secret.
Право в RingCentralНавіщо Elbuz
Read Accounts (ReadAccounts)список внутрішніх номерів для «Перевірити підключення»
Read Call Log (ReadCallLog)щогодинна звірка журналу
RingOutкнопка «Подзвонити»
Call Control (CallControl)події про дзвінки — без нього RingCentral не дасть підписатися
Webhook Subscriptions (WebhookSubscriptions)сама підписка на події на адресу Elbuz
Read Call Recording (ReadCallRecording)прослуховування записів розмов

Крок другий: JWT

  1. У Developer Console наведіть на своє імʼя праворуч угорі → Credentials → Create JWT.
  2. У «What apps are permitted to use this credential?» виберіть «Only specific apps of my choice», вставте Client ID застосунку з першого кроку → Add app.
  3. Натисніть Create і скопіюйте JWT.

JWT належить тому користувачу, який його створив, і всі запити Elbuz ідуть з його правами. Створюйте JWT під обліковим записом адміністратора (Super Admin). На цього ж користувача в журналі RingCentral значаться дзвінки з кнопки «Подзвонити».

Elbuz працює тільки з робочим (production) сервером RingCentral, platform.ringcentral.com. Ключі й JWT пісочниці (sandbox) не підійдуть: «Перевірити підключення» відповість помилкою авторизації.

Крок третій і четвертий: як вписати ключі й номери в Elbuz

Відкрийте рядок RingCentral у групі «Телефонія». Перемикач «Активність» уже ввімкнено — залиште його так. Поля:

Поле у форміЩо вписати
«Client ID»Client ID застосунку
«Client Secret»Client Secret того ж застосунку
«JWT-ключ»JWT з другого кроку
«Номер лінії для вихідних»номер компанії в RingCentral, який побачить клієнт під час дзвінка з Elbuz. Порожньо — номер за замовчуванням, зазвичай головний номер компанії
Картка «Підключення телефонії» у формі RingCentral: «Client ID», «Client Secret», «Номер лінії для вихідних», «JWT-ключ»
1Посилання на інструкцію
2Перемикач «Активність»
3Поле «Client ID»
4Поле «Client Secret»
5Поле «Номер лінії для вихідних»
6Поле «JWT-ключ»
7Кнопка «Перевірити підключення»
  1. Посилання «Де саме — покроково в інструкції для вашого оператора» — веде на цю сторінку.
  2. Перемикач «Активність» — інтеграція ввімкнена.
  3. Client ID застосунку з Developer Console.
  4. Client Secret того ж застосунку.
  5. Номер компанії, який побачить клієнт; порожньо — номер за замовчуванням, зазвичай головний номер компанії.
  6. JWT користувача-адміністратора з Console → Credentials; дзвінки з Elbuz ідуть від його імені.
  7. Перевіряє ключі, читає список внутрішніх номерів і створює підписку на події.

Форма зберігається сама приблизно через секунду після правки: унизу видно «Збереження...», потім «Збережено». Потім натисніть «Перевірити підключення». Elbuz отримає токен, прочитає список активних користувачів RingCentral з внутрішніми номерами і відповість «Звʼязок з АТС встановлено. Співробітників в АТС: ‹кількість›». Тим самим натисканням Elbuz створює в RingCentral підписку на події про дзвінки.

Події: адресу вписувати не треба

У формі є картка «Адреса для вебхука АТС», але для RingCentral адресу ніде вставляти не потрібно — про це й каже підказка в картці. Elbuz сам реєструє цю адресу в RingCentral, а RingCentral під час реєстрації перевіряє, що вона відповідає. Далі підписку подовжує щогодинна звірка.

Адреса будується з домену, на якому в цей момент працює Elbuz: натиснули «Перевірити підключення» з іншого домену — Elbuz знімає стару підписку і створює нову. Тому перевіряйте підключення з того домену, яким користуєтеся постійно.

Картка «Адреса для вебхука АТС» у формі RingCentral з підказкою, що адресу вставляти не треба
1Підказка: адресу не вставляти
  1. Адресу в RingCentral не вписують: Elbuz сам створює підписку на події після «Перевірити підключення».

Ключі можуть бути правильними, а підписка — не створитися: у застосунку немає права Call Control чи Webhook Subscriptions. Тоді «Перевірити підключення» відповідає «Звʼязок з АТС встановлено…», але в кінці дописує «webhook subscription:» і текст помилки RingCentral.

Поки підписки немає, картка вхідного не спливає, а дзвінки зʼявляються в журналі лише після звірки. Додайте права й натисніть «Перевірити підключення» ще раз — або дочекайтеся звірки, вона теж створює підписку.

Крок четвертий: внутрішні номери

У поле «Телефон внутрішній» картки співробітника Elbuz впишіть його внутрішній номер (extension number) у RingCentral — короткий номер на кшталт 101. Рядок «Номери АТС без співробітника Elbuz» після перевірки покаже номери й імена користувачів RingCentral, яких ще не вписано жодному співробітнику.

З цього номера Elbuz знає, кому показати картку вхідного, чиє імʼя поставити в колонку «Менеджер» для вхідних і на який номер RingCentral має подзвонити першим, коли менеджер натискає «Подзвонити».

Щоб RingCentral запрацював з Elbuz

Що приходить у Elbuz

МожливістьЯк це працює з RingCentral
Дзвінок з картки й журналу («Подзвонити»)так, через RingOut від імені користувача, чий JWT вписано в Elbuz
Вхідні й вихідні в журналітак: за подією про завершення дзвінка, а тривалість і час початку уточнює щогодинна звірка
Картка вхідного в Elbuz, поки дзвонитьтак: її бачить співробітник, у якого в «Телефон внутрішній» той внутрішній номер, на який дзвонять
Підписка на подіїавтоматично: адресу в RingCentral вписувати не треба
Запис розмовитак, після щогодинної звірки: Elbuz завантажує запис сам і віддає в плеєр, токен адміністратора в браузер не потрапляє. Працюють «Прослухати запис» і AI-розбір. Перемотувати можна, коли запис завантажився повністю; файл більший за 25 МБ не відтвориться
Скинути дзвінок з картки вхідногоні: кнопки «Скинути» в картці немає
Час очікування окремо від розмовині: колонка очікування для RingCentral завжди нульова
Голосовий AI-співробітникні: RingCentral немає серед операторів розділу «Голос по телефону»

Особливості RingCentral

Як іде дзвінок з кнопки «Подзвонити»

Elbuz просить RingCentral зробити дзвінок RingOut: спершу RingCentral дзвонить на внутрішній номер менеджера, а коли той візьме слухавку — клієнту. RingCentral дозволяє запускати RingOut лише від імені користувача, чий JWT вписано в Elbuz. Тому в журналі самого RingCentral такий дзвінок записаний на цього користувача, а клієнт бачить номер з «Номер лінії для вихідних» або номер за замовчуванням.

Elbuz одразу пише спробу в журнал від імені менеджера. Коли протягом 30 хвилин прийде подія про той самий номер, Elbuz допише в цей рядок дані RingCentral — і разом з ними власника JWT у колонку «Менеджер»: RingCentral бачить дзвінок як його. Без події звірка про цей дзвінок додасть окремий рядок.

Які події Elbuz бере

Elbuz підписується на всі дзвінки акаунта й дивиться на ту сторону дзвінка, де є ваш співробітник і зовнішній номер. Дзвінки між співробітниками в журнал не потрапляють.

  • Вхідний дзвонить у співробітника — Elbuz шукає клієнта за номером і показує картку «Вхідний дзвінок». Поки дзвінок у голосовому меню чи в черзі, картки немає: показувати її ще нікому.
  • Дзвінок завершився — рядок у журналі з результатом. Тривалості в події немає, тож розмова отримує тривалість після щогодинної звірки.
  • Дзвінок у групу — якщо трубку взяв один співробітник, решті «пропущений» не записується й картка пропущеного не спливає.
Як подія RingCentral стає результатом у журналі
Що сталося в RingCentral«Результат» у журналі
зайнято або відхиленоЗайнято
клієнт поклав слухавкуСкасований
голосова поштаГолосова пошта
не відповіли або пропущенийНе відповіли
переведеноПереведений
внутрішня помилка, неправильний чи заблокований номер, заборона міжнародних дзвінків, брак коштівЗбій звʼязку
інакшеВідбувся

Щогодинна звірка уточнює результат за журналом RingCentral: наприклад, вхідний, на який поклали слухавку, там стає «Не відповіли».

Щогодинна звірка

На 25-й хвилині кожної години Elbuz забирає журнал дзвінків акаунта RingCentral за добу назад: уточнює тривалість, дописує те, чого не принесли події, раз на добу оновлює список внутрішніх номерів і подовжує підписку на події.

Сценарії

Вхідні йдуть на групу менеджерів

Впишіть кожному менеджеру extension number у «Телефон внутрішній». Картка вхідного спливає співробітнику, у якого дзвонить телефон. Якщо слухавку взяв один, решті «пропущений» не записується й картка пропущеного не спливає.

Клієнт має бачити головний номер компанії

Залиште «Номер лінії для вихідних» порожнім — RingOut піде з номера за замовчуванням, зазвичай головного. Потрібен інший номер компанії — впишіть його в це поле.

Elbuz переїхав на інший домен

Відкрийте рядок RingCentral з нового домену й натисніть «Перевірити підключення». Elbuz зніме стару підписку і створить нову на нову адресу (події).

Що робити, коли RingCentral не підключається

Що програма каже і що з цим робити
Що ви бачитеЧому такЩо зробити
«АТС відхилила запит: authorization failed (check Client ID, Client Secret and JWT)» Порожнє одне з трьох полів, ключі з пісочниці, JWT не дозволений для цього застосунку або відкликаний (якщо відкликали вже після підключення, повідомлення буде «HTTP 401») Перевірте всі три поля; у Credentials дозвольте JWT для Client ID застосунку або створіть новий
«Звʼязок з АТС встановлено…» з дописаним «webhook subscription: …»; картка вхідного не спливає, дзвінки приходять у журнал раз на годину Підписку на події не створено: у застосунку немає Call Control чи Webhook Subscriptions Додайте права застосунку й натисніть «Перевірити підключення» ще раз
«АТС відхилила запит: HTTP 403: …» на «Перевірити підключення» або «Подзвонити» Бракує права (Read Accounts чи RingOut) або JWT створено не адміністратором Додайте право в застосунку; JWT створіть під адміністратором
«У вашій картці співробітника не вказано внутрішній номер телефону» Порожнє поле «Телефон внутрішній»: RingCentral нікуди дзвонити першим Впишіть extension number менеджера (крок четвертий)
Дзвінок у журналі без тривалості Подія про завершення тривалості не містить Нічого: тривалість зʼявиться після найближчої звірки, на 25-й хвилині години

Решта випадків, коли дзвінок не зʼявився, — у загальному розборі Телефонія в Elbuz.

Часті запитання

Де взяти Client ID, Client Secret і JWT для RingCentral?

Client ID і Client Secret — на сторінці застосунку REST API з JWT auth flow у Developer Console (Apps → Create App). JWT — там же: імʼя праворуч угорі → Credentials → Create JWT, дозволений для Client ID цього застосунку, під адміністратором акаунта.

Які права дати застосунку RingCentral?

Read Accounts, Read Call Log, RingOut, Call Control, Webhook Subscriptions і Read Call Recording. Без Call Control RingCentral не дасть підписатися на події про дзвінки, без RingOut не працюватиме «Подзвонити», без Read Call Recording — записи розмов.

Куди в RingCentral вставити адресу вебхука?

Нікуди. Elbuz сам створює підписку на події, коли ви натискаєте «Перевірити підключення», і подовжує її щогодинною звіркою.

Чому в журналі RingCentral дзвінки з Elbuz записані на одного користувача?

RingCentral дозволяє запускати RingOut тільки від імені користувача, чий JWT вписано в Elbuz. Спершу RingCentral дзвонить на внутрішній номер менеджера, потім клієнту, але в журналі RingCentral дзвінок належить власнику JWT.

Чи можна прослухати запис розмови RingCentral з Elbuz?

Так, після щогодинної звірки. Elbuz завантажує запис сам і передає в плеєр, токен у браузер не потрапляє. Застосунку потрібне право Read Call Recording.

Чи можна скинути дзвінок RingCentral з Elbuz?

Ні, кнопки «Скинути» в картці вхідного для RingCentral немає.

Чи можна поставити голосового AI-співробітника на номер RingCentral?

Ні: RingCentral немає серед операторів розділу «Голос по телефону». Які оператори підтримуються — у статті Голосовий AI-співробітник.

Суміжні теми

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