curl --request POST \
--url https://guichet.apidjonanko.tech/v1/merchants/signup \
--header 'Content-Type: application/json' \
--header 'x-admission-token: <x-admission-token>' \
--data '
{
"name": "Wakati Technologies",
"email": "tech@wakati.ci",
"country": "CI"
}
'const options = {
method: 'POST',
headers: {'x-admission-token': '<x-admission-token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Wakati Technologies', email: 'tech@wakati.ci', country: 'CI'})
};
fetch('https://guichet.apidjonanko.tech/v1/merchants/signup', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://guichet.apidjonanko.tech/v1/merchants/signup"
payload = {
"name": "Wakati Technologies",
"email": "tech@wakati.ci",
"country": "CI"
}
headers = {
"x-admission-token": "<x-admission-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://guichet.apidjonanko.tech/v1/merchants/signup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Wakati Technologies',
'email' => 'tech@wakati.ci',
'country' => 'CI'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-admission-token: <x-admission-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"merchant": {
"reference": "PRT-4F7K2M9Q",
"name": "Wakati Technologies",
"legalName": "<string>",
"email": "jsmith@example.com",
"phoneNumber": "<string>",
"country": "CI",
"status": "PENDING",
"allowedCountries": [
"CI"
],
"webhookUrl": "<string>",
"webhookSecretHint": "9f1c2b7e",
"pricing": {
"cashinFeeBps": 200,
"cashinFeeFlat": 0,
"cashoutFeeBps": 200,
"cashoutFeeFlat": 0
},
"limits": {
"minCashinAmount": 100,
"maxCashinAmount": 2000000,
"minCashoutAmount": 100,
"maxCashoutAmount": 2000000,
"dailyCashoutLimit": 0
},
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z"
},
"credentials": {
"apiKey": "gk_live_4f7k2m9q1a2b3c4d5e6f7a8b",
"apiSecret": "gs_live_…",
"environment": "live"
},
"webhookSecret": "whsec_…",
"notice": "<string>"
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "La requête est invalide.",
"details": {
"fields": [
"amount must be an integer number"
]
}
},
"requestId": "9f1c2b7e-4a5d-4c8f-b0a1-e2d3c4b5a697",
"timestamp": "2026-10-01T10:12:04.000Z"
}{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Le solde disponible de votre portefeuille est insuffisant.",
"details": {}
},
"requestId": "9f1c2b7e-4a5d-4c8f-b0a1-e2d3c4b5a697",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Le solde disponible de votre portefeuille est insuffisant.",
"details": {}
},
"requestId": "9f1c2b7e-4a5d-4c8f-b0a1-e2d3c4b5a697",
"timestamp": "2023-11-07T05:31:56Z"
}Créer votre compte
Crée votre compte, son portefeuille et votre première paire de clés.
L’en-tête x-admission-token est obligatoire : il vous est transmis par votre
référent Djonanko après accord. Cet endpoint n’est pas ouvert au public.
apiSecret et webhookSecret ne sont affichés qu’une seule fois.
Enregistrez-les immédiatement dans votre gestionnaire de secrets — ils ne sont
pas récupérables. En cas de perte, il faut émettre une nouvelle clé et faire
tourner le secret de signature.
Le compte naît en statut PENDING : vous pouvez authentifier, consulter votre
solde, configurer vos notifications et déclarer vos adresses IP, mais pas
encore opérer. L’activation intervient après validation de votre dossier.
curl --request POST \
--url https://guichet.apidjonanko.tech/v1/merchants/signup \
--header 'Content-Type: application/json' \
--header 'x-admission-token: <x-admission-token>' \
--data '
{
"name": "Wakati Technologies",
"email": "tech@wakati.ci",
"country": "CI"
}
'const options = {
method: 'POST',
headers: {'x-admission-token': '<x-admission-token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Wakati Technologies', email: 'tech@wakati.ci', country: 'CI'})
};
fetch('https://guichet.apidjonanko.tech/v1/merchants/signup', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://guichet.apidjonanko.tech/v1/merchants/signup"
payload = {
"name": "Wakati Technologies",
"email": "tech@wakati.ci",
"country": "CI"
}
headers = {
"x-admission-token": "<x-admission-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://guichet.apidjonanko.tech/v1/merchants/signup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Wakati Technologies',
'email' => 'tech@wakati.ci',
'country' => 'CI'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-admission-token: <x-admission-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"merchant": {
"reference": "PRT-4F7K2M9Q",
"name": "Wakati Technologies",
"legalName": "<string>",
"email": "jsmith@example.com",
"phoneNumber": "<string>",
"country": "CI",
"status": "PENDING",
"allowedCountries": [
"CI"
],
"webhookUrl": "<string>",
"webhookSecretHint": "9f1c2b7e",
"pricing": {
"cashinFeeBps": 200,
"cashinFeeFlat": 0,
"cashoutFeeBps": 200,
"cashoutFeeFlat": 0
},
"limits": {
"minCashinAmount": 100,
"maxCashinAmount": 2000000,
"minCashoutAmount": 100,
"maxCashoutAmount": 2000000,
"dailyCashoutLimit": 0
},
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z"
},
"credentials": {
"apiKey": "gk_live_4f7k2m9q1a2b3c4d5e6f7a8b",
"apiSecret": "gs_live_…",
"environment": "live"
},
"webhookSecret": "whsec_…",
"notice": "<string>"
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "La requête est invalide.",
"details": {
"fields": [
"amount must be an integer number"
]
}
},
"requestId": "9f1c2b7e-4a5d-4c8f-b0a1-e2d3c4b5a697",
"timestamp": "2026-10-01T10:12:04.000Z"
}{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Le solde disponible de votre portefeuille est insuffisant.",
"details": {}
},
"requestId": "9f1c2b7e-4a5d-4c8f-b0a1-e2d3c4b5a697",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Le solde disponible de votre portefeuille est insuffisant.",
"details": {}
},
"requestId": "9f1c2b7e-4a5d-4c8f-b0a1-e2d3c4b5a697",
"timestamp": "2023-11-07T05:31:56Z"
}apiSecret et webhookSecret ne sont affichés qu’une seule fois et ne sont pas récupérables. Enregistrez-les immédiatement dans votre gestionnaire de secrets.Le compte naît en statut PENDING : vous pouvez consulter et configurer, mais pas encore opérer. Parcours complet : Démarrage rapide.Headers
Jeton d'admission fourni par Djonanko.
Body
Nom commercial.
2 - 160"Wakati Technologies"
Adresse de contact technique. Unique : elle identifie votre compte.
180"tech@wakati.ci"
Pays, en ISO 3166-1 alpha-2.
CI, BF, ML, SN, TG, BJ, NE, CM, GN "CI"
Raison sociale au registre du commerce.
200"Wakati Technologies SARL"
24"+2250700000000"
URL HTTPS de réception des notifications. Configurable ensuite via PATCH /merchants/me.
"https://wakati.ci/hooks/djonanko"
