Guía de implementación de LINK Mobility Guía de usuario de SMS da API REST

LINK Logotipo de Mobilidade A

LINK Guía de implementación de mobilidade SMS da API REST

LINK Mobility ofrece un servizo de entrega de mensaxes, micropagos e servizos baseados na localización. A plataforma actúa como un adquirente de contido de marca branca transparente e un enrutador de transaccións entre os provedores de servizos e os operadores.

LINK Mobility ofrece unha API RESTful que se pode usar para acceder aos servizos de LINK Mobility, como o envío de SMS. Esta API está deseñada para ser fácil de usar e compatible con todas as linguaxes e marcos modernos. Usando o idioma que elixas, a túa aplicación pode usar a API REST de Link Mobility para implementar poderosas capacidades de mensaxería e pago

© LINK Mobility, 10 de marzo de 2021

Información legal

A información proporcionada neste documento é propiedade exclusiva e copyright de Netsize. É confidencial e destinado a un uso estrictamente informativo. Non é vinculante e pode estar suxeito a cambios sen previo aviso. Calquera divulgación ou uso non autorizado considerarase ilegal.

Netsize™ e linkmobility™ están protexidos polas leis francesas, CEE e internacionais de propiedade intelectual.

Todas as outras marcas rexistradas citadas son propiedade exclusiva dos seus respectivos propietarios.

Nada do contido aquí se interpretará como unha licenza ou dereito baixo a patente, copyright ou marca rexistrada de Netsize.

NETSIZE
Sociedade anónima au capital de 5 478 070 euros
Siège social :62, avenue Emile Zola92100 Boulogne – Francia
418 712 477 RCS Nanterre
http://www.LinkMobility.com
http://www.linkmobility.com

Alcance do documento

Este documento describe como o provedor de servizos utiliza a API REST de LINK Mobility para SMS. Está destinado a arquitectos técnicos e deseñadores que implementen os servizos do Prestador de Servizos.

1. Uso básico

É moi sinxelo enviar un SMS. Envías unha solicitude HTTP a LINK Mobility que se pode realizar usando só un web navegador.

Guía de implementación de LINK Mobility SMS API REST - a1

2. Funcional Overview

O sistema LINK Mobility ofrece as seguintes funcións básicas para as mensaxes SMS:
Envío de mensaxes SMS con terminación móbil (MT), como mensaxes de texto ou binarias (p. ex. WAP Push) premium e de tarifa estándar.

Recibindo informes de entrega das mensaxes MT enviadas.

Recepción de mensaxes SMS con orixe móbil (MO), tarifa estándar e premium.
A API SMS REST está dedicada ao envío de mensaxes SMS de MT de tarifa estándar.

A API envía todas as mensaxes SMS de forma asíncrona, habilitando funcións como:

"Fire-and-forget": o provedor de servizos quere ter tempos de resposta máis previsibles e non quere esperar o resultado do operador.

Reintento a funcionalidade: LINK Mobility volverá enviar a mensaxe se o operador ten problemas temporais.

2.1 Envío dunha mensaxe SMS

Guía de implementación de LINK Mobility SMS API REST - a2                      Guía de implementación de LINK Mobility SMS API REST - a2                 Guía de implementación de LINK Mobility SMS API REST - a3
Provedor de servizos Netsize Consumer

Guía de implementación de LINK Mobility SMS API REST - a4

  1. Enviar mensaxe MT
  2. Devolver o ID da mensaxe
  3. Enviar mensaxe SMS
  4. Entrega informe de entrega
  5. Enviar informe de entrega

O fluxo básico para enviar mensaxes SMS descríbese do seguinte xeito:

O provedor de servizos fai unha solicitude para enviar unha mensaxe SMS a un destinatario a través do sistema LINK Mobility.

Devólvese un ID de mensaxe ao fornecedor de servizos. Este ID pódese utilizar, por exemplo, para relacionar a mensaxe co informe de entrega correcto.

LINK Mobility xestiona o enrutamento e envía a mensaxe SMS ao consumidor dirixido.
Un informe de entrega desenvólvese, por exemplo, cando se envía a mensaxe SMS ao dispositivo do consumidor.

O informe de entrega envíase ao prestador de servizos. O informe contén o mesmo ID de mensaxe que se devolveu no paso 2.

Fluxo alternativo: solicitude non válida

