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.
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
Provedor de servizos Netsize Consumer
- Enviar mensaxe MT
- Devolver o ID da mensaxe
- Enviar mensaxe SMS
- Entrega informe de entrega
- 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):
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.
4. O cURL ferramenta é útil para enviar solicitudes POST con autenticación básica. Ver example a continuación.
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 |