Development

Spiegazione trasparente del flusso della consegna di PIN

A volte i PIN sicuri non vengono consegnati istantaneamente. Ti sei mai chiesto perché? Vuoi essere in grado di capire immediatamente cos’è successo al messaggio che contiene il tu

December 28 2015

L’invio di PIN per aiutare gli utenti ad autenticare i propri account non è esattamente una novità, ma avere un flusso trasparente, sapere dove si trova esattamente il proprio PIN, perché non viene consegnato, essere in grado di comunicarlo ai propri clienti, questa è una storia completamente nuova ed emozionante.

I flussi di autenticazione a 2 fattori basati su SMS sono semplici. Non appena il tuo utente cerca di accedere al suo account, riceve un messaggio SMS con il proprio numero di identificazione personale (PIN), che fornisce una sicurezza ulteriore all’accesso. Questo può aiutare a prevenirlo.

Sembra molto facile, scrivi un paio di righe di codice, le implementi nella tua app, e voilà: hai aggiunto l’intera logica di autenticazione a 2 fattori.

Di solito, i messaggi vengono consegnati agli utenti in appena un paio di secondi, ma cosa succede se la consegna non avviene? A volte il messaggio non viene consegnato istantaneamente. Ti sei mai chiesto perché? Vuoi essere in grado di capire immediatamente cos’è successo al tuo messaggio? Bene, perché è esattamente ciò che stiamo per mostrarti.

Con questa esercitazione passo passo per l’integrazione della nostra Suite di messaggistica completa nei tuoi processi utilizzando le API http di Infobip* forniremo un approfondimento professionale su:

*Per acquisire familiarità con le API SMS HTTP di Infobip, visita la nostra esercitazione Per iniziare.

Inviare SMS

Per iniziare a inviare messaggi SMS, è necessario creare una richiesta HTTP POST per https://api.infobip.com/sms/1/text/advanced

Il tuo Header (l’intestazione) dovrebbe contenere autorizzazione e tipo di contenuto.

  • Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
  • Content-Type: application/json

Ti mostreremo esempi di come inviare SMS, impostare un parametro per ricevere il rapporto intermedio e finale, e come impostare il monitoraggio SMS per le percentuali di conversione.

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

In risposta dovresti ricevere uno stato 200 OK con dettagli del messaggio nel corpo della risposta:

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

Uno dei parametri ricevuto nella risposta è l’Id messaggio utilizzato per l’Invio di percentuali di conversione alla piattaforma Infobip.

Per un’ulteriore spiegazione ed esempi per l’invio di messaggi, visita questa pagina di Documentazione.

Rapporti di consegna intermedi

I rapporti di consegna intermedi vengono utilizzati per la ricezione di informazioni in tempo reale sui tuoi messaggi.

Non appena viene ricevuto un qualsiasi errore GSM non definitivo (ovvero EC_ABSENT_SUBSCRIBER) dal sistema Infobip, verrà inoltrato all’URL di notifica* sul server di callback. Oltre agli errori GSM, invieremo anche informazioni sui prezzi in tempo reale, lo stato dei messaggi e i codici di rete e Paese.

*L’URL di notifica è impostato come uno dei parametri del Metodo API dei messaggi di testo completi.

Per maggiori informazioni in merito ai codice errore GSM e agli stati del messaggio, consulta la nostra pagina dei Codici di risposta.

Di seguito trovi un esempio di rapporto di consegna intermedia che verrà inoltrato al tuo server di 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
      }
    }
  ]
}

Rapporti di consegna finali

Non appena i rapporti di consegna finale per i messaggi inviati sono stati ricevuti dal sistema Infobip, verranno inoltrati all’URL di notifica specificato sul tuo server di callback.

Riceverai il risultato sul tuo URL di notifica, che avrà la stessa struttura del rapporto di consegna intermedio:

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

Soluzione per il monitoraggio della conversione

Quando si conduce una campagna SMS, una delle cose più importanti è monitorarne le performance e misurare le percentuali di conversione utente. Ad esempio, se si sta inviando PIN unici via SMS, è molto importante monitorare le percentuali di conversione in modo da poter ottimizzare i propri flussi e processi.

Il monitoraggio della conversione deve essere avviato ogni volta che il processo inizia e terminato quando si verifica la conversione. Solo una volta che questo cerchio si è chiuso, la consideriamo una conversione riuscita.

AVVIARE IL PROCESSO DI MONITORAGGIO DELLA CONVERSIONE

La nostra soluzione di monitoraggio SMS monitorerà automaticamente ogni messaggio inviato attraverso la piattaforma Infobip. È sufficiente impostare il parametro Monitoraggio, inserire il tipo di campagna e il monitoraggio SMS verrà eseguito automaticamente.

Queste funzionalità sono impostate negli oggetti di monitoraggio durante l’Invio di un messaggio SMS.

INVIO DELLA PERCENTUALE DI CONVERSIONE

Quando un utente esegue l’azione dopo aver ricevuto l’SMS, ad esempio inserisce il PIN unico nella tua app, puoi inviarci tale informazione in modo che possiamo monitorare le percentuali di conversione.

Per l’invio della percentuale di conversione, è necessario fornire il messageId dopo l’Invio di un messaggio SMS. Il messageId deve essere inviato al nostro endpoint quando si verifica la conversione. L’endpoint per l’invio di percentuali di conversione:

Esempio: invio di messageId per messaggi convertiti

Questo esempio mostra come inviare il messageId quando si verifica la conversione.

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

Come risposta, riceverai un processKey che viene utilizzato per ottenere percentuali di conversione e statistiche:

JSON

{
    "processKey": "A37D448C1ACCA02FABA745522558326C" 
} 

Per maggiore assistenza nel fornire un flusso 2FA più trasparente al tuo business, contattaci all’indirizzo support@infobip.com!