CRM


  IMPORTANT ET OBLIGATOIRE


Lire toutes les sections en bleues pour mieux comprendre la documentation et les sections en orange signifiant l'alerte afin d'éviter des erreurs à commettre durant les intégrations et les procédures détaillées pour les intégration.

Introduction

CRM est un service de PayDunya. Il vous permet d'envoyer des SMS depuis votre application en l'occurrence votre site web ou application mobile. Cette documentation vous montre comment l'intégrer dans votre application.

Généralités sur les APIs

Pour pouvoir utiliser CRM, vous allez devoir générer des clés d'API qui permettent d'identifier votre application de manière unique dans le système.

Pour générer les clés d'API de votre application, voici la démarche à suivre:

  • Vous devez d'abord avoir un compte PayDunya Business activé. Créez-en un si ce n'est pas encore le cas.
  • Connectez-vous à votre compte PayDunya et cliquez sur Gérer mes clients au niveau du menu à gauche.
  • Cliquez sur Activer service si c'est votre premier accès.
  • Créer un compte SMS en cliquant sur le bouton Créer compte SMS, si vous en n'avez pas encore.
  • Ensuite cliquez sur le bouton Accéder au service.
  • Après avoir accédé au compte SMS, cliquez sur le bouton Générer les clés d'API.
  • Vos clés API seront automatiquement générées.

Les clés d'API sont au nombre de trois(3):

  • User Key
  • Secret key
  • Application key

Une fois les clés générées, vous pouvez maintenant utiliser notre CRM.

Note

  • L'accès aux services se fait via endpoints RESTFUL.
  • Le format d'échange de données est JSON.
  • Toutes les chaines de caractères en majuscule dans les requetes présentées ci dessous sont à remplacer par leurs valeurs.

Token d'autorisation

Pour consommer les endpoints de notre CRM, il vous faut toujours un token d'autorisation.


Endpoints API

https://crm.paydunya.com/api/v1/auth/login


Requête POST HTTP


curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.apisms.v1+json" \
-F "user_key: USER-KEY" \
-F "secret_key: SECRET-KEY" \
"https://crm.paydunya.com/api/v1/auth/login"
  • User Key est la clé user key obtenue lors de la génération des clés d'API
  • Secret key est la clé secret key obtenue lors de la génération des clés d'API

N'oubliez de les remplacer par leurs valeurs.


Réponse attendue


{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9zbXMucGF5ZHVueWEuY29yZVwvYXBpXC92MVwvYXV0aFwvbG9naW4iLCJpYXQiOjE1NTI2NTEwNzYsImV4cCI6MTU1MjY1NDk3NiwibmJmIjoxNTUyNjUxMDc2LCJqdGkiOiJWMjBKNk1SUFh0eldMS3VOIiwic3ViIjoyLCJwcnYiOiI4N2UwYWYxZWY5ZmQxNTgxMmZkZWM5NzE1M2ExNGUwYjA0NzU0NmFhIn0.xagI2zndC6ThraHFrZC9qNS_BdnmNlbN2tOHU2PKinY",
    "token_type": "bearer",
    "expires_in": 3600,
}

Envoyez SMS


Endpoints API

https://crm.paydunya.com/api/v1/sms/send


Requête POST HTTP


curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.apisms.v1+json" \
-H "Authorization: Bearer TOKEN" \
-d '{
    "send_sms_request":{
        "type": "application",
        "app_key": "APP-KEY",
        "sms": [
            {
                "from": "SENDER-ID",
                "to":"+221776665544",
                "text": "Un sms de test."
            }
        ]
    }
}' \
"https://crm.paydunya.com/api/v1/sms/send"
  • TOKEN est le token d'autorisation généré à partir de l'endpoint pour obtenir un token d'autorisation.
  • APP-KEY est la clé app key obtenue de la génération des clés d'API.
  • SENDER-ID est la signature du SMS. Prennant comme valeur le nom du compte SMS, il correspond au nom d'envoi du SMS, c'est le nom expéditeur qui sera affiché à destination. Pensez à mettre la bonne signature qui est configurée au niveau du compte, sinon le nom par défaut SMS-TEST sera pris en compte.

