Отримання повідомлення з Сreatio

Вам потрібно створити сервіс, який може отримувати POST-запити для отримання повідомлень з Creatio. У тілі POST-запиту - JSON з інформацією про отримане повідомлення.

Наразі підтримуються кілька типів повідомлень: з кнопками, без кнопок, файл, картинка та місцезнаходження. Тип вказується у параметрі type. Якщо тип повідомлення - повідомлення з кнопками, воно також може містити текст, який йде перед кнопками.

Специфікація запиту

Назва

Опис

Тип даних

Коментарі

Назва

Опис

Тип даних

Коментарі

channel_id

ID каналу в Creatio

string

 

receiver_id

ID користувача, який отримує повідомлення у вашому каналі

string

 

type

Тип надісланого повідомлення

string

Допустимі значення:

  • text,

  • buttons, 

  • file,

  • image,

  • location,

  • operator_info

content

Надіслані кнопки

Content

 

Специфікація класу

Специфікація класу Content

Назва

Опис

Тип даних

Коментарі

Назва

Опис

Тип даних

Коментарі

text

Текст перед кнопками

string

Якщо тип повідомлення тип file, або image, (є файлом або зображенням), то посилання на файл або зображення. Якщо тип location (місцезнаходження), то об'єкт місцезнаходження.

buttons

Текст кнопок

string[]

 

operatorInfo

Інформація про оператора

OperatorInfo

Якщо тип запиту - operator_info

Специфікація класу Location

Назва

Опис

Тип даних

Коментарі

Назва

Опис

Тип даних

Коментарі

lat

Широта

string

 

lng

Довгота

string

 

Специфікація класу OperatorInfo

Назва

Опис

Тип даних

Коментарі

OperatorPhotoLink

Посилання на фото оператора

string

 

OperatorName

Ім'я оператора

string

 

Для коректної роботи ви повинні повертати статус 200 OK для кожного запиту на ваш Endpoint.

Якщо у налаштуваннях каналу встановлено галочку "Відправити інформацію про оператора", то буде відправлено повідомлення типу operator_info.

Приклад отриманого JSON-повідомлення з типом "текст"

{      "channel_id" : "28528776-3130-4C66-E811-08D55CEAB346",      "receiver_id" : "123",      "type" : "text",      "content" :      {           "text" : "test",           "buttons" : []      },      "operatorInfo": "" }