Getting Started
The information is not available in your language.
Использование BYTEHAND API доступно для всех пользователей, для его активации не требуется совершать дополнительных действий.
Запросы к API
Взаимодействие с BYTEHAND API v2 происходит по протоколу HTTPS. Для подключения необходимо использовать базовый адрес https://api.bytehand.com/v1.
Ограничения и рекомендации
При работе с BYTEHAND API следует обратить внимание, что:
- Все параметры, которые содержат специальные символы (плюс, пробел и т.д.), должны быть закодированы при помощи функции urlEncode для передачи в HTTP-запросе.
- Значение заголовка Content-Type должно быть установлено как
application/json;charset=UTF-8. - Если запрос требует передать данные в теле запроса, то необходимо предоставить объект или список объектов в формате JSON, кодировка UTF-8.
- Если явно не указано другого, после обработки запроса BYTEHAND API возвращает ответ в формате JSON, кодировка UTF-8.
Авторизация
Для выполнения всех запросов BYTEHAND API v1 требуется авторизация пользователя, для этого в запросе передаются два параметра id и key.
Параметры запроса | |
---|---|
id | number Обязательный параметр. Идентификатор пользователя. |
key | string Обязательный параметр. Уникальный ключ пользователя. Cтрока из 16 символов, пример AB48D920104CE241. |
Значения этих параметров можно получить в личном кабинете на странице
Настройки → вкладка Безопасность → раздел Управление ключами доступа, версия API v1.Сохраняйте значение ключа в тайне и не передавайте его другим лицам. Используйте кнопку Пересоздать ключ, если ключ был скомпрометирован и вам требуется изменить его значение.
Извещения о статусе СМС сообщений
Если в личном кабинете на странице
Настройки → вкладка СМС → раздел Извещения о статусе СМС сообщений вы выбрали пункт Передавать через HTTP GET запрос по адресу, то информация об отправленных СМС сообщениях будет передаваться на указанный адрес.При создании своего обработчика передаваемой информации необходимо учитывать:
- Все параметры передаются методом GET.
- В ответ на передачу статуса сообщений клиент должен вернуть HTTP код 200 (OK), это будет означать, что статус обработан без ошибки.
- Обработка запроса должны завершиться в течение 10 секунд, иначе BYTEHAND будет считать, что обработка закончилась с ошибкой.
- Статусы сообщений, которые были обработаны с ошибкой или не были обработаны, будут переданы повторно.
- Статусы, не обработанные в течение 48 часов с момента отправки сообщения, далее не передаются клиенту.
Для защиты данных от подмены проверяйте аутентичность передаваемой информации с помощью секретного параметра или проверяйте значение параметра key (api_key_v1).
В параметрах запроса, в фигурных скобках, можно указать, какие поля данных вы хотите получать. Если поля данных не указаны, то передаются поля: id, key, action, message, description, parts, cost, error_code, updated_at.
Поле данных | Описание |
---|---|
id, user_id | Идентификатор пользователя. |
key, api_key_v1 | Последние 8 символов уникального ключа пользователя. |
action | Операция, для статуса СМС сообщения это значение outgoingStatus. |
message, sms_id | Идентификатор СМС сообщения. |
description, status, state | Статус сообщения. Возможные значения: NEW, PAUSED, DELIVERED, EXPIRED, DELETED, UNDELIVERABLE, ACCEPTED, UNKNOWN, REJECTED. |
parts | На сколько частей было разбито исходное сообщение. |
cost, price | Стоимость СМС сообщения. |
error_code | Код ошибки. |
updated_at | Дата и время последнего изменения статуса СМС сообщения. |
Пример 1
В качестве адреса в Настройках указано:
http://www.somesite.com/bytehand_callback?secret=msp5Tca5vuHkSz7C&sms=${sms_id}&state=${state}
Ваш обработчик будет вызываться так:
GET http://www.somesite.com/bytehand_callback?secret=msp5Tca5vuHkSz7C&sms=33328197206816238&state=DELIVERED
Пример 2
В качестве адреса в Настройках указано:
http://www.somesite.com/bytehand_callback
Ваш обработчик будет вызываться так:
GET http://www.somesite.com/bytehand_callback?id=1234&key=23AD33FE&action=outgoingStatus&message=33328197206816238&description=DELIVERED&error_code0&updated_at=2013-01-20+17%3A50%3A03
Получение даты и времени
Все методы BYTEHAND API возвращают дату и время в часовом поясе, заданном в настройках пользователя, в формате yyyy-MM-dd'T'HH:mm:ss.SSSZ, пример: 2017-04-25T00:41:27.000+0300.
Передача даты и времени
Все методы BYTEHAND API получают дату и время по умолчанию в часовом поясе, заданном в настройках пользователя, рекомендуемый формат yyyy-MM-dd'T'HH:mm:ss.SSSZ, пример: 2017-04-25T00:41:27.000+0300.
Дополнительные форматы
Кроме рекомендуемого формата возможно использовать любой из дополнительных форматов.
Дополнительный формат | Примеры |
---|---|
ISO_ZONED_DATE_TIME | 2011-12-03T10:15:30+01:00[Europe/Paris] |
ISO_OFFSET_DATE_TIME | 2011-12-03T10:15:30+01:00 |
ISO_INSTANT | 2011-12-03T10:15:30Z |
ISO_LOCAL_DATE_TIME | 2011-12-03T10:15:30 |
ISO_DATE | 2011-12-03+01:00 или 2011-12-03 |
BASIC_ISO_DATE | 20111203 |
RFC_1123_DATE_TIME | Tue, 3 Jun 2008 11:05:30 GMT |
ISO_TIME | 10:15:30+01:00 или 10:15:30 |
Предопределённые значения
Также можно использовать предопределённые значения и их комбинации.
Предопределённое значение | Описание |
---|---|
now | Устанавливает дату и время на текущее значение. |
today | Устанавливает дату на сегодня. |
yesterday | Устанавливает дату на вчера. |
tomorrow | Устанавливает дату на завтра. |
midnight | Устанавливает время на начало дня, 00:00:00. |
noon | Устанавливает время на полдень, 12:00:00. |
Модификаторы
Дополнительно можно использовать модификаторы даты и времени и их комбинации.
Модификатор | Описание |
---|---|
years, year или y | Изменяет годы. |
months, month или mon | Изменяет месяцы. |
weeks, week или w | Изменяет недели. |
days, day или d | Изменяет дни. |
hours, hour или h | Изменяет часы. |
minutes, minute, min или m | Изменяет минуты. |
seconds, second, sec или s | Изменяет секунды. |
Примеры
Примеры использования различных форматов, предопределённых значений и модификаторов:
- tomorrow 14:00 - означает 14:00 завтрашнего дня.
- 2011-12-03 noon - означает 2011-12-03 12:00:00.
- 3h - означает взять текущую дату и время и прибавить к ним 3 часа.
- now -12 hours +1min - означает взять текущую дату и время, отнять 12 часов и прибавить 1 минуту.