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

### Отправка сообщения пользователю через UUID чата

Вы можете отвечать на сообщения клиентов по API, используя следующий формат:

* **Endpoint:** <https://dashboard.fstrk.io/api/partners/connector/>
* **HTTP-метод:** `POST`

```json
{
   "event": "message_created",
   "chat": {
      "uuid": "uuid чата пользователя"
   },
   "message": {
      "type": "text",
      "text": "Привет, у меня все отлично!"
   },
   "sender": {
      "name": "Иван Пупкин",
      "uuid": "uuid оператора"
   },
   "timestamp": 1624607235580
}
```

### Отправка PUSH-сообщения по профилю (UUID/номер телефона) для CDP

Предусловие. Настроенная интеграция по передаче информации профиля Fasttrack в CDP (настраивается на стороне Fasttrack кастомно или продуктизировано).

Отправить сообщение по UUID:

* **Endpoint:** <https://dashboard.fstrk.io/api/partners/push-messages/>
* **HTTP-метод:** `POST`

```json
{
   "profile": {
      "uuid": "00000000-0000-0000-0000-000000000000"
   },
   "content": {
      "type": "TEXT",
      "text": "Текст сообщения"
   }
}
```

Отправить сообщение по номеру телефона:

* **Endpoint:** <https://dashboard.fstrk.io/api/partners/push-messages/>
* **HTTP-метод:** `POST`

```json
{
   "profile": {
      "phone_number": "+79999999999"
   },
   "content": {
      "type": "TEXT",
      "text": "Текст сообщения"
   }
}
```

### Отправка платного сообщения WABA пользователю при инициации (написать первым) или за пределами 24-х часового окна для CDP и CRM

Предварительно шаблоны должны заведены быть на платформе Fasttrack и согласованы провайдером (в текущий момент поддерживаются EDNA и SMS Traffic).

* **Endpoint:** <https://dashboard.fstrk.io/api/partners/push-messages/>
* **HTTP-метод:** `POST`

```json
{
   "profile": {
      "phone_number": "+79999999999"
   },
   "content": {
      "type": "WHATSAPP_TEMPLATE",
      "whatsapp_template": {
         "pid": "hello_world"
      },
      "whatsapp_template_variables": {
         "v1": "Иван"
      }
   }
}
```

### Отправка сообщения используя “каскад” для CDP или CRM

Отправка одного запроса для отправки на несколько каналов пошагово.

* **Endpoint:** <https://cascades.fstrk.io/>
* **HTTP-метод:** `POST`

```json
{
   "phone_number": "79991234567",
   "routing": [
      "BOT",
      "WHATSAPP",
      "VIBER",
      "VK",
      "SMS"
   ],
   "validity_period_seconds": 120,
   "whatsapp_template_name": "hello_world",
   "whatsapp_template_variables": {
      "v1": "Иван"
   }
}
```

{% hint style="info" %}
Ключи для авторизации при отправке каскадных запросов получаются у вашего проектного менеджера
{% endhint %}

### Список шаблонов WABA

Созданные и добавленные.

Данный сценарий не является необходимым для отправки шаблонов, может использоваться для визуализации шаблонов в CDP и CRM.

* **Endpoint:** <https://dashboard.fstrk.io/api/partners/whatsapp/templates/>
* **HTTP-метод:** `GET`

Пример ответа:

```json
{
   "count": 1,
   "next": null,
   "previous": null,
   "results": [
      {
         "provider_template_id": "test",
         "name": "test",
         "status": "NOT_WORKED",
         "sections": [
            "CHAT_CENTER",
            "BROADCAST_CAMPAIGNS",
            "CONSTRUCTOR"
         ],
         "text": "Hello: {{ v1 }}.",
         "variables": [
            "v1"
         ],
         "buttons": [
            {
               "text": "test"
            }
         ]
      }
   ]
}
```

### Доставка статусов WABA

Имеется возможность дополнительно в настройках в учетке Fasttrack установить специальный URL адрес, на который будут приходить статусы о доставках. Можно при необходимости добавить end-point в рамках интеграции (п.0)

Пример события:

```json
{
   "timestamp": 1651777267.2949505,
   "type": "update",
   "model": "message",
   "data": {
      "uuid": "7feeec45-8013-4757-afb2-6326b358082e",
      "status": "sent",
      "detail": null,
      "messages": [
         {
            "status": "undelivered",
            "error": "failed"
         }
      ]
   }
}
```

### Доставка статусов по каскадным отправкам

Позволяет получать статусы доставок, выполненные по цепочке. Посылка пакета со статусами происходит в том случае, когда транзакция завершается. Устанавливается вручную, через техническую поддержку.

Пример события:

```json
{
   "event_type": "transaction.done",
   "payload": {
      "uuid": "04191c1d-e7dd-4572-a544-6eb9c2855a5e",
      "done_at": "2022-05-05T18:41:00.831294Z",
      "done_status": "MESSAGE_SENT",
      "successful_routes": [
         "WHATSAPP"
      ],
      "route_details": {
         "BOT": {
            "uuid": "cfa41bcb-fdf6-4a34-a8a7-4334e5014bbc",
            "state": "ERROR",
            "response_status": null,
            "response_description": null
         },
         "WHATSAPP": {
            "uuid": "855d6d27-58d4-4ae4-9deb-de6c504cc845",
            "state": "SENT",
            "response_status": "DELIVERED",
            "response_description": null
         }
      }
   },
   "timestamp": 1651776060.8439758
}
```


---

# 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://docs.fstrk.io/knowledge_base/intagrations/sobstvennaya-crm-and-cdp-new/otpravka-soobshenii-po-api.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.
