---
description: >-
  Отправленное сообщение поступит абоненту в виде звонка; последние цифры номера
  соответствуют коду, переданному в сообщении.
---

# Отправка FLASHCALL

{% hint style="info" %}
**Мы рекомендуем использовать канал SMS вместе с Flashcall для гарантированной доставки кода вашим пользователям.** \
\
Операторы связи могут блокировать часть отправленных звонков российским абонентам, в связи с этим уровень доставки Flashcall может снизиться.
{% endhint %}

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

<mark style="color:green;">`POST`</mark> `https://direct.i-dgtl.ru/api/v1/message`

Метод позволяет отправлять массив одиночных сообщений **(от 1 до 1000)**

#### Headers

| Name                                            | Type   | Description        |
| ----------------------------------------------- | ------ | ------------------ |
| Authorization<mark style="color:red;">\*</mark> | string | `Basic {TOKEN_1}`  |
| Content-Type<mark style="color:red;">\*</mark>  | string | `application/json` |

#### Request Body

| Name                                          | Type    | Description                                                                                                                                                                                                               |
| --------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| channelType<mark style="color:red;">\*</mark> | string  | Канал отправки (`FLASHCALL`)                                                                                                                                                                                              |
| senderName<mark style="color:red;">\*</mark>  | string  | Имя отправителя. Допускается любая строка. Звонок будет произведен с номера телефона, последние цифры которого являются кодом подтверждения                                                                               |
| destination<mark style="color:red;">\*</mark> | string  | Номер абонента                                                                                                                                                                                                            |
| content<mark style="color:red;">\*</mark>     | string  | Числовой код, от 3 до 6 символов                                                                                                                                                                                          |
| tags                                          | array   | Теги сообщения (массив строк). Каждый тег должен соответствовать выражению `^\w+$` (допускаются буквы в любом регистре, цифры и нижнее подчеркивание "\_")                                                                |
| callbackUrl                                   | string  | Адрес для отправки callback                                                                                                                                                                                               |
| callbackEvents                                | array   | События, по которым будут отправлены callback (массив строк). При наличии `callbackUrl` и отсутствии `callbackEvents` в запросе, будет отправлен callback по событию `delivered`.                                         |
| ttl                                           | integer | <p>Время жизни сообщения в секундах. По истечении ttl сообщению присваивается финальный статус.</p><p><code>30</code><strong><code>≤</code></strong><code>ttl</code><strong><code>≤</code></strong><code>86400</code></p> |

::::::{tab-set}

:::::{tab-item} 200

В случае успешного запроса возвращается ответ, в котором перечислены идентификаторы сообщений и коды результата. При значении errors = false гарантируется, что все переданные сообщения успешно созданы.

```
{
  "errors": false,
  "items": [
    {
      "messageUuid": "063474ec-a34f-4558-90c5-984395000004",
      "code": 201
    },
    {
      "messageUuid": "063564ec-a34f-4558-90c5-984395000005",
      "code": 201
    }
  ]
}
```
:::::


:::::{tab-item} 401

Использование невалидного токена / отсутствие заголовка авторизации.

::::{tab-set}

:::{tab-item} 4012

```
{
    "error": {
        "code": 4012,
        "msg": "Bad credentials"
    }
}
```
:::


:::{tab-item} 4010

```
{
    "error": {
        "code": 4010,
        "msg": "Not Authenticated"
    }
}
```
:::

::::

:::::


:::::{tab-item} 403

Использование неподходящего токена.

```
{
    "error": {
        "code": 4030,
        "msg": "Access Denied"
    }
}
```
:::::


:::::{tab-item} 422

Невалидные параметры в теле запроса; ниже приведены несколько примеров ответа.

```
{
    "error": {
        "code": 4220,
        "msg": "Invalid content"
    }
}
-----------------------------------------------------------------------------
{
    "error": {
        "code": 4220,
        "msg": "Invalid msisdn"
    }
}
```
:::::


:::::{tab-item} 402

Payment Required. Недостаточно средств на балансе.