Se os parámetros ou as credenciais do usuario fornecidos na solicitude non son válidos, devólvese un erro ao provedor de servizos. O erro indica o motivo do rexeitamento e remata o fluxo. Non se devolve ningún ID de mensaxe.

3. Punto final

Accédese ao recurso SMS mediante o camiño:
/restapi/v1/sms
Example URL
https://europe.ipx.com/restapi/v1/sms
Para a seguridade da conexión, só se pode acceder á API LINK Mobility REST a través de HTTPS.
O certificado do servidor de Link Mobility está asinado por Thawte Server CA.

4. Operacións

O servizo de SMS ofrece as seguintes operacións:

Nome Camiño
Enviar /restapi/v1/sms/send
4.1 Enviar

A operación de envío úsase para enviar unha SMS a un único destinatario.

Esta operación está destinada tanto a usuarios básicos como avanzados. No caso máis sinxelo, só son necesarios o enderezo de destino e o texto da mensaxe para enviar unha SMS. LINK Mobility detectará o esquema de codificación de datos e realizará a concatenación automática dunha mensaxe en varias partes da mensaxe se é necesario.

Para un uso avanzado, o fornecedor de servizos pode utilizar parámetros opcionais para o control total do formato da mensaxe, incluíndo a cabeceira dos datos do usuario.

O Provedor de Servizos pode enviar mensaxes concatenadas, pero a preparación dos datos de usuario e da cabeceira dos datos de usuario debe ser realizada polo Provedor de Servizos e a mensaxe debe enviarse mediante múltiples solicitudes de envío a LINK Mobility.

5. Autenticación

O nome de usuario e o contrasinal envíanse en cada solicitude mediante o esquema de autenticación básico HTTP.

https://www.w3.org/Protocols/HTTP/1.0/spec.html#BasicAA

As credenciais envíanse nunha cabeceira de autorización na solicitude HTTP. O cliente constrúe o campo de cabeceira como se describe aquí:

https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side

Por example, se o nome de usuario é john e changeme é o contrasinal, a cabeceira de autorización resultante é:

Autorización: Basic am9objpjaGFuZ2VtZSA=

Como alternativa, o nome de usuario e o contrasinal pódense enviar como parámetros de solicitude. Isto só se recomenda para clientes que non admiten autenticación básica.

6. Presentación dunha solicitude

6.1 Cadea de consulta

Os parámetros de solicitude envíanse como unha cadea de consulta que contén pares nome/valor. A cadea de consulta está codificada mediante Percent Encoding (URL codificación).

http://www.w3schools.com/tags/ref_urlencode.asp

Por example, Ola mundo! está codificado como Hello+World%21.

6.2 Parámetros de solicitude obrigatorios
Nome Lonxitude máxima Descrición
Enderezo de destino 40 O MSISDN ao que se debe enviar a mensaxe SMS, comezando polo código do país. ExampLe: 46123456789.
Para algúns mercados (onde o Consumer MSISDN debe estar ofuscado), este valor tamén pode ser un alias alfanumérico, co prefixo "#".
mensaxeTexto 1600 O contido da mensaxe SMS.
6.3 Parámetros de solicitude opcionais (para uso avanzado)
Nome Lonxitude máxima Descrición
Enderezo de orixe 16 O enderezo de orixe da mensaxe SMS saínte. O tipo de enderezo de orixe está definido polo parámetro originatorTON.
A lonxitude máxima do número curto é 16.
O remitente alfanumérico está limitado ao alfabeto predeterminado GSM cunha lonxitude máxima de 11 caracteres.
A lonxitude máxima do remitente MSISDN é 15 (usando o mesmo formato que o elemento destinationAddress).
Pódese omitir cando originingAddress e originingTON son seleccionados polo sistema. Esta función depende do mercado e da configuración.
O comportamento pode variar coas integracións do operador.
autor TON 1 Tipo de número do enderezo de orixe (TON):
0 – Número curto
1: alfanumérico (longitud máxima 11)
2 – MSISDN
Pódese omitir cando originingAddress e originingTON serán seleccionados polo sistema. Esta función depende do mercado e da configuración.
O comportamento pode variar coas integracións do operador.
userDataHeader 280 A cabeceira de datos de usuario xunto cos datos de usuario pode conter ata 140, é dicir, 280 cando están codificados en hexadecimal, octetos. Este parámetro sempre está codificado en hexadecimal.
DCS 3 Esquema de codificación de datos.
O comportamento pode variar coas integracións do operador.
PID 3 ID de protocolo.
O comportamento pode variar coas integracións do operador.
Tempo de validez relativa 6 Tempo de validez relativo en segundos (relativo ao tempo de envío a LINK Mobility). O valor máximo é 604800 (7 días) e o valor predeterminado é 48 horas.
O comportamento pode variar coas integracións do operador.
prazo de entrega 20 Timestamp cando se debe entregar a mensaxe SMS (tempo de entrega atrasado). Consulte a sección sobre o formato da data e hora.
statusReportFlags 1 Entrega solicitude de informe:
0 - Sen informe de entrega (predeterminado)
1 – Informe de entrega solicitado
9 – Solicitude de informe de entrega do servidor (LINK Mobility non envía o informe ao provedor de servizos, senón que o fai dispoñible en informes, etc.)
campaignName 50 As transaccións LINK Mobility son tagged con este nome. Utilízase para agrupar transaccións nos informes de Link Mobility.
maxConcatenatedMessages 1 Un valor entre 1 e 10 que define cantas mensaxes concatenadas están permitidas. O valor predeterminado é 3.
ID de correlación 100 Identificación proporcionada polo fornecedor de servizos que se fará eco no informe de entrega.
nome de usuario 100 Proporcionado como alternativa á autenticación básica HTTP.
contrasinal 100 Proporcionado como alternativa á autenticación básica HTTP.
6.4 Métodos de solicitude HTTP

