Отправка сообщений#
Как упоминалось ранее, отправка сообщений возможна двумя способами: по одному или пачкой.
Метод для передачи одиночного сообщения#
Отправка одиночного сообщения#
POST URL: https://external-api.weasy.pro /message
Headers#
Name |
Type |
Description |
|---|---|---|
Content-Type* |
string |
application/json |
Authorization* |
string |
„nodeID:password“ | base64 |
Request Body#
Name |
Type |
Description |
|---|---|---|
@type* |
string |
Тип сообщения, имеет постоянное значение оutbound (исходящее). |
content* |
string |
Контент сообщения. - Текст; - Текст со ссылкой: - Изображение с подписью; - Геолокцию. |
bodyType* |
string |
Тип сообщения (whatsapp). |
body* |
object |
Объект, в котором передаётся содержимое сообщения. |
destination* |
string |
Номер телефона получателя. |
source* |
string |
Номер телефона отправителя. |
addresses* |
object |
Объект, содержащий параметры отправителя и получателя. |
expirationDate |
integer |
Время ожидания получения статуса. |
requestDelivery |
boolean |
Указывает, cледует ли предоставлять отчёт о доставке после отправки сообщения (true - отчет о доставке требуется, false - отчет о доставке не требуется). По умолчанию - true. |
nodeId* |
integer |
Номер ноды. |
{
"id": "10147aa1-6311-0190-4215-aa0000000002",
"timestamp": 1611057190000,
"code": 200
}
{
"timestamp": 1632211974626,
"code": 400,
"description": "incorrect request body"
}
Пример объекта для передачи текстового Whatsapp-сообщения:
{
"@type": "outbound",
"addresses": {
"source": "79210009988",
"destination": "79215869617"
},
"body": {
"bodyType": "whatsapp",
"content": "текст сообщения"
},
"requestDelivery": false,
"expirationDate": 1621593696610,
"nodeId": 199,
"properties": {
"property1": "value1",
"property2": "value2"
}
}
Пример объекта для передачи текстового Whatsapp-сообщения с ссылкой:
{
"@type": "outbound",
"addresses": {
"source": "79210009988",
"destination": "79215869617"
},
"body": {
"bodyType": "whatsapp",
"content": "Перейдите по ссылке https://url.com"
},
"requestDelivery": false,
"expirationDate": 1621593696610,
"nodeId": 199,
"properties": {
"property1": "value1",
"property2": "value2"
}
}
Пример объекта для передачи Whatsapp-сообщения с изображением:
{
"@type": "outbound",
"addresses": {
"source": "79210009988",
"destination": "79215869617"
},
"body": {
"bodyType": "whatsapp",
"content": "{\"content_type\":\"image\",\"imageUrl\":\"http://example.com/my-image.png\",\"imageName\":\"Подпись к изображению\"}"
},
"requestDelivery": false,
"expirationDate": 1621593696610,
"properties": {
"property1": "value1",
"property2": "value2"
}
}
Пример объекта для передачи Whatsapp-сообщения с геолокацией:
{
"@type": "outbound",
"addresses": {
"source": "79219998800",
"destination": "79215869617"
},
"body": {
"bodyType": "whatsapp",
"content": "{\"content_type\":\"location\",\"longitude\":\"14.151617181920212\",\"latitude\":\"12.345678910111213\", \"caption\":\"Боксерский Клуб Puncher\", \"locationAddress\":\"Фонтанная ул. 5, Санкт-Петербург, Санкт-Петербург\"}"
},
"requestDelivery": false,
"expirationDate": 1621593696610,
"nodeId": 199
}
Метод для передачи пачки сообщений#
Отправка пачки сообщений в одном запросе#
POST URL: https://external-api.weasy.pro /pack
Тело запроса представляет собой массив из одиночных сообщений.
Описание и предназначение полей эквивалентны полям при отправке одиночного сообщения.
Headers#
Name |
Type |
Description |
|---|---|---|
Content-Type* |
string |
application/json |
Authorization* |
string |
„nodeID:password“ | base64 |
Request Body#
Name |
Type |
Description |
|---|---|---|
@type* |
string |
Тип сообщения, имеет постоянное значение оutbound (исходящее). |
expirationDate |
integer |
Время ожидания получения статуса. |
requestDelivery |
boolean |
Указывает, cледует ли предоставлять отчёт о доставке после отправки сообщения (true - отчет о доставке требуется, false - отчет о доставке не требуется). По умолчанию - true. |
nodeId* |
integer |
Номер ноды. |
content* |
string |
Контент сообщения. - Текст; - Текст со ссылкой: - Изображение с подписью; - Геолокцию. |
bodyType* |
string |
Тип сообщения (whatsapp). |
body* |
object |
Объект, в котором передаётся содержимое сообщения. |
destination* |
string |
Номер телефона получателя. |
source* |
string |
Номер телефона отправителя. |
addresses* |
object |
Объект, содержащий параметры отправителя и получателя. |
{
"timestamp": 1632213633318,
"code": 200,
"responses": [
{
"id": "41937aa1-6322-1363-3298-aa0003434990",
"timestamp": 1632213633323,
"code": 200
},
{
"id": "41937aa1-6322-1363-3298-aa0003434991",
"timestamp": 1632213633328,
"code": 200
}
]
}
{
"timestamp": "unixtime",
"code": 413,
"description": "Payload too large, reduce the number of messages in one query by no more than
100"
}
Пример передачи пачки сообщений:
[
{
"@type": "outbound",
"addresses": {
"source": "79219998800",
"destination": "79215869617"
},
"body": {
"bodyType": "whatsapp",
"content": "{\"content_type\":\"location\",\"longitude\":\"14.151617181920212\",\"latitude\":\"12.345678910111213\", \"caption\":\"Боксерский Клуб Puncher\", \"locationAddress\":\"Фонтанная ул. 5, Санкт-Петербург, Санкт-Петербург\"}"
},
"requestDelivery": false,
"expirationDate": 1621593696610,
"nodeId": 199
},
{
"@type": "outbound",
"addresses": {
"source": "79210009988",
"destination": "79215869617"
},
"body": {
"bodyType": "whatsapp",
"content": "текст сообщения"
},
"requestDelivery": false,
"expirationDate": 1621593696610,
"nodeId": 199,
"properties": {
"property1": "value1",
"property2": "value2"
}
}
]