Взаимодействие с Weasy по API
  • О сервисе API Weasy
  • Взаимодействие с сервисом
    • Отправка сообщений
    • Получение уведомлений
Powered by GitBook
On this page
  • Метод для передачи одиночного сообщения
  • Отправка одиночного сообщения
  • Метод для передачи пачки сообщений
  • Отправка пачки сообщений в одном запросе
  1. Взаимодействие с сервисом

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

Ниже представлено описание объектов для отправки сообщений.

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

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

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

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"
    }
  }
]
PreviousВзаимодействие с сервисомNextПолучение уведомлений

Last updated 2 years ago