API Dialogflow.


Запрос


dialogflow-message

Отправляет сообщение в Dialogflow и добавляет ответ Dialogflow в существующий разговор в виде нового сообщения.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-message.
conversation_id
Идентификатор разговора.
message
Текст сообщения.
token
Токен доступа к Dialogflow.
language
Язык бота.
attachments
Массив вложений в формате JSON. Синтаксис массива: [["название", "ссылка"], ["название", "ссылка"], ...]. Замените название на имя вложения и ссылку на полный URL-адрес вложения. Dialogflow может прочитать этот массив.
event
Создать событие в Dialogflow.
parameters
Массив дополнительной информации. Синтаксис массива: { "название": "значение", "название": "значение", ... }.

Ответ

{
"success": true,
"response": {
"token": "ya29.a0AfH6SE4SVIeOPWSfxRVfHNcJIoR-IvRTtrEe4P9VXHa",
"messages": [
{
"message": "Привет! Как вы себя чувствуете?",
"attachments": []
}
],
"response": {
"responseId": "1a5e30d0-d6d4-4f0c-83e3-2fb9e31c2a5e-e15c53b8",
"queryResult": {
"queryText": "Привет",
"action": "input.welcome",
"parameters": [],
"allRequiredParamsPresent": true,
"fulfillmentText": "Привет! Как вы себя чувствуете?",
"fulfillmentMessages": [
{
"platform": "ACTIONS_ON_GOOGLE",
"simpleResponses": {"simpleResponses": [ { "textToSpeech": "Пример"} ]}
},
{
"text": { "text": [ "Привет! Как вы себя чувствуете?" ] }
}
],
"intent": {
"name": "projects/api-project-657752147/agent/intents/fe27e-f39d-4db3-92c2",
"displayName": "Приветствие"
},
"intentDetectionConfidence": 1,
"languageCode": "ru"
},
"alternativeQueryResults": [
{
"queryText": "Привет",
"languageCode": "ru"
}
]
}
}
}

Другие возможные ответы: dialogflow-not-active, MySQL or cURLerror message.


Запрос


dialogflow-get-intents

Возвращает намерение Dialogflow.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-get-intents.
intent_name
Название намерения.
language
Язык агента.

Ответ

[
{
"name": "projects/example/agent/intents/1655ee2c-8116-45f1-95fu-93700ff32e8d",
"displayName": "Приветствие",
"priority": 500000,
"mlEnabled": true,
"events": [ "WELCOME" ],
"trainingPhrases": [
{
"name": "43ca0e72-6055-4b88-af13-b0d241",
"type": "EXAMPLE",
"parts": [
{
"text": "поприветствовать"
}
]
},
{
"name": "5159aabc-8524-404f-b679-f2228db1",
"type": "EXAMPLE",
"parts": [
{
"text": "Привет"
}
]
},
...
],
"action": "input.welcome",
"messages": [
{
"text": {
"text": [ "Привет! Как вы себя чувствуете?", "Здравствуйте! Как я могу вам помочь?" ]
}
}
]
},
...
]


Запрос


dialogflow-create-intent

Создает намерение в Dialogflow.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-create-intent.
expressions
Обязательно*
Массив с обучающими фразами. Синтаксис массива: ["", "", ...].
response
Обязательно*
Строка, содержащая ответ бота.
agent_language
Код языка намерения. По умолчанию: false.

Ответ

{
"success": true,
"response": true
}


Запрос


dialogflow-update-intent

Обновляет намерение Dialogflow.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-update-intent.
intent_name
Обязательно*
Название намерения. Получите его с помощью функции dialogflow-get-intents.
expressions
Обязательно*
Массив с обучающими фразами. Синтаксис массива: ["", "", ...].
agent_language
Код языка намерения. По умолчанию: false.

Ответ

{
"success": true,
"response": true
}


Запрос


dialogflow-entity

Создает новую сущность в Dialogflow. Новая сущность будет связана с агентом, синхронизированным в административной области.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-entity.
entity_name
Обязательно*
Уникальное название сущности.
synonyms
Обязательно*
Массив значений сущности. Синтаксис для одного значения: ['value' => '', 'synonyms' => ['', '', ...]].
agent_language
Код языка агента. По умолчанию: false.

Ответ

{
"success": true,
"response": true
}


Запрос


dialogflow-get-entity

Возвращает сущность Dialogflow или все сущности агента.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-get-entity.
entity_id
Обязательно*
ID сущности. Оставьте пустым или введите all, чтобы получить все сущности. По умолчанию: все.
agent_language
Код языка агента. По умолчанию: false.

Ответ

{
"success": true,
"response": {
"name":"projects/small-talk-43da7/agent/entityTypes/t5td1425-2k13-16cc-a7bb-f119b8d94112a",
"displayName":"woocommerce-products",
"kind":"KIND_MAP",
"autoExpansionMode":"AUTO_EXPANSION_MODE_DEFAULT",
"entities":[
{
"value":"Abstract Print Cotton Blouse",
"synonyms":[
"Abstract Print Cotton Blouse"
]
},
{
"value":"Cashmere Carpenter Beanie",
"synonyms":[
"Cashmere Carpenter Beanie"
]
},
...
],
"enableFuzzyExtraction":true
}
}


Запрос


dialogflow-get-token

Генерирует новый токен Dialogflow. Токен действителен в течение 1 часа.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-get-token.

Ответ

{
"success": true,
"response": "ya27.a1AfH6SMDu9dn0TfRbNVAIEsSoeJPD1_jr1JpfL15..."
}


Запрос


