Вебхуки - это автоматическая отправка данных из stepChat на определенный URL-адрес при выполнении определенных событий.


Для активации вебхуков перейдите во вкладку Настройки - Разное - Вебхуки.


Использование

  • После активации вебхуков необходимо в поле URL указать URL-адрес на который stepChat будет отправлять данные.
  • В поле Секретный ключ можете указать произвольный пароль, он будет отправляться вместе с вебхуком и может служить для проверки подлинности вебхука или понимания того, что он отправлен именно со stepChat.
  • Ключ sender-url включен во все вебхуки и содержит URL-адрес, с которого отправлен вебхук.
  • Настройка Активные вебхуки определяет, какие вебхуки активны и будут отправлены. Введите имена вебхуков, разделенные запятыми. Оставьте поле пустым, чтобы активировать все вебхуки.

Запрос


message-sent

Вебхук отправляется, когда пользователь или агент отправляют новое сообщение.


Ответ

{
"function": "message-sent",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"user_id": "947",
"conversation_user_id": "947",
"conversation_id": "1057",
"conversation_status": "-1",
"message_id": "2574",
"message": "Привет! Как дела?"
}
}

Запрос


email-sent

Вебхук отправляется, когда email письмо отправляется пользователю или агенту.


Ответ

{
"function": "email-sent",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"recipient_id": "957",
"message": "Привет! Чем могу помочь?"
}
}

Запрос


sms-sent

Вебхук отправляется, когда пользователь или агент отправляют новое текстовое сообщение.


Ответ

{
"function": "sms-sent",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"recipent_id": "947",
"message": "Привет! Как дела?",
"response": {
"sid": "SM1f0e8ae6ade43cb3c0ce4525424e404f",
"date_created": "Fri, 13 Aug 2023 01:16:24 +0000",
"date_updated": "Fri, 13 Aug 2023 01:16:24 +0000",
"date_sent": null,
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"to": "+71231231212",
"from": "+73213213232",
"body": "Текст сообщения",
"status": "queued",
"flags":["outbound"],
"api_version": "2023-04-01",
"price": null,
"uri": "\/2023-04-01\/Accounts\/ACXXXX\/Messages\/SM1f004f.json"
}
}
}

Запрос


new-messages-received

Вебхук отправляется при получении нового сообщения.


Ответ

{
"function": "new-messages-received",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": [
{
"details": {
"id": "2575",
"user_id": "947",
"message": "Привет! Как дела?",
"creation_time": "2023-05-27 08:26:59",
"attachments": "",
"status_code": "0",
"conversation_id": "1057",
"first_name": "Иван",
"last_name": "Иванов",
"profile_image": "https://stepchat.io/user.svg",
"user_type": "user",
"full_name": "Иван Иванов"
}
}
] }

Запрос


bot-message

Вебхук отправляется, когда Dialogflow отправляет ответ на сообщение пользователя.


Ответ

{
"function": "bot-message",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"response": {
"token": "ya29.a0Afkjh8MADFYeT4BgCy3917xqSDdVvw4mgVHrgrLDcgRk9ajWoQAgdjv5e...",
"messages": [
{
"message": "Привет! Чем занимаешься?"
}
], "response": {
"responseId": "46d2c208-2a7f-4ca2-bd7d-6636982b8bee-0f0e27e1",
"queryResult": {
"queryText": "привет",
"action": "input.welcome",
"allRequiredParamsPresent": "true",
"fulfillmentText": "Привет! Чем занимаешься?",
"fulfillmentMessages": [
{
"text": {
"text": [
"Привет! Чем занимаешься?"
]
}
}
],
"outputContexts": [
{
"name": "projects/api-project-655517752147/agent/sessions...",
"lifespanCount": "1",
"parameters": {
"no-input": "0",
"no-match": "0"
}
}
], "intent": {
"name": "projects/api-project-655517752147/agent/intents...",
"displayName": "Приветствие"
}
, "intentDetectionConfidence": "1",
"languageCode": "ru"
}
, "alternativeQueryResults": [
{
"queryText": "привет",
"outputContexts": [
{
"name": "projects/api-project-655517752147/agent...",
"parameters": {
"no-match": "1",
"no-input": "0"
}
}
],
"languageCode": "ru"
}
]
}
}
, "message": "Привет",
"conversation_id": 123456
}
}

