Development

Le flux transparent d’envoi de code PIN - Explication

Il arrive parfois que les codes PIN sécurisés ne soient pas transmis instantanément. Vous êtes-vous déjà demandé pourquoi?

December 28 2015

L'envoi de codes PIN pour aider vos utilisateurs à authentifier leurs comptes n'est pas une nouveauté, mais un flux transparent, et le fait de savoir exactement où est votre code PIN, pourquoi le message n'est pas arrivé, tout en étant à même de communiquer l'information à vos clients, voilà qui est nouveau et passionnant.

Les flux d'authentification à 2 facteurs par SMS sont simples. Dès que votre utilisateur s'identifie sur son compte, il reçoit un SMS contenant son numéro d'identification personnel (code PIN), qui apporte une sécurité supplémentaire lors de l'accès. Cela peut vous aider à éviter ça

Ça paraît très simple : vous écrivez quelques lignes de code, vous les implémentez dans votre application, et voilà ! Vous avez amélioré le processus grâce à l'intégralité de la logique d'authentification à 2 facteurs. En un clin d'œil, vous avez renforcé la sécurité du compte de l'utilisateur final.

En général, l'envoi des messages aux utilisateurs ne prend que quelques secondes, mais que se passe-t-il si ça ne marche pas ? Il arrive parfois que le message ne soit pas transmis instantanément. Vous êtes-vous déjà demandé pourquoi ? Vous voulez pouvoir expliquer immédiatement ce qui est arrivé à votre message ? C'est bien, et c'est exactement ce que nous allons vous montrer.

Grâce à ce tutoriel étape-par-étape qui vous permettra d'intégrer notre Messaging Suite complète à vos processus, en utilisant les API HTTP d'Infobip, nous apportons des conseils d'expert pour :

*Pour vous familiariser avec l'API HTTP pour l'envoi de SMS d'Infobip, consultez notre tutoriel de démarrage.

Envoyer des SMS

Pour commencer à envoyer vos messages SMS, vous devrez créer une requête POST HTTP sur https://api.infobip.com/sms/1/text/advanced

Votre titre doit contenir l'autorisation et le type de contenu.

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

Nous vous montrerons des exemples de procédures d'envoi de SMS, de réglage d'un paramètre permettant de recevoir un rapport de transmission intermédiaire et final et de réglage du suivi des SMS pour obtenir les taux for conversion.

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

En réponse, vous devriez recevoir un statut 200 OK avec des détails de message dans le corps de la réponse :

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

Un des paramètres reçu dans la réponse est le messageId utilisé pour Soumettre les taux de conversion à la plateforme Infobip.

Pour obtenir plus d'explications et d'exemples d'envoi de messages, consultez cette page de documentation.

Rapports de transmission intermédiaires

Les rapports de transmission intermédiaires servent à recevoir des informations en temps réel sur vos messages.

Dès que le système Infobip reçoit une erreur GSM non-permanente (par ex. : EC_ABSENT_SUBSCRIBER) elle est transmise à lURL de notification* spécifiée sur votre serveur de rappel. En dehors des erreurs GSM, nous vous envoyons également des informations sur le prix, le statut du message et les codes réseau et pays en temps réel.

* L'URL de notification est un des paramètres de la méthode API complète pour les messages textuels.

Pour plus d'informations concernant les codes d'erreur GSM et les statuts des messages, consultez notre page de codes de réponse.

Vous trouverez ci-dessous un exemple de rapport de transmission intermédiaire qui sera envoyé par notification push à votre serveur de rappel :

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

Rapports de transmission finaux

Dès que le système Infobip reçoit des rapports de transmission finaux pour les messages envoyés, ils sont transmis à l'URL de notification spécifiée sur votre serveur de rappel.

Vous recevrez le résultat, qui aura la même structure que le rapport de transmission intermédiaire, sur votre URL de notification:

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

Solution de suivi de conversion

Lorsque vous réalisez une campagne SMS, un des points les plus importants est de suivre ses performances et de mesurer les taux de conversion de vos utilisateurs. Par exemple, si vous envoyez des codes PIN à usage unique par SMS, il est crucial de suivre les taux de conversion afin de pouvoir optimiser votre flux et vos processus.

Le suivi de conversion doit être lancé à chaque fois que votre processus commence et se terminer lorsque la conversion se produit. Une fois que cette boucle est fermée, nous la considérons comme une conversion réussie.

INITIATE CONVERSION TRACKING PROCESS

Notre solution de suivi de SMS garde automatiquement une trace de tous les messages envoyés via la plateforme Infobip. Paramétrez simplement le track ajouter le type de campagne que vous menez et le suivi des SMS se fera automatiquement.

Ces caractéristiques sont paramétrées dans les objets tracking lors de l'envoi du message SMS.

DEMANDE D'UN TAUX DE CONVERSION

Lorsqu'un utilisateur réalise l'action avec succès après avoir reçu le SMS, en entrant par exemple un code PIN à usage unique dans votre application, vous pouvez nous envoyer cette information pour que nous mesurions les taux de conversion.

Pour la demande du taux de conversion, vous ne devez fournir que lemessageId reçu après l'envoi du message SMS. Le messageId doit être soumis à notre point de terminaison lorsque la conversion se produit. Le point de terminaison pour soumettre les taux de conversion: https://api.infobip.com/ct/1/log/end/{messageId}.

Exemple : Soumettre le messageId pour les messages convertis

Cet exemple vous montre comment soumettre le messageId lorsque la conversion se produit.

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

En réponse, vous recevrez uneprocessKey utilisée pour obtenir les taux et statistiques de conversion:

JSON

{
    "processKey": "A37D448C1ACCA02FABA745522558326C" 
} 

Pour une assistance complémentaire sur la fourniture d'un flux 2FA transparent pour votre activité, veuillez nous contacter via support@infobip.com!