N'oubliez de les remplacer par leurs valeurs.

Note

Pour cet endpoint, vous avez remarqué que le noeud sms prend un tableau d'objet (SMS: from, to, text). Notez qu'on supporte jusqu'à 50 sms(objets) par requete.


Réponse attendue


{
    "code": "00",
    "message": "sms_sent",
    "description": "The sms sent successfully",
    "data": {
        "sms": [
            {
                "code": "CODE-SMS",
                "sender_addresss": "SENDER-ID",
                "receiver_address": "+221776665544",
                "text": "Un sms de test."
            },
        ]
    }
}

Méthode supplémentaire

Au delà des endpoints pour avoir un token et envoyer un sms, il existe aussi un autre qui vous permettra de récupérer les stats. Cette méthode vous retourne une liste de sms envoyés. Cette liste est personalisable en fonction des destinataires(receivers_address) et de la période(start_date et end_date) qui seront spécifiés dans la requete.

Endpoints pour recupérer les stats

Endpoints API

https://crm.paydunya.com/api/v1/sms/stats


Requête POST HTTPS


curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.apisms.v1+json" \
-H "Authorization: Bearer TOKEN" \
-d '{
    "sms_sent":
    {
        "type": "application",
        "app_key": "APP-KEY",
        "filters":
        {
            "receiver_address": [
                {
                    "value": "+221776665544"
                },
                {
                    "value": "+221773332211"
                },
                {
                    "value": "+22173214354"
                }
            ],
            "start_date": "2018-01-01 00:00:00",
            "end_date": ""
        }
    }
}' \
"https://crm.paydunya.com/api/v1/sms/stats"

Note

Les noeuds start_date, end_date sont optionnels. Ils sont deux valeurs qui nous permettent de définir une période. Vous pouvez mettre comme valeur des chaines vides si vous ne souhaiteriez pas les utiliser.


Réponse attendue


    "code": "00",
    "message": "success",
    "description": "The request is success",
    "data": {
        "invalid_number": [
            {
                "value": "22173214354"
            }
        ],
        "valid_number": [
            {
                "221773332211": []
            },
            {
                "221776665544": [
                    {
                        "code": "CODE-SMS",
                        "content": "Un sms de test."
                    }
                ]
            }
        ]
    }
}

Note

Le noeud invalid_number peut disparaitre d'une requete à l'autre. Il n'apparaitra que s'il y a au minimum un numéro invalide. Concernant le noeud valid_number, les SMS seront associés à leurs destinataires. Dans ce sens, les numéros à qui, vous n'avez jamais envoyé des SMS auront un tableau vide.

Autres réponses possibles

Code Message Description
00 sms_sent The sms sent successfully
success The request is process successfully
ERROR_101 sms_not_sent_success The sms is not send successfully
ERROR_102 inufficient_balance Insufficient balance
ERROR_103 balance_not_updated Balance not updated
ERROR_104 invalid_content_request The body of this request is not valid
ERROR_105 invalid_data_content_request The body of this request is not valid
ERROR_106 invalid_type The type is not valid
ERROR_107 invalid_key The key is not valid
ERROR_108 invalid_sender_address The sender address is not valid
ERROR_109 empty_address No address found
ERROR_110 invalid_receiver_address The receiver address is not valid
ERROR_111 number_recipients_not_authorize The number of receiver address is not authorize (Between 1 and 50 accepted)
ERROR_112 invalid_content_message The content message is not valid
ERROR_113 content_sms_too_long The content message is too long
ERROR_114 invalid_start_date The start date is not valid
ERROR_115 invalid_ende_date The end date is not valid
ERROR_116 error_server Error process on the server
ERROR_117 invalid_credentials The credentials are invalid
ERROR_118 credentials_not_found The credentials are not found
ERROR_119 could_not_create_token The token is not create
ERROR_120 user_not_found The user is not found
ERROR_121 token_expired The token is expired
ERROR_122 token_invalid The token is invalid
ERROR_123 token_not_found The authorization token is not found
ERROR_124 logout_token The authorization token is logout