Запрос


message-deleted

Вебхук отправляется, когда сообщение удалено.


Ответ

{
"function": "message-deleted",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": "2595"
}

Вебхук содержит ID удаленного сообщения.

Запрос


rich-message

Вебхук отправляется, когда пользователь отправляет данные с функии Расширенные сообщения.


Ответ

{
"function": "rich-message",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"result": true,
"data": {
"type": "inputs",
"result": {
"name": [
"Иван Jhon",
"Name"
], "your-email": [
"[email protected]",
"Your Email"
], "site-url": [
"www.example.com",
"Site URL"
],
...
}
}
, "id": "example"
}
}
}

Запрос


new-conversation

Вебхук отправляется при получении нового диалога.


Ответ

{
"function": "new-conversation-received",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"details": {
"user_id": "947",
"first_name": "Иван",
"last_name": "Иванов",
"profile_image": "https://stepchat.io/user.svg",
"user_type": "user",
"id": "1057",
"title": "",
"conversation_time": "2023-05-27 08:19:18",
"conversation_status_code": "2",
"department": "",
"agent_id": ""
}
}
}

Запрос


new-conversation-created

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


Ответ

{
"function": "new-conversation-created",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"details": {
"user_id": "947",
"first_name": "Иван",
"last_name": "Иванов",
"profile_image": "https://stepchat.io/user.svg",
"user_type": "user",
"id": "1057",
"title": "",
"conversation_time": "2023-05-27 08:19:18",
"conversation_status_code": "2",
"department": "",
"agent_id": ""
}
}
}

Запрос


conversation-status-updated

Вебхук отправляется при изменении статуса диалога.


Ответ

{
"function": "conversation-status-updated",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"conversation_id": "1057",
"status_code": "0"
}
}

Статусы: активен = 0, ожидает ответа от пользователя = 1, ожидает ответа от агента = 2, в архиве = 3, в корзине = 4.

Запрос


login

Вебхук отправляется при входе пользователя через форму входа в чате. Вебхук отправляется только при успешном входе.


Ответ

{
"function": "login",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"details": {
"id": "948",
"profile_image": "https://stepchat.io/user.svg",
"first_name": "Иван",
"last_name": "Иванов",
"email": "[email protected]",
"user_type": "user",
"token": "9a4642dd232291ad658646bdbb8792c2392bb852"
}
}
}

Запрос


registration

Вебхук отправляется при регистрации пользователя через форму регистрации в чате. Вебхук отправляется только при успешной регистрации.


Ответ

{
"function": "registration",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"user": {
"profile_image": [
"https://stepchat.io/user.svg",
"Profile image"
], "first_name": [
"Иван",
"First name"
], "last_name": [ "Иванов",
"Last name"
], "email": [ "[email protected]",
"Email"
],
"password": [
"12345678",
"Password"
],
"password-check": [
"12345678",
"Repeat password"
],
"user_type": [
"user",
""
]
}
, "extra": {
"phone": [
"+71231231212",
"Phone"
],
"city": [
"Moscow",
"City"
],
...
}
}
}

Запрос


user-deleted

Вебхук отправляется, когда пользователь удаляет аккаунт.


Ответ

{
"function": "user-deleted",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": "951"
}

Вебхук содержит ID удаленного пользователя.

Запрос


new-email-address

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


Ответ

{
"function": "new-email-address",
"key": "xxxxxxxx",
"sender-url": "https://example.com"
"data": {
"name": "Иванов Иван",
"email": "[email protected]"
}
}