LINK Руководство по внедрению мобильности REST API SMS
LINK Mobility предоставляет услуги по доставке сообщений, микроплатежей и услуг на основе местоположения. Платформа действует как прозрачный, white-label-приобретатель контента и маршрутизатор транзакций между поставщиками услуг и операторами.
LINK Mobility предоставляет RESTful API, который может использоваться для доступа к сервисам LINK Mobility, таким как отправка SMS. Этот API разработан для простоты использования и совместимости со всеми современными языками и фреймворками. Используя язык по вашему выбору, ваше приложение может использовать Link Mobility REST API для реализации мощных возможностей обмена сообщениями и оплаты
© LINK Mobility, 10 марта 2021 г.
Юридическая информация
Информация, представленная в этом документе, является исключительной собственностью и защищена авторским правом Netsize. Она конфиденциальна и предназначена для строго информационного использования. Она не является обязательной и может быть изменена без предварительного уведомления. Любое несанкционированное раскрытие или использование будет считаться незаконным.
Netsize™ и linkmobility™ защищены законами Франции, ЕЭС и международными законами об интеллектуальной собственности.
Все остальные упомянутые товарные знаки являются исключительной собственностью их владельцев.
Ничто из содержащегося в настоящем документе не должно толковаться как предоставление какой-либо лицензии или права по патенту, авторскому праву или товарному знаку Netsize.
РАЗМЕР НЕТТО
Анонимное общество в столице 5 478 070 евро
Siège Social: 62, авеню Эмиля Золя, 92100, Булонь, Франция.
418 712 477 RCS Нантер
http://www.LinkMobility.com
http://www.linkmobility.com
Объем документа
В этом документе описывается, как поставщик услуг использует LINK Mobility REST API для SMS. Он предназначен для технических архитекторов и дизайнеров, которые реализуют услуги поставщика услуг.
1. Основное использование
Очень просто отправить SMS. Вы отправляете HTTP-запрос в LINK Mobility, что можно сделать, используя всего лишь web браузер.
2. Функциональный надview
Система LINK Mobility предоставляет следующие основные функции для SMS-сообщений:
Отправка SMS-сообщений, завершаемых через мобильный телефон (MT), таких как текстовые или двоичные (например, WAP Push) сообщения с платной и стандартной ставкой.
Получение отчетов о доставке отправленных MT-сообщений.
Прием SMS-сообщений с мобильного телефона (MO) по премиальным и стандартным тарифам.
API SMS REST предназначен для отправки стандартных MT SMS-сообщений.
API отправляет все SMS-сообщения асинхронно, обеспечивая такие функции, как:
«Вызвал и забыл» — Поставщик услуг хочет иметь более предсказуемое время реагирования и не хочет ждать результата от Оператора.
Функция повторной попытки – LINK Mobility повторно отправит сообщение, если у оператора возникнут временные проблемы.
2.1 Отправка SMS-сообщения
Поставщик услуг Netsize Потребитель
- Отправить MT-сообщение
- Идентификатор обратного сообщения
- Отправить СМС сообщение
- Доставить отчет о доставке
- Отправить отчет о доставке
Базовый процесс отправки SMS-сообщений описывается следующим образом:
Поставщик услуг делает запрос на отправку SMS-сообщения получателю через систему LINK Mobility.
Идентификатор сообщения возвращается поставщику услуг. Этот идентификатор может быть использован, например, для сопоставления сообщения с правильным отчетом о доставке.
LINK Mobility осуществляет маршрутизацию и доставку SMS-сообщений указанному получателю.
Отчет о доставке формируется, например, когда SMS-сообщение доставляется на устройство Потребителя.
Отчет о доставке отправляется поставщику услуг. Отчет содержит тот же идентификатор сообщения, который был возвращен на шаге 2.
Альтернативный поток: Неверный запрос
Если предоставленные параметры или учетные данные пользователя в запросе недействительны, поставщику услуг возвращается ошибка. Ошибка указывает причину отклонения, и поток завершается. Идентификаторы сообщений не возвращаются.
3. Конечная точка
Доступ к ресурсу SMS осуществляется по следующему пути:
/restapi/v1/sms
Example URL
https://europe.ipx.com/restapi/v1/sms
В целях безопасности соединения API LINK Mobility REST доступен только по протоколу HTTPS.
Сертификат сервера Link Mobility подписан Thawte Server CA.
4 Операции
Услуга SMS обеспечивает следующие операции:
Имя | Путь |
Отправлять | /restapi/v1/sms/отправить |
4.1 Отправить
Операция отправки используется для отправки SMS-сообщения одному получателю.
Эта операция предназначена как для базовых, так и для продвинутых пользователей. В простейшем случае для доставки SMS требуются только адрес назначения и текст сообщения. LINK Mobility определит схему кодирования данных и выполнит автоматическую конкатенацию сообщения в несколько частей сообщения, если это необходимо.
Для расширенного использования поставщик услуг может использовать дополнительные параметры для полного контроля форматирования сообщения, включая заголовок пользовательских данных.
Поставщик услуг может отправлять объединенные сообщения, но подготовка пользовательских данных и заголовка пользовательских данных должна осуществляться поставщиком услуг, а сообщение должно быть отправлено посредством нескольких запросов на отправку в сторону LINK Mobility.
5. Аутентификация
Имя пользователя и пароль передаются в каждом запросе с использованием базовой схемы аутентификации HTTP.
https://www.w3.org/Protocols/HTTP/1.0/spec.html#BasicAA
Учетные данные отправляются в заголовке Authorization в HTTP-запросе. Клиент создает поле заголовка, как описано здесь:
https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side
Напримерample, если имя пользователя — john, а пароль — changeme, то результирующий заголовок авторизации будет следующим:
Авторизация: Базовая am9objpjaGFuZ2VtZSA=
В качестве запасного варианта имя пользователя и пароль могут быть отправлены как параметры запроса. Это рекомендуется только для клиентов, которые не поддерживают базовую аутентификацию.
6. Подача заявки
6.1 Строка запроса
Параметры запроса отправляются как строка запроса, содержащая пары имя/значение. Строка запроса кодируется с помощью Percent Encoding (URL кодировка).
http://www.w3schools.com/tags/ref_urlencode.asp
Напримерample, Hello World! кодируется как Hello+World%21.
6.2 Обязательные параметры запроса
Имя | Макс. длина | Описание |
destinationAddress | 40 | MSISDN, на который должно быть отправлено SMS-сообщение, начиная с кода страны. Примерampле: 46123456789. Для некоторых рынков (где MSISDN потребителя должен быть скрыт) это значение также может быть буквенно-цифровым псевдонимом с префиксом «#». |
сообщениеТекст | 1600 | Содержание SMS-сообщения. |
6.3 Необязательные параметры запроса (для расширенного использования)
Имя | Макс. длина | Описание |
исходныйАдрес | 16 | Исходный адрес для исходящего SMS-сообщения. Тип исходного адреса определяется параметром originatorTON. Максимальная длина короткого номера — 16. Отправитель буквенно-цифровых сообщений ограничен стандартным алфавитом GSM с максимальной длиной 11 символов. Максимальная длина MSISDN отправителя — 15 (используется тот же формат, что и элемент destinationAddress). Может быть опущено, если originatingAddress и originatingTON выбраны системой. Эта функция зависит от рынка и конфигурации. Поведение может меняться в зависимости от интеграции оператора. |
оригинаторTON | 1 | Тип номера исходного адреса (TON): 0 – Короткий номер 1 – Буквенно-цифровой (максимальная длина 11) 2 – MSISDN Может быть опущено, когда originatingAddress и originatingTON будут выбраны системой. Эта функция зависит от рынка и конфигурации. Поведение может меняться в зависимости от интеграции оператора. |
userDataHeader | 280 | Заголовок пользовательских данных вместе с пользовательскими данными может содержать до 140, т.е. 280 в шестнадцатеричном кодировании, октетов. Этот параметр всегда шестнадцатерично кодируется. |
ДКС | 3 | Схема кодирования данных. Поведение может меняться в зависимости от интеграции оператора. |
ПИД | 3 | Идентификатор протокола. Поведение может меняться в зависимости от интеграции оператора. |
относительноеВремяДействия | 6 | Относительное время действия в секундах (относительно времени отправки в LINK Mobility). Максимальное значение — 604800 (7 дней), а значение по умолчанию — 48 часов. Поведение может меняться в зависимости от интеграции оператора. |
срок поставки | 20 | Времяamp когда должно быть доставлено SMS-сообщение (время отложенной доставки). См. раздел о формате даты и времени. |
statusОтчетФлаги | 1 | Запрос на доставку отчета: 0 – Нет отчета о доставке (по умолчанию) 1 – Запрошен отчет о доставке 9 – Запрошен отчет о доставке на сервер (LINK Mobility не пересылает отчет поставщику услуг, но делает его доступным в отчетах и т. д.) |
campaignName | 50 | Транзакции LINK Mobility tagged с этим именем. Он используется для группировки транзакций в отчетах Link Mobility. |
maxConcatenatedMessages | 1 | Значение от 1 до 10, определяющее, сколько объединенных сообщений разрешено. По умолчанию — 3. |
корреляцияId | 100 | Идентификатор, предоставленный поставщиком услуг, который будет указан в отчете о доставке. |
имя пользователя | 100 | Предоставляется как альтернатива базовой аутентификации HTTP. |
пароль | 100 | Предоставляется как альтернатива базовой аутентификации HTTP. |
6.4 Методы HTTP-запросов
Для максимальной совместимости API поддерживает методы запросов HTTP GET и POST. Другие методы HTTP не допускаются.
6.4.1 ПОЛУЧИТЬ
Закодированная строка запроса добавляется к URL.
ПОЛУЧАТЬ
https://europe.ipx.com/restapi/v1/sms/send?destinationAddress=461234
56789&messageText=Привет+Мир%21
Авторизация: Базовая am9objpjaGFuZ2VtZSA=
6.4.2 ПОСТА
Закодированная строка запроса отправляется в теле сообщения HTTP-запроса. Content-Type — application/x-www-form-urlзакодировано.
ПОЧТА https://europe.ipx.com/restapi/v1/sms/send
Хост: europe.ipx.com
Тип содержимого: application / x-www-form-urlзакодированный
Авторизация: Базовая am9objpjaGFuZ2VtZSA=
Длина контента: 57
destinationAddress=46123456789&messageText=Привет+Мир%21
6.5 Дата и время
Параметры в REST API, представляющие дату и время, всегда находятся в часовом поясе UTC (всемирное координированное время).amps представлены в виде строки в точном формате:
2017-04-25T23:20:50Z
Это соответствует 20 минутам и 50 секундам после 23 часов 25 апреля 2017 года по всемирному координированному времени (UTC).
7. Ответное сообщение
После получения и интерпретации сообщения-запроса API отвечает HTTP-сообщением-ответом.
7.1 Код статуса HTTP
REST API всегда возвращает код статуса HTTP 200 OK для обработанных запросов. Тело сообщения содержит параметр responseCode, который используется для определения точного результата.
7.2 Текст сообщения
Тело сообщения состоит из JSON-кода, описывающего результат запроса.
http://json.org/
Link Mobility JSON соответствует руководству по стилю JSON от Google.
https://google.github.io/styleguide/jsoncstyleguide.xml
7.3 Параметры ответа
Имя | Макс. длина | Описание |
responseCode | 3 | 0 указывает на успешную транзакцию. |
ответСообщение | 255 | Текстовое описание ответа, например текст ошибки. |
времяamp | 20 | Дата и время, когда LINK Mobility обработала запрос. (См. раздел «Формат даты/времени»). |
трассировкаId | 36 | Внутренний идентификатор Link Mobility. Используется для поддержки и устранения неполадок. |
идентификаторы сообщений | 10 х 36 | Массив уникальных идентификаторов сообщений LINK Mobility для каждого успешного сообщения (если сообщение объединено, возвращается несколько идентификаторов сообщений). Пропускается в случае неудачи. |
7.4 пр.ampле ответы
Успех
HTTP/1.1 200 ОК
Тип содержимого: application/json
Длина контента: 144
Дата: Чт, 15 Сен 2016 13:20:31 GMT
{“responseCode”:0,”responseMessage”:”Успех”,”timestamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}
Вот тот же JSON, отформатированный для удобства чтения:
{
“responseCode«:0,
“ответСообщение":"Успех",
“времяamp“:”2016-0915T13:20:31Z”,
“трассировкаId“:”f678d30879fd4adc25f2”,
“идентификаторы сообщений“:[“1-4850879008”] }
Отказ
HTTP/1.1 200 ОК
Тип содержимого: application/json
Длина контента: 148
Дата: Чт, 15 Сен 2016 13:20:31 GMT
{“responseCode”:1,”responseMessage”:” Неверный вход или несанкционированное использование API,”timestamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}
Успех
HTTP/1.1 200 ОК
Тип содержимого: application/json
Длина контента: 144
Дата: Чт, 15 Сен 2016 13:20:31 GMT
{“responseCode”:0,”responseMessage”:”Успех”,”timestamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}
Вот тот же JSON, отформатированный для удобства чтения:
{
“responseCode«:0,
“ответСообщение":"Успех",
“времяamp“:”2016-0915T13:20:31Z”,
“трассировкаId“:”f678d30879fd4adc25f2”,
“идентификаторы сообщений“:[“1-4850879008”] }
Отказ
HTTP/1.1 200 ОК
Тип содержимого: application/json
Длина контента: 148
Дата: Чт, 15 Сен 2016 13:20:31 GMT
{“responseCode”:1,”responseMessage”:” Неверный вход или несанкционированное использование API,”timestamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}
7.5 Коды ответов
В ответе на отправку могут быть возвращены следующие коды ответов:
Код | Текст | Описание |
0 | Успех | Успешно выполнено. |
1 | Неверный вход в систему или несанкционированное использование API | Неправильное имя пользователя или пароль или поставщик услуг заблокированы LINK Mobility. |
2 | Потребитель заблокирован Link Mobility | Потребитель заблокирован LINK Mobility. |
3 | Операция не предусмотрена LINK Mobility | Операция заблокирована для Поставщика услуг. |
4 | Потребитель неизвестен LINK Mobility | Потребитель неизвестен LINK Mobility. Или если в запросе использовался псевдоним; псевдоним не найден. |
5 | Потребитель заблокировал эту услугу в LINK Mobility | Потребитель заблокировал данную услугу в LINK Mobility. |
6 | Исходный адрес не поддерживается. | Исходный адрес не поддерживается. |
7 | Исходный адрес Alpha не поддерживается учетной записью | Исходный адрес альфа-версии не поддерживается учетной записью. |
8 | Исходный адрес MSISDN не поддерживается | Исходный адрес MSISDN не поддерживается. |
9 | GSM расширенный не поддерживается | Расширенный GSM не поддерживается. |
10 | Юникод не поддерживается | Юникод не поддерживается. |
11 | Отчет о состоянии не поддерживается | Отчет о состоянии не поддерживается. |
12 | Требуемая возможность не поддерживается | Необходимая возможность (кроме указанной выше) для отправки сообщения не поддерживается. |
13 | Превышена максимальная скорость регулирования поставщика контента | Поставщик услуг отправляет SMS-сообщения в LINK Mobility слишком быстро. |
14 | Идентификатор протокола не поддерживается учетной записью | Идентификатор протокола не поддерживается. |
15 | Превышен лимит конкатенации сообщений | Количество объединенных сообщений превышает максимально запрошенное количество. |
16 | Невозможно перенаправить сообщение. | LINK Mobility не смогла маршрутизировать сообщение. |
17 | Запрещенный период времени | Не разрешено отправлять сообщения в течение указанного периода времени |
18 | Слишком низкий баланс на счете поставщика услуг | Поставщик услуг заблокирован из-за слишком низкого баланса |
50 | Частичный успех | Частичный успех при отправке SMS-сообщения нескольким получателям. |
99 | Внутренняя ошибка сервера | Другая ошибка Link Mobility. Обратитесь в службу поддержки LINK Mobility для получения дополнительной информации. |
100 | Неверный адрес назначения | Недопустимый адрес назначения (MSISDN или псевдоним). |
102 | Неверный указанный (связанный) идентификатор | Идентификатор ссылки недействителен, возможно, идентификатор ссылки уже используется, слишком устарел или неизвестен. |
103 | Неверное имя учетной записи | Недопустимое имя учетной записи. |
105 | Неверные метаданные сервиса | Метаданные сервиса недействительны. |
106 | Неверный исходный адрес | Исходный адрес недействителен. |
107 | Неверный буквенно-цифровой исходный адрес | Недействительный буквенно-цифровой исходный адрес. |
108 | Неверное время действия | Срок действия недействителен. |
109 | Неверное время доставки | Срок доставки недействителен. |
110 | Неверное содержание сообщения/данные пользователя | Данные пользователя, т.е. SMS-сообщение, недействительны. |
111 | Неверная длина сообщения | Недопустимая длина SMS-сообщения. |
112 | Неверный заголовок пользовательских данных | Недопустимый заголовок пользовательских данных. |
113 | Неверная схема кодирования данных | DCS недействителен. |
114 | Неверный идентификатор протокола | Недействительный PID. |
115 | Неверные флаги отчета о состоянии | Флаги отчета о состоянии недействительны. |
116 | Неверный TON | Исходный TON недействителен. |
117 | Неверный campимя | СampНедопустимое имя aign. |
120 | Неверный предел максимального количества объединенных сообщений | Максимальное количество объединенных сообщений недействительно. |
121 | Неверный исходный адрес msisdn | Исходный адрес MSISDN недействителен. |
122 | Неверный идентификатор корреляции | Идентификатор корреляции недействителен. |
8. Дополнительные функции
8.1 Исправление MSISDN
Коррекция MSISDN — дополнительная функция, которую может включить служба поддержки LINK Mobility по запросу.
Эта функция исправит адреса назначения и приведет их в соответствие с требуемым форматом E.164. В дополнение к исправлению формата система может также выполнять специфичные для рынка функции, такие как перевод международных французских номеров в правильные номера DOM-TOM (départements et territoires d'outre-mer), когда это применимо.
Ниже приведен ряд примеровampСписок исправлений:
Указанный адрес назначения | Исправленный адрес назначения |
+46(0)702233445 | 46702233445 |
(0046)72233445 | 46702233445 |
+460702233445 | 46702233445 |
46(0)702233445 | 46702233445 |
46070-2233445 | 46702233445 |
0046702233445 | 46702233445 |
+46(0)702233445aaa | 46702233445 |
336005199999 | 2626005199999 (Французский номер, переведенный в номер DOM-TOM) |
Кроме того, можно разрешить национальные телефонные номера для выбранного рынка. Когда эта функция включена, любые международные номера для других рынков должны быть отправлены с начальным знаком `+', чтобы отличить их от выбранного рынка.
Ниже приведены несколько бывшихampФайлы исправлений, внесенных при использовании Швеции (код страны 46) в качестве рынка по умолчанию для национальных номеров.
Указанный адрес назначения | Исправленный адрес назначения |
0702233445 | 46702233445 |
070-2233 445 | 46702233445 |
070.2233.4455 | 46702233445 |
460702233445 | 46702233445 |
+460702233445 | 46702233445 |
+458022334455 | 458022334455 |
45802233445 | Недействительно, так как отсутствует знак «+» |
Обратите внимание, что исправленный MSISDN будет использоваться LINK Mobility и будет возвращен в отчетах о доставке.
Для получения дополнительной информации обратитесь в службу поддержки LINK Mobility.
8.2 Замена персонажа
Замена символов — дополнительная функция, которую может включить служба поддержки LINK Mobility по запросу.
Эта функция преобразует не-GSM алфавитные символы в пользовательских данных (текст SMS) в эквивалентные GSM алфавитные символы, когда DCS установлен на «GSM» (17). Напримерample «Seqüncia de teste em Português» будет переведено как «Sequencia de teste em Portugues».
9. Отчеты о доставке
Поставщик услуг может, если это предусмотрено, запрашивать отчеты о доставке SMS-сообщений или уведомления о доставке для отправленных MT-сообщений. Эти отчеты запускаются в SMSC оператора, когда MT-сообщение либо доставляется целевому потребителю, либо удаляется, например, истекает срок его действия или по какой-то причине не маршрутизируется.
Поставщику услуг сообщается только окончательный статус SMS-сообщения, т. е. доставлено или удалено. Генерируется только один отчет на одно MT-сообщение. При удаленном статусе может применяться код причины. Этот код причины указывает причину, по которой SMS-сообщение не было доставлено.
Отчеты маршрутизируются через LINK Mobility и отправляются поставщику услуг по протоколу HTTP.
Для получения отчетов поставщику услуг необходимо реализовать, например,ample Java Servlet или ASP.NET page. Оба получают HTTP GET или POST запросы.
Параметры
Запрос включает в себя следующие параметры:
Параметр | Тип | М/О/И* | Значение по умолчанию | Макс. длина | Описание |
идентификатор сообщения | нить | M | – | 22 | Идентификатор сообщения MT, которому соответствует этот отчет. |
Адрес назначения | нить | M | – | 40 | MSISDN потребителя, т.е. адрес назначения исходного MT-сообщения. |
КодСтатуса | целое число | M | 1 | Код статуса указывает статус сообщения MT. Применимые коды статуса: 0 – Доставлено 2 – Удалено (применяется код причины) |
|
ВремяStamp | нить | M | – | 20 | Время, указывающее, когда отчет о доставке был получен компанией LINK Mobility. Часовой пояс самого времениamp CET или CEST (летнее время, определенное в ЕС). Формат: ггггММдд ЧЧ:мм:сс. |
Оператор | нить | M | – | 100 | Имя Оператора, используемое при отправке SMS-сообщения, или имя учетной записи, используемое при отправке SMS-сообщения. Список доступных операторов предоставлен службой поддержки LINK Mobility. |
ReasonCode | целое число | O | – | 3 | Код причины указывает, почему сообщение оказалось в статусе «удалено». Применимые коды причин: 100 – Истек срок действия 101 – Отклонено 102 – Ошибка формата 103 – Другая ошибка 110 – Абонент неизвестен 111 – Абонент заблокирован 112 – Абонент не предоставлен 113 – Абонент недоступен 120 – Сбой SMSC 121 – перегрузка SMSC 122 – SMSC роуминг 130 – Ошибка трубки 131 – Превышена память трубки Поведение может меняться в зависимости от интеграции оператора. |
ОператорВремяStamp | нить | O | – | 20 | Время, указывающее на момент срабатывания отчета в SMSC Оператора (если предоставлено Оператором). Часовой пояс самого времениamp CET или CEST (летнее время, определенное в ЕС). Формат: ггггММдд ЧЧ:мм:сс. |
СтатусТекст | нить | O | – | 255 | Заполнитель для дополнительной информации от Оператора, например, четкое текстовое описание статуса/причины. Поведение может меняться в зависимости от интеграции Оператора. |
CorrelationId | нить | O | – | 100 | Идентификатор корреляции, указанный в SendRequest или SendTextRequest. |
КодСетиОператора | целое число | O | – | 6 | Код мобильной сети (MCC + MNC) оператора. |
* M = Обязательно, O = Необязательно, I = Игнорируется.
Поставщик услуг должен предоставить LINK Mobility с целевым значением URL для отчетов о доставке (опционально включая учетные данные для базовой аутентификации HTTP). Поставщик услуг может выбрать предпочтительный метод HTTP для использования:
HTTP POST (рекомендуется)
HTTP-запрос.
Exampфайл с использованием HTTP GET (успешно доставлен):
https://user:password@www.serviceprovider.com/receivereport?%20MessageId=122&DestinationAddress=46762050312&Operator=Vodafone&TimeStamp=20100401%2007%3A47%3A44&StatusCode=0
Example с использованием HTTP GET (не доставлено, оператор предоставил времяamp для мероприятия):
Параметры: URL закодировано.
Кодировка символов:
Поставщик услуг может выбрать предпочтительную кодировку символов для использования:
UTF-8 (рекомендуется)
ISO-8859-1.
9.1 Подтверждение поставщика услуг
Поставщик услуг должен подтвердить каждый отчет о доставке. Подтверждение может быть положительным, т.е. отчет о доставке получен успешно, или отрицательным, т.е. неудача.
Обратите внимание: LINK Mobility имеет тайм-аут чтения для подтверждений в 30 секунд для отчетов о доставке. Тайм-аут вызовет повторную попытку доставки (если повтор включен) или отмену доставки (если повтор отключен). Это означает, что приложение поставщика услуг должно обеспечивать быстрое время отклика, особенно во время высокой нагрузки.
Настоятельно рекомендуется подтвердить получение отчета о доставке в LINK Mobility перед его обработкой.
Правило положительного и отрицательного подтверждения описывается следующим образом:
Положительное подтверждение, ACK, отчет о доставке доставлен:
Код ответа диапазона HTTP 200 в сочетании со следующим содержимым в формате XML:
Отрицательное подтверждение, NAK, отчет о доставке не доставлен:
Любой ответ, кроме положительного подтверждения, напримерample, отрицательное подтверждение инициируется любым кодом ошибки HTTP или следующим содержимым XML:
XML-контент может использоваться для управления механизмом повтора LINK Mobility. NAK вызовет повторную попытку, если она включена. Для поставщиков услуг, не настроенных для механизма повтора, XML-контент необязателен.
Ниже приведен HTTP POST-запрос и ответ.ample отчета о доставке, переданного Поставщику услуг:
HTTP-запрос:
POST /контекст/приложение HTTP/1.1
Тип содержимого: application / x-www-form-urlзакодировано;кодировка=utf-8
Хост: сервер:порт
Длина контента: xx
MessageId=213123213&DestinationAddress=46762050312&Operator=Telia& OperatorTimeStamp=20130607%2010%3A45%3A00&TimeStamp=20130607%2010%3A 45%3A02&StatusCode=0
HTTP-ответ:
HTTP/1.1 200 ОК
Тип содержимого: текст/обычный
9.2 Повторить попытку
Система LINK Mobility может выполнять повторные попытки для неудавшихся, т.е. не подтвержденных, доставок отчетов о доставке. Поставщик услуг может выбрать предпочтительное поведение повторной попытки:
Нет повторной попытки (по умолчанию) — сообщение будет отклонено в случае неудачной попытки подключения, истечения времени ожидания чтения или при возникновении любого кода ошибки HTTP.
Повторить попытку – сообщение будет отправлено повторно при каждом типе проблемы с подключением, истечении времени ожидания чтения или отрицательном подтверждении.
Когда повтор для NAK включен, важно понимать, какие сценарии будут генерировать повторную попытку от LINK Mobility и как работает повтор. У каждого поставщика услуг есть своя собственная очередь повторных попыток, где сообщения упорядочены в соответствии с временем сообщенияamp. Link Mobility всегда пытается сначала доставить более старые сообщения, хотя индивидуальный порядок сообщений, доставленных поставщику услуг, не гарантируется. Основной причиной удаления сообщений из очереди повторных попыток является одна из двух причин: либо истекает TTL сообщения, либо (теоретически) очередь повторных попыток заполняется. TTL зависит от оператора и учетной записи, т. е. может меняться в зависимости от оператора и/или типа сообщения, например, премиум-SMS или стандартное SMS-сообщение.
Поставщики услуг, у которых включена функция повтора, должны проверять уникальный идентификатор сообщения MT, чтобы убедиться, что сообщение еще не получено.
Поставщику услуг важно соблюдать эти простые правила, если во время обработки отчета о доставке возникает ошибка, если причина ошибки: Временная, например, база данных недоступна, следует вернуть NAK. LINK Mobility повторно отправит сообщение.
Постоянная и повторная попытка, скорее всего, вызовут одну и ту же проблему, следует вернуть ACK. Напримерample, когда сообщение не может быть правильно проанализировано или вызывает непредвиденную ошибку во время выполнения.
Соответствующие действия позволят избежать блокировок или снижения пропускной способности из-за многократной повторной отправки отчета о доставке.
10. Советы по внедрению
1. Можно использовать ваш web браузер для отправки запросов к API. Это позволяет очень легко исследовать и оценивать сервисы без каких-либо инструментов разработки.
2. Рекомендуется использовать Chrome или Firefox вместе с расширением, например JSON.View для отображения красиво отформатированного JSON.
3. Мы использовали SoapUI для тестирования POST, базовой аутентификации и для проверки необработанных HTTP-запросов и ответных сообщений.
4. СURL инструмент полезен для отправки POST-запросов с базовой аутентификацией. См. exampниже.
curl ПОЧТА \
-H «Тип содержимого: application/x-www-form-urlзакодировано» \
-H «Авторизация: Базовая am9objpjaGFuZ2VtZSA=" \
https://europe.ipx.com/restapi/v1/sms/send \
–data «адрес_назначения=46123456789&текст_сообщения=Hello+World%21»
_______________
Трансформация персонализированных коммуникаций
Документы/Ресурсы
![]() |
LINK Руководство по внедрению мобильности REST API SMS [pdf] Руководство пользователя Руководство по внедрению REST API SMS, Мобильность, Руководство по внедрению REST API SMS, REST API SMS, API SMS, SMS |