SMS IO.RU API Documentation - smsioru/simple GitHub Wiki

Авторизация

Все методы требуют авторизации.

Для авторизации используется токен выданный при регистрации. Чтобы пройти авторизацию токен передается в заголовке Authorization при каждом выполнении запроса к API системы. Токен может быть заменен в любое время по инициативе пользователя с помощью специализированного API для работы с токенами авторизации.

Пример:

Authorization: Token _YOUR_TOKEN_HERE_

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

URL: https://api.sms-io.ru/sms-api/v1/message/

METHOD: POST

REQUEST BODY:

{
    "external_id": "string",
    "to_number": "string",
    "text": "string",
    "project_alias": "string",
    "ttl_in_seconds": "integer"
}
**Обязательные параметры**:
external_id* - Уникальный идентификатор сообщения в вашей системе
to_number* - Номер телефона получателя сообщения (на данный момент мы работаем только с получателями из России)
text* - Текст сообщения (на данный момент мы поддерживаем только отпраку сообщений до 70 символов)

Дополнительные параметры:
project_alias - Алиас проекта с которым будет связано сообщение (необязательный параметр)
ttl_in_seconds - Заданное время жизни сообщения в секундах, если сообщение не отправлено или не доставлено в течении заданного времени, то оно исключается из очереди и заблокированная сумма, равная стоимости сообщения, возвращается на баланс пользователя.

RESPONSE BODY:

{
    "created_at": "string",
    "external_id": "string",
    "message_id": "string",
    "status": "string",
    "to_number": "string",
    "project_alias": "string",
    "ttl_in_seconds": "integer"
}
created_at - Время создания сообщения
external_id - Уникальный идентификатор сообщения в вашей системе
message_id - Уникальный идентификатор сообщения в системе SMS-IO.RU
status - Статус сообщения
to_number - Номер телефона получателя сообщения
project_alias - Алиас проекта с которым связано сообщение
ttl_in_seconds - Заданное время жизни сообщения

Пример (с использованием httpie)

Запрос:

http POST https://api.sms-io.ru/sms-api/v1/message/ \
    Authorization:"Token _YOUR_TOKEN_HERE_" \
    external_id="my_external_id" \
    to_number="+79876543210" \
    text="Текст сообщения"

Ответ:

{
    "created_at": "2019-10-13T14:13:10.403770Z",
    "external_id": "my_external_id",
    "message_id": "86e7edd8-e85a-4134-9053-a0e337b411fd",
    "status": "Ready",
    "to_number": "+79876543210",
    "project_alias": "default",
    "ttl_in_seconds": 259200
}

Чтение сообщения

URL: https://api.sms-io.ru/sms-api/v1/message/_MESSAGE_ID_OR_EXTERNAL_ID_/

_MESSAGE_ID_OR_EXTERNAL_ID_ - Идентификатор сообщения. В качестве идентификатора можно использлвать как внутренний так и внешний идентификаторы.

METHOD: GET

RESPONSE BODY:

{
    "created_at": "string",
    "external_id": "string",
    "message_id": "string",
    "status": "string",
    "to_number": "string",
    "project_alias": "string",
    "ttl_in_seconds": "integer"
}
created_at - Время создания сообщения
external_id - Уникальный идентификатор сообщения в вашей системе
message_id - Уникальный идентификатор сообщения в нашей системе
status - Статус сообщения
to_number - Номер телефона получателя сообщения
project_alias - Алиас проекта с которым связано сообщение
ttl_in_seconds - Заданное время жизни сообщения

Пример (с использованием httpie)

Запрос:

http https://api.sms-io.ru/sms-api/v1/message/my_external_id/ Authorization:"Token _YOUR_TOKEN_HERE_"

или

http https://api.sms-io.ru/sms-api/v1/message/86e7edd8-e85a-4134-9053-a0e337b411fd/ Authorization:"Token _YOUR_TOKEN_HERE_"

Ответ:

{
    "created_at": "2019-10-13T14:13:10.403770Z",
    "external_id": "my_external_id",
    "message_id": "86e7edd8-e85a-4134-9053-a0e337b411fd",
    "status": "Ready",
    "to_number": "+79876543210",
    "project_alias": "default",
    "ttl_in_seconds": 259200
}

Чтение списка сообщений

URL: https://api.sms-io.ru/sms-api/v1/message/?page=_PAGE_&page_size=_PAGE_SIZE_&ordering=_ORDERING_

Доступные параметры:

page - Страница списка
page_size - Кол-во элементов на странице (не более 1000)
ordering - Порядок сортировки сообщений (возможные значения: external_id, to_number, status, created_at)

METHOD: GET

RESPONSE BODY:

{
    "count": "number",
    "next": "string",
    "previous": "string",
    "results": "array"
}
count - Общее количество ваших сообщений
next - Ссылка на следующую страницу (если следующей стрины нет, то вернет null)
previous - Ссылка на предыдущую страницу (если следующей стрины нет, то вернет null)
results - Массив сообщений в формате:
{
    "created_at": "string",
    "external_id": "string",
    "message_id": "string",
    "status": "string",
    "to_number": "string",
    "project_alias": "string",
    "ttl_in_seconds": "integer"
}

Пример (с использованием httpie)

Запрос:

http "https://api.sms-io.ru/sms-api/v1/message/?page=2&page_size=2" Authorization:"Token _YOUR_TOKEN_HERE_"

Ответ:

{
    "count": 8, 
    "next": "https://api.sms-io.ru/sms-api/v1/message/?page=3&page_size=2", 
    "previous": "https://api.sms-io.ru/sms-api/v1/message/?page_size=2", 
    "results": [
        {
            "created_at": "2019-10-13T13:10:07.404515Z", 
            "external_id": "my_external_id_1", 
            "message_id": "3dd258d8-dd7e-4c83-96fe-1e6976f28f9a", 
            "project_alias": "default", 
            "status": "Ready", 
            "to_number": "+79876543210",
            "ttl_in_seconds": 259200
        }, 
        {
            "created_at": "2019-10-13T13:10:10.095029Z", 
            "external_id": "my_external_id_2", 
            "message_id": "d8a19b48-f05b-424e-a027-9dae7d071bd8", 
            "project_alias": "default", 
            "status": "Ready", 
            "to_number": "+79876543210",
            "ttl_in_seconds": 259200
        }
    ]
}

Примечание

Описание нашего API доступнов в формате спецификации OpenAPI (Swagger) v2 - https://github.com/smsioru/swagger.