Para a máxima interoperabilidade, a API admite os métodos de solicitude HTTP GET e POST. Non se permiten outros métodos HTTP.

6.4.1 GET

A cadea de consulta codificada engádese ao ficheiro URL.

CONSEGUIR
https://europe.ipx.com/restapi/v1/sms/send?destinationAddress=461234
56789&messageText=Ola+Mundo%21
Autorización: Basic am9objpjaGFuZ2VtZSA=

6.4.2 POST

A cadea de consulta codificada envíase no corpo da mensaxe da solicitude HTTP. O tipo de contido é application/x-www-form-urlcodificado.

POST https://europe.ipx.com/restapi/v1/sms/send
Anfitrión: europe.ipx.com
Tipo de contido: application / x-www-form-urlcodificado
Autorización: Basic am9objpjaGFuZ2VtZSA=
Duración do contido: 57

destinationAddress=46123456789&messageText=Hello+World%21

6.5 Data e hora

Os parámetros da API REST que representan a data e a hora están sempre na zona horaria UTC (Tempo Universal Coordinado). Timestamps represéntanse como unha cadea con este formato exacto:
2017-04-25T23:20:50Z
Isto representa 20 minutos e 50 segundos despois da hora 23 do 25 de abril de 2017 en UTC.

7. Mensaxe de resposta

Despois de recibir e interpretar unha mensaxe de solicitude, a API responde cunha mensaxe de resposta HTTP.

7.1 Código de estado HTTP

A API REST sempre devolve o código de estado HTTP 200 OK para as solicitudes procesadas. O corpo da mensaxe contén un parámetro responseCode que se usa para determinar o resultado exacto.

7.2 Corpo da mensaxe

O corpo da mensaxe consiste en JSON que describe o resultado da solicitude.
http://json.org/
Link Mobility JSON cumpre coa Guía de estilo JSON de Google.
https://google.github.io/styleguide/jsoncstyleguide.xml

7.3 Parámetros de resposta
Nome Lonxitude máxima Descrición
código de resposta 3 0 indica transacción exitosa.
respostaMensaxe 255 Descrición textual da resposta, por exemplo, texto do erro.
veces máisamp 20 Data e hora en que LINK Mobility procesou a solicitude. (Consulte a sección de formato de data/hora).
traceId 36 Identificador interno de Link Mobility. Usado para soporte e resolución de problemas.
messageIds 10 x 36 Matriz de ID de mensaxes únicos de LINK Mobility para cada mensaxe exitosa (se devólvense varios ID de mensaxes se a mensaxe está concatenada).
Omitido en caso de falla.
7.4 Exampas respostas

Éxito

HTTP/1.1 200 OK
Tipo de contido: aplicación/json
Duración do contido: 144
Data: Xov, 15 de Setembro de 2016 13:20:31 GMT
{“responseCode”:0,”responseMessage”:”Éxito”,”timestamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}

Aquí está o mesmo formato JSON para facilitar a lectura:

