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_TIME2011-12-03T10:15:30+01:00[Europe/Paris]
ISO_OFFSET_DATE_TIME2011-12-03T10:15:30+01:00
ISO_INSTANT2011-12-03T10:15:30Z
ISO_LOCAL_DATE_TIME2011-12-03T10:15:30
ISO_DATE2011-12-03+01:00 или 2011-12-03
BASIC_ISO_DATE20111203
RFC_1123_DATE_TIMETue, 3 Jun 2008 11:05:30 GMT
ISO_TIME10: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 минуту.