Отправка сообщений#

Как упоминалось ранее, отправка сообщений возможна двумя способами: по одному или пачкой.

Метод для передачи одиночного сообщения#

Отправка одиночного сообщения#

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

Время ожидания получения статуса.
Тип значения - timestamp в миллисекундах или в формате ISO 8601.
По умолчанию составляет 24 часа с момента отправки сообщения

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

Время ожидания получения статуса.
Тип значения - timestamp в миллисекундах или в формате ISO 8601.
По умолчанию составляет 24 часа с момента отправки сообщения

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"
    }
  }
]