Протокол интеграции HTTP(s) (POST) для отправки сообщений WhatsApp

Для использования данного вида интеграции, Вам необходимо зарегистрироваться на серверной платформе STREAM TELECOM по адресу.

Варианты:

1) Регистрация в личном кабинете

2) Регистрация через менеджера компании Stream Telecom

Общие положения

Серверная платформа Stream-Telecom и клиент компании (далее ЗАКАЗЧИК) обмениваются HTTPS URL- encoded запросами, используя форматы передач данных JSON, параметры запроса включаются в текст запроса в кодировке UTF-8. Обмен данными построен по схеме запрос/ответ с использованием метода POST и не требует постоянного TCP/IP соединения.

Отправлять сообщения WhatsApp можно в следующем виде:

  1. Текст
  2. Изображение
  3. Текст с изображением
Пароль для интеграции задается в настройках пользователя во вкладке Настройки API.

Точка доступа

Запросы ЗАКАЗЧИКА должны передаваться на сервер ИСПОЛНИТЕЛЯ по URL: http://gateway.api.sc/rest/Send/SendIM/Wa/

(ssl: https://gateway.api.sc/rest/Send/SendIM/Wa/)

Функции

Пример POST запроса:

HTTP/1.1

HOST: http://gateway.api.sc/rest/Send/SendIM/Wa/

Content-Type: application/x-www-form-urlencoded

HTTP/1.1 100 Continue

login=testuser

&pass=userpassword

&sourceAddress=whatsappname

&text=Привет WhatsApp

&imageURL=https://site.com/image.jpg

&phone=79211234567

Ответ

В ответ возвращается цифровой id сообщения WhatsApp


Название

Обязательное поле

Тип данных

Описание

login

Да

String

Логин от учетной записи Stream Telecom

pass

Да

String

Пароль API от учетной записи Stream Telecom

sourceAddress

Да

String

Имя отправителя, зарегистрированное для WhatsApp

text

Нет

String

Текст отправляемого сообщения WhatsApp. Сообщение не должно содержать более 1000 символов. (необязателен, если используется параметр imageURL)

imageURL

Нет

String

URL адрес изображения (необязателен, если используется параметр text)

phone

Да

Integer

Номер получателя сообщения WhatsApp

Пример POST запроса:

HTTP/1.1

HOST: http://gateway.api.sc/rest/Send/SendIM/Wa/

Content-Type: application/x-www-form-urlencoded

HTTP/1.1 100 Continue

login=testuser

&pass=userpassword

&sourceAddress=whatsappname

&text=Привет WhatsApp

&imageURL=https://site.com/image.jpg

&phone=79211234567

&sourceAddressSMS=SMS_Sender

&textSMS=Привет WhatsApp


Ответ

В ответ возвращается цифровой id сообщения WhatsApp


Название

Обязательное поле

Тип данных

Описание

login

Да

String

Логин от учетной записи Stream Telecom

pass

Да

String

Пароль API от учетной записи Stream Telecom

sourceAddress

Да

String

Имя отправителя, зарегистрированное для WhatsApp

text

Нет

String

Текст отправляемого сообщения WhatsApp. Сообщение не должно содержать более 1000 символов. (необязателен, если используется параметр imageURL)

imageURL

Нет

String

URL адрес изображения (необязателен, если используется параметр text)

phone

Да

Integer

Номер получателя сообщения WhatsApp

sourceAddressSMS

Нет

String

Имя отправителя из личного кабинета, от которого будет отправлено смс в случае недоставки сообщения WhatsApp или истечения его срока жизни (24 часа)

textSMS

Нет

String

Текст смс, которое будет отправлено в случае недоставки сообщения WhatsApp или истечения его срока жизни (24 часа)

Пример POST запроса:

HTTP/1.1

HOST: http://gateway.api.sc/rest/Send/SendIM/Wa/

Content-Type: application/x-www-form-urlencoded

HTTP/1.1 100 Continue

login=testuser

&pass=userpassword

&messageId=12



Название

Обязательное поле

Тип данных

Описание

login

Да

String

Логин от учетной записи Stream Telecom

pass

Да

String

Пароль API от учетной записи Stream Telecom

messageId

Да

String

Id сообщения WhasApp (можно указывать несколько id через запятую)


Ответ

{
"12": {
"wa": {
"error": 0,
"state": "read",
"state_error": "null",
"state_time": "2017-04-10 11:07:55",
"price": 0
}
}
}

Параметр

Описание

12

Id сообщения WhatsApp

wa

Тип сообщения

error (boolean)

0 – запрос успешный, 1 – имеется ошибка в запросе

state

Статус сообщения

state_error

Причина, по которой сообщение не было доставлено абоненту

state_time

Время получения статуса

price

Цена за сообщение

Статусы WhatsApp

Статус

Описание

DELIVERED

Доставлено

UNDELIVERED

Не доставлено

SENT

Отправлено

READ

Прочитано


Ошибки WhatsApp

Ошибка

Описание

user-blocked

Абонент заблокировал рассылку

not-template-match

Не найден подходящий шаблон сообщения

filtered

Сообщение содержит запрещенные к использованию слова

Коды ошибок REST

REST error code

HTTP status code

Описание

-

200

OperationComplete

1

400

ArgumentCanNotBeNullOrEmpty

2

400

InvalidArgument

3

400

InvalidSessionID

4

401

UnauthorizedAccess

5

403

NotEnoughCredits

6

400

InvalidOperation

7

403

Forbidden

8

500

GatewayError

9

500

InternalServerError