Transfer API
Les transferts Djamo fournissent un ensemble de services vous permettant d'envoyer de l'argent facilement à des utilisateurs Djamo depuis votre compte professionnel.
Pour l'instant, ce que vous pouvez faire via l'API Business est de débiter votre compte professionnel et créditer un ou plusieurs clients Djamo, c'est-à-dire envoyer de l'argent à un ou plusieurs clients Djamo.
Vous pouvez également obtenir la liste des transactions qui ont impacté votre compte professionnel ou le statut d'une transaction particulière.
L'objet transaction
| Attribut | Type | Description |
|---|---|---|
| id | String | L'identifiant de la transaction |
| amount | Montant | Le montant débité pour la transaction. |
| fee | Montant | Les frais débités pour la transaction. |
| totalAmount | Montant | Le montant total débité pour la transaction (montant + frais). |
| msisdn | Numéro de téléphone | Le msisdn du client Djamo |
| status | String | Le statut actuel de la transaction. Peut être : pending, completed ou failed |
| reference | String | La référence que vous avez indiquée lors de la création de la transaction. Peut être votre ID interne. |
| type | String | Le type de transaction. Pour l'instant, le seul type autorisé est transfer. |
| batchId | String | L'identifiant du lot qui a créé cette transaction (uniquement si la transaction a été créée dans un lot). |
| createdAt | Horodatage | Horodatage indiquant quand la transaction a été créée. |
| updatedAt | Horodatage | Horodatage indiquant quand la transaction a été mise à jour. |
| failureReason | String | La raison de l'échec de la transaction. Vaut null si la transaction n'a pas échoué. Voir Raisons d'échec. |
Envoyer de l'argent à un client Djamo
POST /v1/transactions
| Paramètre | Type | Description |
|---|---|---|
| amount | Montant | Le montant débité pour la transaction. Doit être compris entre 5 000 et 500 000 |
| msisdn | Numéro de téléphone | Le msisdn du client Djamo |
| reference | String | Une référence que vous indiquez. Peut être votre ID interne. |
| type | String | Le type de transaction. Pour l'instant, le seul type autorisé est transfer. |
{
"id": "txn_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
"createdAt": "2023-05-25T17:43:15.970Z",
"updatedAt": "2023-05-25T17:43:15.970Z",
"amount": 500000,
"fee": 5000,
"totalAmount": 505000,
"status": "pending",
"msisdn": "+22507XXXXXX00",
"reference": "17f99xApUe472A",
"description": "Prime de juin",
"type": "transfer"
}
Pour vos tests, vous pouvez utiliser les numéros suivants pour simuler différents statuts :
| Numéro de téléphone | Statut souhaité |
|---|---|
| 2250747000000 | completed |
| 2251212121205 | failed |
Envoyer de l'argent à plusieurs clients Djamo
L'endpoint de lot est uniquement disponible pour les transactions de type transfer. Vous recevrez un JSON représentant l'objet lot.
POST /v1/transactions/batch
| Paramètre | Type | Description |
|---|---|---|
| transactions | Array | Une liste d'objets de paramètres de transaction utilisés pour créer des transactions individuelles. Voir exemple ci-dessous |
Exemple
curl \
-XPOST \
-H 'Content-type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-d '{
"transactions": [
{
"msisdn": "+22507XXXXXX00",
"amount": 500000,
"reference": "17f99xApUe472A",
"description": "Prime de juin"
},
{
"msisdn": "+22507XXXXXX01",
"amount": 550000,
"reference": "12E94bDeOP209T",
"description": "Prime de juin"
}
]
}' \
<BASE_URL>/v1/transactions/batch
{
"id": "bat_27fb25f4-3246-44c9-9f30-f0df3d9188cf",
"createdAt": "2023-03-16T22:01:11.070Z",
"updatedAt": "2023-03-16T22:01:11.269Z",
"totalAmount": 8300,
"status": "processing",
"totalFee": 5,
"transactions": [
{
"id": "txn_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
"createdAt": "2023-11-24T17:43:15.970Z",
"updatedAt": "2023-11-24T17:43:15.970Z",
"amount": 500000,
"fee": 5000,
"totalAmount": 505000,
"status": "pending",
"msisdn": "+22507XXXXXX00",
"reference": "17f99xApUe472A",
"description": "Prime de juin",
"type": "transfer"
},
{
"id": "txn_ae189ba6-0dc9-492a-9bde-ffdcf0decb0b",
"createdAt": "2023-11-24T17:44:15.970Z",
"updatedAt": "2023-11-24T17:44:15.970Z",
"amount": 430000,
"fee": 4300,
"totalAmount": 434300,
"status": "pending",
"msisdn": "+22507XXXXXX01",
"reference": "2E94bDeOP209T",
"description": "Prime de juin",
"type": "transfer"
}
]
}
Récupérer les détails d'une transaction
GET /v1/transactions/<id>
Vous pouvez également utiliser les webhooks pour être notifié des changements de statut de transaction.
{
"id": "txn_fbf960c4-294b-43cd-99a4-920b61efb17d",
"createdAt": "2023-11-24T17:43:15.970Z",
"updatedAt": "2023-11-24T17:43:16.970Z",
"amount": 5000,
"fee": 50,
"totalAmount": 5050,
"status": "completed",
"msisdn": "+225079932203",
"reference": "17f9956f-0965-4964-b2c1-40b4fef141a7",
"failureReason": null,
"description": "July's salary",
"type": "transfer",
"batchId": "17f9956f-0965-4964-b2c1-40b4fef141a7"
}
Raisons d'échec
Lorsque le status d'une transaction est failed, le champ failureReason indique la cause de l'échec.
| Valeur | Description |
|---|---|
TRANSACTION_AMOUNT_OVER_ACCOUNT_LIMIT |
Le destinataire a atteint la limite de son compte Djamo et ne peut pas recevoir ce montant. |
DJAMO_ACCOUNT_NOT_FOUND |
Le numéro de téléphone du destinataire ne correspond à aucun utilisateur Djamo enregistré. |
INTERNAL_ERROR |
Une défaillance d'un service interne Djamo s'est produite. Réessayez la transaction ou contactez le support si le problème persiste. |
UNKNOWN_ERROR |
Une erreur inattendue s'est produite. Contactez le support si le problème persiste. |
Vérifier un client
GET /v1/transactions/customers/check
Cet endpoint permet de vérifier les informations d'un utilisateur. Pour l'instant, il retourne uniquement le statut KYC du client. Le statut complete est le seul qui indique que le client a été validé par le système. Tout autre statut indique un problème d'identification du client.
| Paramètre | Type | Description |
|---|---|---|
| subCompanyId (Optionnel) | String | L'identifiant de la sous-société |
| msisdn (Requis) | Numéro de téléphone | Le msisdn du client Djamo |
Vérifier le solde
GET /v1/balance
Ceci représente le solde de votre compte Business Djamo. Vous pouvez le récupérer pour voir ce que vous avez actuellement sur votre compte professionnel.