{
código de resposta":0,
respostaMensaxe":"Éxito",
veces máisamp“:”2016-0915T13:20:31Z”,
traceId“:”f678d30879fd4adc25f2”,
messageIds":["1-4850879008"] }

Fracaso

HTTP/1.1 200 OK
Tipo de contido: aplicación/json
Duración do contido: 148
Data: Xov, 15 de Setembro de 2016 13:20:31 GMT
{“responseCode”:1,”responseMessage”:” Inicio de sesión non válido ou uso non autorizado da API”,”timestamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}

Éxito

HTTP/1.1 200 OK
Tipo de contido: aplicación/json
Duración do contido: 144
Data: Xov, 15 de Setembro de 2016 13:20:31 GMT
{“responseCode”:0,”responseMessage”:”Éxito”,”timestamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}

Aquí está o mesmo formato JSON para facilitar a lectura:

{
código de resposta":0,
respostaMensaxe":"Éxito",
veces máisamp“:”2016-0915T13:20:31Z”,
traceId“:”f678d30879fd4adc25f2”,
messageIds":["1-4850879008"] }

Fracaso

HTTP/1.1 200 OK
Tipo de contido: aplicación/json
Duración do contido: 148
Data: Xov, 15 de Setembro de 2016 13:20:31 GMT
{“responseCode”:1,”responseMessage”:” Inicio de sesión non válido ou uso non autorizado da API”,”timestamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}

7.5 Códigos de resposta

Na resposta de envío pódense devolver os seguintes códigos de resposta:

Código Texto Descrición
0 Éxito Executouse con éxito.
1 Inicio de sesión non válido ou uso non autorizado da API LINK Mobility prohibe o nome de usuario ou contrasinal incorrectos ou o fornecedor de servizos.
2 Link Mobility bloquea o consumidor LINK Mobility bloquea o consumidor.
3 LINK Mobility non proporciona o funcionamento A operación está bloqueada para o provedor de servizos.
4 LINK Mobility descoñece o consumidor  LINK Mobility descoñece o consumidor.
Ou se utilizou o alias na solicitude; alias non atopado.
5 O consumidor bloqueou este servizo en LINK Mobility O consumidor bloqueou este servizo en LINK Mobility.
6 Non se admite o enderezo de orixe Non se admite o enderezo de orixe.
7 O enderezo de orixe alfa non é compatible coa conta O enderezo de orixe alfa non é compatible coa conta.
8 Non se admite o enderezo de orixe de MSISDN Non se admite o enderezo de orixe de MSISDN.
9 GSM estendido non é compatible A extensión GSM non é compatible.
10 Unicode non é compatible Unicode non é compatible.
11 Non se admite o informe de estado Non se admite o informe de estado.
12 Non se admite a capacidade necesaria Non se admite a capacidade necesaria (que non sexa a anterior) para enviar a mensaxe.
13 Superouse a taxa de limitación máxima do provedor de contido O fornecedor de servizos está a enviar as mensaxes SMS a LINK Mobility demasiado rápido.
14 O ID de protocolo non é compatible coa conta ID de protocolo non compatible.
15 Superouse o límite de concatenación de mensaxes O número de mensaxes concatenadas supera o número máximo solicitado.
16 Non se puido enrutar a mensaxe. LINK Mobility non puido encamiñar a mensaxe.
17 Período de tempo prohibido Non se permite enviar mensaxes durante o período de tempo
18 Saldo demasiado baixo na conta do provedor de servizos O fornecedor de servizos está bloqueado debido ao saldo demasiado baixo
50 Éxito parcial Éxito parcial ao enviar unha mensaxe SMS a varios destinatarios.
99 Erro interno do servidor Outro erro de Link Mobility, póñase en contacto co servizo de asistencia de LINK Mobility para obter máis información.
100 Enderezo de destino non válido O enderezo de destino (MSISDN ou alias) non é válido.
102 ID referenciado (ligado) non válido O ID de referencia non é válido, quizais o ID de referencia xa se use, demasiado antigo ou descoñecido.
103 O nome da conta non é válido O nome da conta non é válido.
105 Metadatos do servizo non válidos Os metadatos do servizo non son válidos.
106 Enderezo de orixe non válido O enderezo de orixe non é válido.
107 Enderezo de orixe alfanumérico non válido O enderezo de orixe alfanumérico non é válido.
108 Tempo de validez non válido O tempo de validez non é válido.
109 Tempo de entrega non válido O prazo de entrega non é válido.
110 Contido da mensaxe/datos de usuario non válidos Os datos do usuario, é dicir, a mensaxe SMS, non son válidos.
111 A lonxitude da mensaxe non é válida A lonxitude da mensaxe SMS non é válida.
112 Cabeceira de datos de usuario non válida A cabeceira dos datos do usuario non é válida.
113 Esquema de codificación de datos non válido O DCS non é válido.
114 ID de protocolo non válido O PID non é válido.
115 Indicadores de informe de estado non válidos As marcas do informe de estado non son válidas.
116 TON non válido O TON de orixe non é válido.
117 Non válido campaign nome O campo nome de aign non é válido.
120 O límite non é válido para o número máximo de mensaxes concatenadas O número máximo de mensaxes concatenadas non é válido.
121 Enderezo de orixe do msdn non válido O enderezo de orixe do MSISDN non é válido.
122 ID de correlación non válido O ID de correlación non é válido.

8. Funcións opcionais

8.1 Corrección de MSISDN

A corrección de MSISDN é unha función opcional que se pode activar polo soporte de LINK Mobility se se solicita.

Esta función corrixirá os enderezos de destino e aliñaraos co formato E.164 necesario. Ademais da corrección do formato, o sistema tamén pode realizar funcións específicas do mercado, como a tradución de números franceses internacionais para corrixir números DOM-TOM (départements et territoires d'outre-mer) cando sexa aplicable.

Abaixo amósanse unha serie de exampficheiros de correccións:

Enderezo de destino enviado  Enderezo de destino corrixido
+46(0)702233445 46702233445
(0046)72233445 46702233445
+460702233445 46702233445
46(0)702233445 46702233445
46070-2233445 46702233445
0046702233445 46702233445
+46(0)702233445aaa 46702233445
336005199999 2626005199999
(Número francés traducido a un número DOM-TOM)

Ademais, é posible permitir números de teléfono nacionais para un mercado seleccionado. Cando esta función está activada, os números internacionais doutros mercados deben enviarse cun signo "+" inicial para distinguilos do mercado seleccionado.

Abaixo amósanse varios exampficheiros de correccións feitas ao utilizar Suecia (código de país 46) como mercado predeterminado para os números nacionais.

Enderezo de destino enviado Enderezo de destino corrixido
0702233445 46702233445
070-2233 445 46702233445
070.2233.4455 46702233445
460702233445 46702233445
+460702233445 46702233445
+458022334455 458022334455
45802233445 Non válido xa que falta o signo "+".

Teña en conta que o MSISDN corrixido será utilizado por LINK Mobility e devolverase nos informes de entrega.

Ponte en contacto co servizo de asistencia de LINK Mobility para obter máis información.

8.2 Substitución de caracteres

A substitución de personaxes é unha función opcional que pode activar a asistencia de LINK Mobility se se solicita.

Esta función traducirá os caracteres do alfabeto non GSM nos datos do usuario (texto SMS) a caracteres do alfabeto GSM equivalentes cando o DCS estea configurado como “GSM” (17). Por example “Seqüência de teste em Português” traducirase a “Seqüencia de teste em Portugues”.

9. Informes de entrega

O fornecedor de servizos pode, se forneceu, solicitar informes de entrega de mensaxes SMS ou notificacións de entrega das mensaxes MT enviadas. Estes informes desenvólvense no SMSC do operador cando a mensaxe MT se envía ao consumidor obxectivo ou se elimina, por exemplo, caducou ou, por algún motivo, non se pode enrutar.

Só se informa ao provedor de servizos do estado final da mensaxe SMS, é dicir, entregada ou eliminada. Só se xera un informe por mensaxe MT. Co estado eliminado, é posible que se aplique un código de motivo. Este código de motivo especifica o motivo polo que non se envía a mensaxe SMS.

Os informes envíanse a través de LINK Mobility e envíanse ao fornecedor de servizos mediante o protocolo HTTP.

Para recibir informes, o provedor de servizos debe implementar, por exemploample un Servlet Java ou unha páxina ASP.NET. Ambos reciben solicitudes HTTP GET ou POST.

Parámetros

A solicitude inclúe os seguintes parámetros:

Parámetro Tipo M/O/I* Valor predeterminado Lonxitude máxima Descrición
Id. da mensaxe corda M 22 O ID da mensaxe da mensaxe MT á que corresponde este informe.
Enderezo de destino corda M 40 O MSISDN do consumidor, é dicir, o enderezo de destino da mensaxe MT orixinal.
Código de estado enteiro M 1 O código de estado indica o estado da mensaxe MT.
Os códigos de estado aplicables son:
0 – Entregado
2 – Eliminado (aplícase o código de motivo)
Tempo St.amp corda M 20 Hora que indica cando LINK Mobility recibiu o informe de entrega.
O fuso horario do timestamp é CET ou CEST (co horario de verán como se define para a UE).
Formato: aaaaMMdd HH:mm:ss.
Operador corda M 100 O nome do operador utilizado ao enviar a mensaxe SMS ou o nome da conta utilizado ao enviar a mensaxe SMS.
O soporte de LINK Mobility ofrece unha lista de operadores dispoñibles.
ReasonCode enteiro O 3 O código de motivo indica por que a mensaxe acabou no estado eliminado.
Os códigos de razón aplicables son:
100 - Caducou
101 – Rexeitado
102 – Erro de formato
103 – Outro erro
110 – Abonado descoñecido
111 – Abonado prohibido
112 – Abonado non aprovisionado
113 - O abonado non está dispoñible
120 – Fallo de SMSC
121 – Conxestión SMSC
122 – Itinerancia SMSC
130 – Erro no teléfono
131 – Superouse a memoria do teléfono
O comportamento pode variar coas integracións do operador.
OperatorTimeStamp corda O 20 Hora que indica cando se disparou o informe no SMSC do Operador (se o proporciona o Operador).
O fuso horario do timestamp é CET ou CEST (co horario de verán como se define para a UE).
Formato: aaaaMMdd HH:mm:ss.
Texto de estado corda O 255 Marcador de posición para obter información adicional do operador, por exemplo, unha descrición en texto claro do estado/razón. O comportamento pode variar coas integracións do operador.
Id. de correlación corda O 100 O ID de correlación proporcionado en SendRequest ou SendTextRequest.
OperatorNetworkCode enteiro O 6 O Código de Rede Móbil (MCC + MNC) do Operador.

* M = Obrigatorio, O = Opcional, I = Ignorado.
O provedor de servizos ten que proporcionar a LINK Mobility co destino URL para informes de entrega (incluíndo opcionalmente as credenciais para a autenticación básica HTTP). O fornecedor de servizos pode escoller que método HTTP preferido usar:
HTTP POST (recomendado)
HTTP GET.

Exampficheiro usando HTTP GET (entregado con éxito):
https://user:password@www.serviceprovider.com/receivereport?%20MessageId=122&DestinationAddress=46762050312&Operator=Vodafone&TimeStamp=20100401%2007%3A47%3A44&StatusCode=0

Examplieiro usando HTTP GET (non entregado, o operador proporcionou timestamp para o evento):

https://user:password@www.serviceprovider.com/receivereport?MessageId=123&DestinationAddress=46762050312&Operator=Vodafone&OperatorTimeStamp=20100401%2007%3A47%3A59&TimeStamp=20100401%2007%3A47%3A51&StatusCode=2&StatusText=Delivery%20failed&ReasonCode=10

Os parámetros son URL codificados.

Codificación de caracteres:
O fornecedor de servizos pode escoller a codificación de caracteres preferida a utilizar:
UTF-8 (recomendado)
ISO-8859-1.

9.1 Recoñecemento do provedor de servizos

O provedor de servizos debe acusar recibo de cada informe de entrega. O acuse de recibo pode ser positivo, é dicir, o informe de entrega recibido con éxito, ou negativo, é dicir, un fallo.

Teña en conta: LINK Mobility ten un tempo de espera de lectura de 30 segundos para os acuses de recibo dos informes de entrega. Un tempo de espera activará un reintento de entrega (se o reintento está activado) ou a cancelación da entrega (se o reintento está desactivado). Isto significa que a aplicación do fornecedor de servizos debe garantir tempos de resposta rápidos, especialmente durante a carga elevada.

É moi recomendable que acuse recibo do informe de entrega a LINK Mobility antes de procesala.

A regra para o recoñecemento positivo e negativo descríbese do seguinte xeito:

Confirmación positiva, ACK, informe de entrega entregado:
Código de resposta do intervalo HTTP 200 en combinación co seguinte contido con formato XML:

Acuse de recibo negativo, NAK, informe de entrega non entregado:
Calquera resposta que non sexa un recoñecemento positivo, por exemploample, un recoñecemento negativo é activado por calquera código de erro HTTP ou o seguinte contido XML:

O contido XML pódese usar para controlar o mecanismo de reintento de LINK Mobility. Un NAK provocará un reintento, se está activado. Para os provedores de servizos que non están configurados para o mecanismo de reintento, o contido XML é opcional.

Abaixo amósase unha solicitude e resposta HTTP POST, por exemploampun informe de entrega entregado a un provedor de servizos:

Solicitude HTTP:

POST /context/app HTTP/1.1
Tipo de contido: application / x-www-form-urlcodificado;charset=utf-8
Host: server:port
Duración do contido: xx

MessageId=213123213&DestinationAddress=46762050312&Operator=Telia& OperatorTimeStamp=20130607%2010%3A45%3A00&TimeStamp=20130607%2010%3A 45%3A02&StatusCode=0

Resposta HTTP:

HTTP/1.1 200 OK
Tipo de contido: texto/sen formato

9.2 Volve tentar

O sistema LINK Mobility pode realizar intentos de reintento para as entregas de informes de entrega erradas, é dicir, non confirmadas. O fornecedor de servizos pode escoller o comportamento de reintento preferido:

Sen reintento (predeterminado): a mensaxe descartarase se o intento de conexión falla, o tempo de espera de lectura ou se se detecta algún código de erro HTTP.

Volve tentar – a mensaxe enviarase de novo para cada tipo de problema de conexión, tempo de espera de lectura ou acuse de recibo negativo.

Cando se activa o reintento de NAK, é importante comprender que escenarios xerarán un intento de reintento desde LINK Mobility e como funciona o reintento. Cada provedor de servizos ten a súa propia cola de reintentos, onde as mensaxes se ordenan segundo o tempo de mensaxeamp. Link Mobility sempre tenta enviar mensaxes antigas primeiro, aínda que non se garante a orde individual das mensaxes entregadas ao fornecedor de servizos. O motivo principal polo que se descartan as mensaxes da cola de reintentos é un dos dous motivos: ou o TTL da mensaxe caduca ou (teoricamente) a cola de reintentos está chea. O TTL depende do operador e da conta, é dicir, pode variar segundo o operador ou o tipo de mensaxe, por exemplo, SMS premium ou mensaxe SMS de tarifa estándar.

Un fornecedor de servizos con reintento activado debe comprobar o ID único da mensaxe MT para asegurarse de que a mensaxe aínda non se recibiu.

É importante que o provedor de servizos cumpra estas regras sinxelas cando se produce un erro durante o procesamento dun informe de entrega se o motivo do erro é: Temporal, por exemplo, a base de datos non dispoñible, debe devolverse un NAK. LINK Mobility volverá enviar a mensaxe.

É probable que un intento permanente e un reintento cause o mesmo tipo de problema, debería devolverse un ACK. Por example, cando a mensaxe non se puido analizar correctamente ou provocou un erro de execución inesperado.

Actuar en consecuencia garantirá que non se produza ningún bloqueo ou degradación do rendemento debido a que un informe de entrega se reenvía repetidamente.

10. Consellos de implantación

1. É posible utilizar o seu web navegador para enviar solicitudes á API. Isto fai que sexa moi sinxelo explorar e avaliar os servizos sen ningunha ferramenta de desenvolvemento.

2. Recoméndase Chrome ou Firefox xunto cunha extensión como JSONView para mostrar JSON con bastante formato.

3. Usamos SoapUI para probar POST, autenticación básica e para inspeccionar as mensaxes de resposta e solicitude HTTP en bruto.

https://www.soapui.org/

4. O cURL ferramenta é útil para enviar solicitudes POST con autenticación básica. Ver example a continuación.

https://curl.haxx.se/

curl POST \
-H "Tipo de contido: aplicación/x-www-formulario-urlcodificado" \
-H "Autorización: básico am9objpjaGFuZ2VtZSA=" \
https://europe.ipx.com/restapi/v1/sms/send \
–datos “destinationAddress=46123456789&messageText=Hello+World%21”

_______________

Transformando as comunicacións personalizadas

Documentos/Recursos

LINK Guía de implementación de mobilidade SMS da API REST [pdfGuía do usuario
Guía de implementación de mobilidade REST API SMS, Mobilidade, Guía de implementación REST API SMS, REST API SMS, API SMS, SMS

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *