Development

Explicação transparente sobre o fluxo de entrega de senha

Você quer saber imediatamente o que aconteceu com a mensagem que continha a senha do seu usuário? Que bom, porque é exatamente isso que vamos lhe mostrar.

December 28 2015

O envio de senhas para ajudar os usuários a autenticar suas contas não é novidade, mas ter um fluxo transparente, saber exatamente onde está a senha e o por que dela não ter sido entregue, e ser capaz de passar essa informação para os seus clientes – é uma nova e excitante história.

Os fluxos de autenticação de 2-fatores, baseados em SMS são simples. Assim que o usuário tenta fazer o login em sua conta, ele recebe uma mensagem de SMS com o seu número de identificação pessoal (senha), que garante mais segurança ao acesso. Isso pode ajudar a prevenir isso.

Parece muito simples, você escreve algumas linhas de código, as insere no seu aplicativo e voilà - você adicionou toda a lógica de autenticação de 2-fatores. Dessa forma, você aumentou a segurança da conta do usuário final.

Normalmente, as mensagens são entregues aos usuários em segundos, mas o que acontece se elas não chegam? Às vezes, a mensagem não é entregue imediatamente. Você já se perguntou por que? Você quer saber imediatamente o que aconteceu com a mensagem? Que bom, porque é exatamente isso que vamos lhe mostrar.

Com este tutorial para integração completa de nossa suíte de mensagem nos seus processos, utilizando a API* HTTP da Infobip, vamos te dar uma visão especializada sobre o tema:

* Para ficar mais familiarizado com a API HTTP de SMS da Infobip, visite o nosso tutorial de primeiros passos.

Envie SMS

Para começar a enviar as mensagens de SMS, você precisa criar uma solicitação de HTTP POST no https://api.infobip.com/sms/1/text/advanced

O título deve conter a autorizaçã e o tipo de conteúdo.

  • Autorização: Básica QWxhZGRpbjpvcGVuIHNlc2FtZQ==
  • Tipo de Conteúdo: application/json

Vamos mostrar alguns exemplos de como enviar SMS, definir um parâmetro para receber os relatórios de entrega intermediários e finais, e como configurar o rastreamento de SMSpara taxas de conversão.

JSON


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

{
   "messages":[
      {
         "from":"InfoSMS",
         "destinations":[
            {
               "to":"41793026731"
            }
         ],
         "text":"Your PIN code is 1a2B3c. Enjoy our app!",
         "intermediateReport":true,
         "notifyUrl":"http://www.example.com/sms/advanced"
      }
    ],
   "tracking":{
         "track":"SMS",
         "type":"One_Time_Pin"
   }
}

Como resposta você receberá um status 200 OK com os detalhes da mensagem no corpo da resposta:

JSON


HTTP/1.1 200 OK
Content-Type: application/json

{
  "bulkId": "1446634544520356423",
  "messages": [
    {
      "to": "41793026731",
      "status": {
        "groupId": 1,
        "groupName": "PENDING",
        "id": 7,
        "name": "PENDING_ENROUTE",
        "description": "Message sent to next instance"
      },
      "smsCount": 1,
      "messageId": "8ef699bc-d4c6-4cf6-8d6e-9a9aa62ad93a"
    }
  ]
}

Um dos parâmetros recebidos na resposta é o Id da mensagem que é usado para enviar as taxas de conversão para a plataforma da Infobip.

Para mais explicações e exemplos sobre o envio de mensagens, visite a página de documentação.

Relatórios intermediários de entrega

Os relatórios intermediários de entrega são usados para receber informações em tempo real sobre as suas mensagens.

Assim que qualquer erro GSM não permanente for recebido (i.e. EC_ABSENT_SUBSCRIBER) pelo sistema da Infobip, ele será encaminhado para a URL de notificação* especificada no seu servidor de callback. Além dos erros GSM, também serão enviadas as informações de preço em tempo real, status das mensagens e os códigos de rede e do país.

*a URL de notificação é definida como um dos parâmetros do método API completo de personalização da mensagem de texto.

Para mais informações sobre os códigos de erros GSM e status das mensagens, conheça a nossa página de códigos de resposta.

Abaixo está um exemplo de relatório intermediário de entrega que será enviado para o seu servidor de callback:

JSON


{
  "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
      }
    }
  ]
}

Relatórios finais de entrega

Assim que os relatórios finais de entrega das mensagens enviadas forem recebidos pelo sistema da Infobip, eles serão encaminhados para a URL de notificação especificada no seu servidor de callback.

Você receberá o resultado na sua URL de notificação, que terá a mesma estrutura do relatório intermediário de entrega:

JSON


{
  "results": [
    {
      "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": "DELIVERED",
        "id": 5,
        "name": "DELIVERED_TO_HANDSET",
        "description": "Message delivered to handset"
      },
      "error": {
        "groupId": 0,
        "groupName": "OK",
        "id": 0,
        "name": "NO_ERROR",
        "description": "No Error",
        "permanent": false
      }
    }
  ]
}

Solução de rastreamento de conversão

Quando você está realizando uma campanha de SMS, uma das coisas mais importantes é o acompanhamento do seu desempenho e a medição das suas taxas de conversão de usuário. Por exemplo, se você está enviando senhas de uma só vez via SMS, é realmente importante controlar as taxas de conversão, para que você possa otimizar o seu fluxo e os seus processos.

O rastreamento de conversão precisa ser iniciado sempre que o processo começa e termina quando a conversão acontece. Apenas quando esse círculo termina, nós o consideramos uma conversão bem-sucedida.

INICIANDO O PROCESSO DE RASTREAMENTO DE CONVERSÃO

Nossa solução de rastreamento de SMS irá rastrear automaticamente cada mensagem enviada através da plataforma da Infobip. Basta definir o parâmetro de localização, colocar o tipo da sua campanha e o rastreamento do SMS será feito automaticamente.

Essas características são definidas no rastreamento de objetos ao enviar uma mensagem de SMS.

ENVIO DA TAXA DE CONVERSÃO

Quando um usuário realiza com sucesso a ação depois de receber o SMS, ou seja, quando, por exemplo, ele insere a senha de uma só vez no seu aplicativo, você pode nos enviar essa informação para que possamos medir as taxas de conversão.

Para o envio da taxa de conversão, você precisa fornecer apenas o ID da mensagemrecebido após o envio da mensagem de SMS. O ID da mensagem precisa ser submetido aos nossos parâmetros, como acontece na conversão. Os parâmetros para o envio das taxas de conversão: https://api.infobip.com/ct/1/log/end/{messageId}.

Exemplo: Enviando o Id da mensagem para mensagens convertidas

Este exemplo mostra como enviar o ID da mensagem quando acontece a conversão.

JSON


POST /ct/1/log/end/9304a5a3ab19-1ca1-be74-76ad87651ed25f35 HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
As a response, you will receive a processKey that is used for getting conversion rates and statistics:
JSON
{
    "processKey": "A37D448C1ACCA02FABA745522558326C" 
} 

Como resposta, você receberá uma chave de processo que é usada para obter as taxas de conversão e as estatísticas:

JSON

{
    "processKey": "A37D448C1ACCA02FABA745522558326C" 
} 

Para mais informações sobre a obtenção de um fluxo de 2FA mais transparente no seu negócio, entre em contato conosco pelo support@infobip.com!