dialogflow-get-agent

Возвращает детали агента Dialogflow.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-get-agent.

Ответ

{
"success": true,
"response": {
"parent":"projects/woocommerce-abcde",
"displayName": "ABCDE",
"defaultLanguageCode": "en",
"timeZone": "Europe/Madrid",
"enableLogging": true,
"matchMode": "MATCH_MODE_HYBRID" ,
"classificationThreshold": 0.6,
"apiVersion": "API_VERSION_V2",
"tier": "TIER_STANDARD"
}
}


Запрос


dialogflow-set-active-context

Активирует контекст Dialogflow в активной сессии пользователя.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-set-active-context.
context_name
Обязательно*
Название контекста.
user_id
Обязательно*
ID пользователя, связанного с контекстом.
parameters
Массив параметров Dialogflow, связанных с контекстом. Пример: { "woocommerce-products": "Спортивная одежда" }.
life_span
Продолжительность жизни контекста. По умолчанию: 5.
token
Токен сессии Dialogflow. Передайте его, если у вас есть, в противном случае он будет сгенерирован. По умолчанию: false.
language
Код языка агента. По умолчанию: основной язык агента.

Ответ

{
"success":true,
"response": {
"responseId":"09f2f825-3dbf-4c27-a5bb-6bd0b71e44b9-1d846bd2",
"queryResult":{
"queryText":"sb-trigger-context",
"parameters":[
],
"outputContexts":[
{
"name":"projects/abcde/agent/sessions/208/contexts/abcde",
"lifespanCount":4,
"parameters":{
"woocommerce-products":"Спортивный костюм"
}
}
],
"languageCode":"en"
}
}
}


Запрос


dialogflow-curl

Отправляет данные в Dialogflow.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-curl.
query
Обязательно*
Запрос в формате JSON для Dialogflow.
language
Язык агента Dialogflow. По умолчанию: false.
type
Тип вызова. Допустимые значения: POST, GET, PATCH. По умолчанию: POST.
token
Токен сессии Dialogflow. Передайте его, если у вас есть, в противном случае он будет сгенерирован. По умолчанию: false.

Ответ

{
"success": true,
"response": "..."
}


Запрос


dialogflow-human-takeover

Инициирует вмешательство человека в Dialogflow.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-human-takeover.
conversation_id
Обязательно*
ID диалога.
auto_messages
Установите его в true, чтобы отправлять офлайн сообщения follow_up и subscribe если они активны. По умолчанию: false.

Ответ

{
"success": true,
"response": [true, true, ...]
}


Запрос


dialogflow-smart-reply

Возвращает предложения умных ответов.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите dialogflow-smart-reply.
conversation_id
Обязательно*
ID диалога.
message
Обязательно*
Сообщение, из которого будут сгенерированы предложения.
dialogflow_language
Язык агента Dialogflow. По умолчанию: false.
token
Токен доступа Dialogflow. По умолчанию: false.
openai_token
Установите его для включения предложений OpenAI. По умолчанию: false.

Ответ

{
"suggestions": [
"Буду рад вам помочь!",
"Чем я могу помочь?",
...
],
"token": "ya29.a0AVvZVsrU7gAannWzuztBR-AphpjdWr0JrPoq9au0Ai",
"detected_language": false,
"smart_reply": false
}


Запрос


open-ai-message

Отправляет сообщение в OpenAI и возвращает ответ, при необходимости добавляя ответ в существующий диалог в виде новог осообщения.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите open-ai-message.
message
Обязательно*
Текст сообщения.
max_tokens
Максимальное количество токенов OpenAI, которые могут быть использованы для генерации сообщения. Этот параметр изменяет длину ответного сообщения. По умолчанию: false.
model
Модель OpenAI. По умолчанию: false.
conversation_id
ID диалога. Если установлен, ответ OpenAI добавляется в существующий диалог как новое сообщение. По умолчанию: false.

Ответ

{
"success": true,
"response": [true, 'Excepteur sint occaecat...']
}

Возвращает массив с первым значением, установленным в true в случае успешного выполнения, и false в случае ошибки. Второе значение - сообщение OpenAI в случае успешного выполнения или сообщение об ошибке в случае ошибки.


Запрос


open-ai-curl

Вызывает API OpenAI (ChatGPT) и возвращает ответ.


Аргументы

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите open-ai-curl.
url_part
Часть URL API. Например, если вы хотите вызвать https://api.openai.com/v1/completions, введите только completions.
post_fields
Параметры API в формате JSON.
type
Тип HTTP-вызова. Допустимые значения: GET, POST, UPLOAD.

Ответ

{
"success": true,
"response": "..."
}


Запрос


google-translate

Переводит несколько строк с помощью Google Translate.

Параметры

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите google-translate.
strings
Обязательно*
Массив строк для перевода, например: ["Hello world", "How are you?"].
language_code
Обязательно*
Двухбуквенный код языка, на который нужно перевести.

Ответ

{
"success": true,
"response": [
[ "Ciao mondo", "Come stai?", ...],
"ya29.a0AVvZVsqVHw9U7LxFukwIoQEfwA3JyT_2SSRnP2nX4oQ_XyMP9GQk2O"
]
}


Запрос


google-language-detection-update-user

Определяет язык текста и присваивает его пользователю.

Параметры

token
Обязательно*
Токен администратора.
function
Обязательно*
Введите google-language-detection-update-user.
string
Обязательно*
Текст, в котором необходимо определить язык.
user_id
Обязательно*
ID пользователя.

Ответ

{
"success": true,
"response": true
}