```javascript
{
    "error": {
        "code": 402,
        "msg": "Insufficient funds"
    }
}
```
:::::

::::::


{% hint style="warning" %}
Рекомендуемое время ожидания ответа: 70 секунд.\
Как правило, ответ на запрос возвращается не более чем за несколько секунд, но таймаут величиной в 70 секунд позволяет гарантированно получить ответ на запрос, в том числе в ситуациях повышенной нагрузки.
{% endhint %}

Возможные варианты перечислений:

| Параметр       | Варианты                                                              |
| -------------- | --------------------------------------------------------------------- |
| callbackEvents | [События для отправки callback](../extra/references/#callback-events) |

## Пример запроса <a href="#example" id="example"></a>

::::::{tab-set}

:::::{tab-item} JSON

<pre><code>POST https://direct.i-dgtl.ru/api/v1/message
Authorization: Basic QWxhZGRpbjpvc...
Content-Type: application/json
[
  {
<strong>    "channelType": "FLASHCALL",
</strong>    "senderName": "FLASHCALL",
    "destination": "79818268484",
    "content": "1234"
  }
]
</code></pre>
:::::


:::::{tab-item} cURL

```
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvc...' \
-d '[{"channelType":"FLASHCALL","senderName":"FLASHCALL","destination":"79818268484","content":"1234"}]'
```
:::::

::::::


{% hint style="info" %}
В примере указан минимальный набор параметров, который позволяет моментально отправить FLASHCALL-сообщение. Вы можете настроить коллбэки, добавить теги и внутренний идентификатор, используя опциональные параметры, описанные выше на данной странице.&#x20;
{% endhint %}

## Отправка конверсии FLASHCALL

<mark style="color:green;">`POST`</mark> `https://direct.i-dgtl.ru/api/v1/flashcall-conversion`

Метод используется для того, чтобы сообщить о корректности введенного пользователем кода, отправленного в FLASHCALL-сообщении

#### Headers

| Name          | Type   | Description        |
| ------------- | ------ | ------------------ |
| Authorization | string | `Bearer {TOKEN_1}` |
| Content-Type  | string | `application/json` |

#### Request Body

| Name        | Type   | Description                                                                                                                |
| ----------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| messageUuid | string | Идентификатор flashcall-сообщения                                                                                          |
| result      | string | <p>Результат ввода кода<br>Код подтвержден -- <code>NUMBER_VERIFIERD</code><br>Неверный код -- <code>WRONG_CODE</code></p> |
| code        | string | Код                                                                                                                        |

::::::{tab-set}

:::::{tab-item} 200 Совпадает с ответом на отправку одиночных сообщений

```
{
  "errors": false,
  "items": [
    {
      "messageUuid": "063474ec-a34f-4558-90c5-984395000004",
      "code": 201
    },
    {
      "messageUuid": "063564ec-a34f-4558-90c5-984395000005",
      "code": 201
    }
  ]
}
```
:::::

::::::


Возможные варианты перечислений:

| Параметр | Варианты                                                              |
| -------- | --------------------------------------------------------------------- |
| result   | [Результат отправки FlashCall](../extra/references/#flashcall-result) |

{% hint style="info" %}
Передача конверсии помогает нам улучшать качество отправки FLASHCALL-сообщений
{% endhint %}

## Пример запроса <a href="#conversion-example" id="conversion-example"></a>

::::::{tab-set}

:::::{tab-item} JSON

```
POST https://direct.i-dgtl.ru/api/v1/flashcall-conversion
Authorization: Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
[
  {
    "messageUuid": "063464ec-a34f-4558-90c5-984395000004",
    "result": "NUMBER_VERIFIED",
    "code": "7777"
  }
]
```
:::::


:::::{tab-item} cURL

```
curl -X POST 'https://direct.i-dgtl.ru/api/v1/flashcall-conversion' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-d '[{"messageUuid":"063464ec-a34f-4558-90c5-984395000004","result":"NUMBER_VERIFIED","code":"7777"}]'
```
:::::

::::::

