Products

Relatórios de entrega intermediários – Otimize o 2-FA

Faça com que a entrega do seu PIN seja transparente e segura.

April 19 2016

Ao enviar para seus clientes, você precisa tomar cuidado com algumas coisas. Principalmente, se os usuários confiaram em você, entregando seus dados pessoais. É sua responsabilidade oferecer a eles a melhor solução de segurança. Além disso, você também precisa enviar as OTPs em tempo real, não duas horas após os usuários inserirem os números de telefone no seu aplicativo (nesse meio tempo, eles já terão acessado outro aplicativo).

Há muitos motivos pelos quais não é possível entregar a sua mensagem no tempo exato – às vezes isso acontece, porque o usuário desligou o telefone ou não há mais espaço para armazenamento no telefone, e assim por diante. Esperar pelo relatório final de entrega ou pelo tempo de expiração da mensagem de SMS para receber um código GSM errado, é cansativo e não é uma opção, se você deseja oferecer aos seus usuários o 2-Fator de autenticação (2FA) em tempo real.

O relatório de entrega intermediário é estabelecido como um dos parâmetros da API de mensagens de texto com todas as funcionalidades Ele é enviado pela mesma URL de notificação do relatório final de entrega.

No momento em que qualquer erro GSM não permanente for recebido (por ex.: EC_ABSENT_SUBSCRIBER) pelo sistema da Infobip, nossos relatórios intermediários com base na API de SMS (entregues em tempo real) o encaminharão para a sua URL de notificação, localizada nos servidores callback.

Além de erros GSM, você também receberá, em tempo real, informações sobre preços, status da mensagem, rede e códigos do país.

Se quiser mais informações sobre os códigos de erro GSM.

*A URL de notificação é estabelecida como um dos parâmetros da API de mensageria de texto com todas as funcionalidades.

O exemplo abaixo mostra como definir Relatórios Intermediários (intermediateReport) para informações instantâneas de mensagens, bem como URL de Notificação (notifyURL) e Tipo de Conteúdo de Notificação (notifyContentType) para os relatórios e o callbackData do usuário.

POST /sms/1/text/advanced HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{
   "bulkId":"BULK-ID-123-xyz",
   "messages":[
      {
         "from":"InfoSMS",
         "destinations":[
            {
               "to":"41793026727",
               "messageId":"MESSAGE-ID-123-xyz"
            },
            {
               "to":"41793026731"
            }
         ],
         "text":"Mama always said life was like a box of chocolates. You never know what you're gonna get.",
         "intermediateReport":true,
         "notifyUrl":"http://www.example.com/sms/advanced",
         "notifyContentType":"application/json",
         "callbackData":"There's no place like home."
      }
    ]
}

O resultado que você receberá na sua URL de notificação terá a mesma estrutura do Relatório final de entrega.

{
  "results": [
    {
      "bulkId": "BULK-ID-123-xyz",
      "messageId": "c9823180-94d4-4ea0-9bf3-ec907e7534a6",
      "to": "41793026731",
      "sentAt": "2015-10-04T13:01:52.933+0000",
      "doneAt": "2015-10-04T13:02:00.134+0000",
      "smsCount": 1,
      "price": {
        "pricePerMessage": 0.0001000000,
        "currency": "EUR"
      },
      "status": {
        "groupId": 3,
        "groupName": "PENDING",
        "id": 1,
        "name": "PENDING_WAITING_DELIVERY",
        "description": "Message sent, waiting for delivery report"
      },
      "error": {
        "groupId": 1,
        "groupName": "HANDSET_ERRORS",
        "id": 27,
        "name": "EC_ABSENT_SUBSCRIBER",
        "description": "Absent Subscriber",
        "permanent": false
      },
      "callbackData":"There's no place like home."
    },
    {
      "bulkId": "BULK-ID-123-xyz",
      "messageId": "MESSAGE-ID-123-xyz",
      "to": "41793026727",
      "sentAt": "2015-06-04T13:01:52.937+0000",
      "doneAt": "2015-06-04T13:02:01.204+0000",
      "smsCount": 1,
      "price": {
        "pricePerMessage": 0.0001000000,
        "currency": "EUR"
      },
      "status": {
        "groupId": 3,
        "groupName": "PENDING",
        "id": 1,
        "name": "PENDING_WAITING_DELIVERY",
        "description": "Message sent, waiting for delivery report"
      },
      "error": {
        "groupId": 1,
        "groupName": "HANDSET_ERRORS",
        "id": 27,
        "name": "EC_ABSENT_SUBSCRIBER",
        "description": "Absent Subscriber",
        "permanent": false
      },
      "callbackData":"There's no place like home."
    }
  ]
}