# Руководство по взаимодействию с сервисом

**SMPP** — протокол, описывающий взаимодействие Клиента с SMS-сервером.

Взаимодействие Клиента с SMS-сервером Платформы осуществляется по адресу **`имя_хоста`** порт **`2777`**

#### Настройка SMPP-клиента <a href="#nastroika-smpp-klienta" id="nastroika-smpp-klienta"></a>

Для работы с Платформой по протоколу SMPP, необходимо произвести следующие настройки SMPP-клиента:

*Host:* имя\_хоста

*Port:* 2777

| Mode of Сonnections      | Transceiver |
| ------------------------ | ----------- |
| SMPP System ID:          | login\*     |
| SMPP Password:           | password\*  |
| SMPP System type:        | NULL        |
| SMPP Version:            | 3.4         |
| SMS per second:          | 30          |
| Enquire\_link:           | 60 sec.     |
| Transaction timeout:     | 30 sec.     |
| Source Address TON:      | 0           |
| Source Address NPI:      | 0           |
| Destination Address TON: | 1           |
| Destination Address NPI: | 1           |

\* Ваш логин и пароль, полученный при регистрации в сервисе.

При подключении необходимо обратить внимание на частоту отправки пакета **ENQUIRE\_LINK**.

Для исключения избыточной нагрузки и защиты от ошибок в ПО клиентов наша система ограничивает отправку данного пакета не чаще, чем раз в 10 секунд, но рекомендуется ставить 30-60 секунд.

**Поддерживаются следующие кодировки:**

* 7-битная GSM для латинского текста с поддержкой европейских символов − (coding = 0);
* 8-битная ISO-8859-1 (Latin-1) для латинского текста или бинарных данных − (coding = 1);
* UCS2 (UTF-16) для национальных алфавитов (например, русского) − (coding = 2).

**SMPP использует три режима соединения:**

* **bind\_transmitter** - Режим клиент -> сервер. Позволит вам отправлять команды на сервер, но не получать команды от него.
* **bind\_receiver** - Режим клиент <- сервер. Такой режим *не* позволит вам отправлять команды на отправку сообщений и запросы статусов.
* **bind\_transceiver** - Режим клиент <-> сервер. Универсальный режим соединения - позволит и передавать и принимать команды.

Используйте **`bind_transceiver`**, если вам необходимо получать от сервера статусы сообщений в режиме реального времени. Если же вы собираетесь отправлять сообщения и запрашивать статусы самостоятельно - вам может хватить и **`bind_transmitter`** режима.

В случае неудачной авторизации, **`command_status`** ответа будет равен **ESME\_RBINDFAIL**. В случае успеха - **ESME\_ROK**.

После успешной авторизации вы можете начинать отправлять команды серверу. Если вы использовали **`bind_transceiver`**, то сервер попытается отправить вам статусы сообщений, которые не успел или не смог отправить ранее по каким-либо причинам.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sms-club.gitbook.io/smsclub24ru/protokol-smpp-v.3.4/rukovodstvo-po-vzaimodeistviyu-s-servisom.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
