Aller au contenu

Sub-Companies

Utilisation des sous-sociétés

Nous utilisons les sous-sociétés pour permettre aux agrégateurs d'effectuer des transferts au nom de leurs clients. Lorsqu'une sous-société est utilisée, son logo et son nom sont affichés dans l'historique des transactions du destinataire dans l'application mobile Djamo. Vous pouvez créer autant de sous-sociétés que nécessaire, mais seules les sous-sociétés actives peuvent être utilisées pour les transactions.

Voici comment fonctionne le flux de transfert avec une sous-société :

  1. Créez une sous-société.
  2. Utilisez l'identifiant de la sous-société lors de la soumission de votre demande de transfert.
  3. C'est tout !

Gérer les sous-sociétés

Créer une sous-société

POST /v1/sub-companies

Paramètres

Paramètre Type Description
name String Nom de la sous-société
logoUrl String URL du logo de la sous-société
curl \
-X POST \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-type: application/json' \
-d '{
    "name": "Chocolate Factory",
    "logoUrl": "https://myapp.com/assets/chocolate-factory-logo.png"
}' \
<BASE_URL>/v1/sub-companies
{
"id": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
"createdAt": "2020-11-24T17:43:15.970Z",
"updatedAt": "2020-11-24T17:43:15.970Z",
"name": "Chocolate Factory",
"logoUrl": "https://myapp.com/assets/chocolate-factory-logo.png",
"isActive": true
}

Récupérer les détails d'une sous-société

GET /v1/sub-companies/<id>

curl \
-X GET \
-H 'Authorization: Bearer <API_KEY>' \
<BASE_URL>/v1/sub-companies/subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231
{
"id": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
"createdAt": "2020-11-24T17:43:15.970Z",
"updatedAt": "2020-11-24T17:43:15.970Z",
"name": "Chocolate Factory",
"logoUrl": "https://myapp.com/assets/chocolate-factory-logo.png",
"isActive": true
}

Récupérer la liste de vos sous-sociétés

GET /v1/sub-companies

curl \
-X GET \
-H 'Authorization: Bearer <API_KEY>' \
<BASE_URL>/v1/sub-companies
{
    "count": 1,
    "limit": 15,
    "cursor": {
        "prev": null,
        "next": "bmV4dF9fXzE2Nzg4OTg4MzA2MjA="
    },
    "data": [
        {
          "id": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
          "createdAt": "2020-11-24T17:43:15.970Z",
          "updatedAt": "2020-11-24T17:43:15.970Z",
          "name": "Chocolate Factory",
          "logoUrl": "https://myapp.com/assets/chocolate-factory-logo.png",
          "isActive": true
        }
    ]
}

Mettre à jour une sous-société

PUT /v1/sub-companies/<id>

Remarque : Vous n'avez pas à spécifier tous les paramètres lors de la mise à jour d'une sous-société, cet endpoint agit comme une requête PATCH.

Paramètres

Paramètre Type Description
name String Nom de la sous-société
logoUrl String URL du logo de la sous-société
isActive Boolean Cette sous-société est-elle active ?
curl \
-X PUT \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-type: application/json' \
-d '{
    "name": "Swiss Chocolate Factory",
    "isActive": false
}' \
<BASE_URL>/v1/sub-companies/subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231
{
"id": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
"createdAt": "2020-11-24T17:43:15.970Z",
"updatedAt": "2020-11-24T17:43:15.970Z",
"name": "Chocolate Factory",
"logoUrl": "https://myapp.com/assets/chocolate-factory-logo.png",
"isActive": true
}

Supprimer une sous-société

Note

Vous ne pouvez pas supprimer une sous-société, mais vous pouvez la désactiver en mettant le paramètre isActive à false.

Effectuer des transactions au nom d'une sous-société

Envoyer de l'argent à un client Djamo au nom d'une sous-société

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.
subCompanyId String L'identifiant de la sous-société à utiliser pour cette transaction
curl \
-X POST \
-H "Content-type: application/json" \
-H 'Authorization: Bearer <API_KEY>' \
-d '{
      "subCompanyId": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
      "msisdn": "+22507XXXXXX00",
      "amount": 50000,
      "reference": "17f99xApUe472A",
      "description": "Salaire de juin",
      "type": "transfer"
    }' \
<BASE_URL>/v1/transactions
{
  "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",
  "subCompanyId": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231"
}

Envoyer de l'argent à plusieurs clients Djamo au nom d'une sous-société

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
subCompanyId String L'identifiant de la sous-société à utiliser pour cette transaction

Exemple

curl \
-X POST \
-H 'Content-type: application/json' \
-H 'Authorization: Bearer <API_KEY>' \
-d '{
      "subCompanyId": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
      "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,
  "subCompanyId": "subco_2cdc8ab1-6d50-49cc-ba14-54e4ac7ec231",
  "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"
      }
  ]
}