InstafuelInstafuel
FREN
  • Guides
  • Référence
  • Référence API
Guides
  • Démarrage rapide
  • Clés d'API
  • Référence API
Référence
  • Codes d'erreur
  • Glossaire
  • English
Environnement
  • Staging — instafuel-backend-staging.up.railway.app

© Instafuel — Abidjan, Côte d'Ivoire

Information
Identité
    Identité de la cléget
Entreprises
    Lister les entreprises du portefeuillegetDemander l'enrôlement d'une entreprisepostLire une entreprisegetMettre à jour une entreprisepatch
Comptes
    Lister les comptes web d'une entreprisegetCréer un compte web chez une entreprise clientepostMettre à jour un compte webpatch
Wallet
    Solde du wallet d'une entreprisegetÉcritures du walletgetTéléverser une preuve de versementpostDéclarer un versement à créditerpostSoldes de tout le portefeuillegetSuivre vos déclarations de versementgetLire une déclaration de versementget
Transactions
    Lister les pleins du portefeuillegetLire un pleinget
Chauffeurs
    Portefeuilles chauffeursget
Alertes
    Alertes des entreprises du portefeuilleget
Rapports
    Synthèse du portefeuilleget
Schemas
powered by Zudoku
API partenaire Instafuel
API partenaire Instafuel

Wallet

Download schema

Soldes Fuelz, écritures et déclarations de versement.


Solde du wallet d'une entreprise

GET
https://instafuel-backend-staging.up.railway.app
/v1/papi/companies/{companyId}/wallet

Scope requis : WALLET_READ.

availableFcfa = balanceFcfa − heldFcfa. Le montant retenu correspond aux pleins pré-autorisés dont le volume réel n'est pas encore confirmé.

Solde du wallet d'une entreprise › path Parameters

companyId
​integer · min: 1 · required

Identifiant d'une entreprise de votre portefeuille.

Solde du wallet d'une entreprise › Responses

Wallet

​Wallet
GET/v1/papi/companies/{companyId}/wallet
curl https://instafuel-backend-staging.up.railway.app/v1/papi/companies/:companyId/wallet \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": { "id": 55, "ref": "WAL-7C0DE118", "companyId": 4832, "status": "ACTIVE", "balanceFcfa": 13942000, "heldFcfa": 120000, "availableFcfa": 13822000, "updatedAt": "2024-08-25T15:00:00Z" } }
json
application/json

Écritures du wallet

GET
https://instafuel-backend-staging.up.railway.app
/v1/papi/companies/{companyId}/wallet/ledger

Scope requis : LEDGER_READ.

Écritures du wallet › path Parameters

companyId
​integer · min: 1 · required

Identifiant d'une entreprise de votre portefeuille.

Écritures du wallet › query Parameters

page
​integer · min: 1
Default: 1
perPage
​integer · min: 1 · max: 100

Plafonné à 100.

Default: 20
from
​string · date-time

Borne inférieure, date ISO 8601.

to
​string · date-time

Borne supérieure, date ISO 8601.

type
​string · enum
Enum values:
CREDIT
DEBIT
REFUND
HOLD
RELEASE
ADJUSTMENT

Écritures du wallet › Responses

Écritures paginées, de la plus récente à la plus ancienne

​LedgerEntry[]
​Pagination
GET/v1/papi/companies/{companyId}/wallet/ledger
curl https://instafuel-backend-staging.up.railway.app/v1/papi/companies/:companyId/wallet/ledger \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "00000000-0000-0000-0000-000000000000", "ref": "LED-3F19B7C2", "type": "CREDIT", "amountFcfa": 2500000, "balanceAfterFcfa": 13942000, "source": "BANK_TRANSFER", "reference": "RS-12-VIR-2026-0831-004", "transactionId": "00000000-0000-0000-0000-000000000000", "createdAt": "2024-08-25T15:00:00Z" } ], "pagination": { "page": 1, "perPage": 20, "total": 137, "totalPages": 7 } }
json
application/json

Téléverser une preuve de versement

POST
https://instafuel-backend-staging.up.railway.app
/v1/papi/companies/{companyId}/wallet/credit/proof

Scope requis : CREDIT_REQUEST_WRITE.

Étape préalable obligatoire à toute demande de crédit : celle-ci exige les identifiants renvoyés ici. Jusqu'à 3 fichiers, 10 Mo chacun.

Seul endpoint de l'API en multipart/form-data.

Téléverser une preuve de versement › path Parameters

companyId
​integer · min: 1 · required

Identifiant d'une entreprise de votre portefeuille.

Téléverser une preuve de versement › Request Body

files
​string[] · application/octet-stream · required

Téléverser une preuve de versement › Responses

Preuves enregistrées

​CreditProof[]
POST/v1/papi/companies/{companyId}/wallet/credit/proof
curl https://instafuel-backend-staging.up.railway.app/v1/papi/companies/:companyId/wallet/credit/proof \ --request POST \ --header 'Content-Type: multipart/form-data' \ --header 'Authorization: Bearer <token>' \ --form 'files=string'
Example Request Body
{ "files": [ "string" ] }
text
Example Responses
{ "data": [ { "id": "00000000-0000-0000-0000-000000000000", "fileName": "fileName", "contentType": "contentType", "sizeBytes": 0 } ] }
json
application/json

Déclarer un versement à créditer

POST
https://instafuel-backend-staging.up.railway.app
/v1/papi/companies/{companyId}/wallet/credit

Scope requis : CREDIT_REQUEST_WRITE.

Répond 202, pas 200 : rien n'est crédité. Vous déclarez qu'un versement a eu lieu ; seul Instafuel constate l'encaissement et approuve. Le solde ne bouge qu'ensuite. La demande expire au bout de 7 jours.

Une preuve est obligatoire — téléversez-la d'abord via POST …/wallet/credit/proof et reprenez les identifiants obtenus dans proofIds.

clientReference est votre référence de versement (numéro de virement, identifiant Mobile Money). Elle est préfixée côté serveur par votre identifiant d'apporteur, ce qui vous évite toute collision avec un autre partenaire.

Déclarer un versement à créditer › path Parameters

companyId
​integer · min: 1 · required

Identifiant d'une entreprise de votre portefeuille.

Déclarer un versement à créditer › Headers

X-Idempotency-Key
​string · maxLength: 200 · required

Valeur unique par opération — un UUID convient. Rejouée à l'identique dans les 24 h, la requête renvoie la première réponse au lieu de créer un doublon.

Déclarer un versement à créditer › Request Body

CreditRequestBody
amountFcfa
​integer · min: 1 · required
source
​string · enum · required

Nature réelle du versement constaté.

Enum values:
BANK_TRANSFER
MOBILE_MONEY
CASH_DEPOSIT
CHEQUE
clientReference
​string · maxLength: 100 · required

Votre référence de versement. Préfixée côté serveur, sans collision possible avec un autre partenaire.

proofIds
​string[] · maxItems: 3 · required

Identifiants renvoyés par POST …/wallet/credit/proof.

note
​string · maxLength: 500

Déclarer un versement à créditer › Responses

Déclaration enregistrée, en attente de validation Instafuel

​ApprovalPending
POST/v1/papi/companies/{companyId}/wallet/credit
curl https://instafuel-backend-staging.up.railway.app/v1/papi/companies/:companyId/wallet/credit \ --request POST \ --header 'Content-Type: application/json' \ --header 'X-Idempotency-Key: <string>' \ --header 'Authorization: Bearer <token>' \ --data '{ "amountFcfa": 2500000, "source": "BANK_TRANSFER", "clientReference": "VIR-2026-0831-004", "proofIds": [ "8f14e45f-ceea-467a-9f57-4f1f0e4d1a2b" ], "note": "Virement reçu le 31/08 sur le compte SGCI" }'
Example Request Body
{ "amountFcfa": 2500000, "source": "BANK_TRANSFER", "clientReference": "VIR-2026-0831-004", "proofIds": [ "8f14e45f-ceea-467a-9f57-4f1f0e4d1a2b" ], "note": "Virement reçu le 31/08 sur le compte SGCI" }
json
application/json
Example Responses
{ "data": { "status": "APPROVAL_PENDING", "approvalId": "00000000-0000-0000-0000-000000000000", "expiresAt": "2024-08-25T15:00:00Z", "message": "message" } }
json
application/json

Soldes de tout le portefeuille

GET
https://instafuel-backend-staging.up.railway.app
/v1/papi/wallets

Scope requis : WALLET_READ.

Soldes de tout le portefeuille › query Parameters

page
​integer · min: 1
Default: 1
perPage
​integer · min: 1 · max: 100

Plafonné à 100.

Default: 20

Soldes de tout le portefeuille › Responses

Wallets paginés

​Wallet[]
​Pagination
GET/v1/papi/wallets
curl https://instafuel-backend-staging.up.railway.app/v1/papi/wallets \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": 55, "ref": "WAL-7C0DE118", "companyId": 4832, "status": "ACTIVE", "balanceFcfa": 13942000, "heldFcfa": 120000, "availableFcfa": 13822000, "updatedAt": "2024-08-25T15:00:00Z" } ], "pagination": { "page": 1, "perPage": 20, "total": 137, "totalPages": 7 } }
json
application/json

Suivre vos déclarations de versement

GET
https://instafuel-backend-staging.up.railway.app
/v1/papi/credit-requests

Scope requis : WALLET_READ — suivre l'état de ses demandes est une lecture.

Ne renvoie que les demandes émises par votre organisation.

Suivre vos déclarations de versement › query Parameters

status
​string · enum
Enum values:
PENDING_APPROVAL
APPROVED
REJECTED
EXPIRED
companyId
​integer · min: 1

Suivre vos déclarations de versement › Responses

Demandes, de la plus récente à la plus ancienne

​CreditRequest[]
GET/v1/papi/credit-requests
curl https://instafuel-backend-staging.up.railway.app/v1/papi/credit-requests \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "00000000-0000-0000-0000-000000000000", "status": "PENDING_APPROVAL", "companyId": 0, "amountFcfa": 0, "source": "source", "clientReference": "clientReference", "requestedAt": "2024-08-25T15:00:00Z", "decidedAt": "2024-08-25T15:00:00Z", "expiresAt": "2024-08-25T15:00:00Z", "rejectedReason": "rejectedReason" } ] }
json
application/json

Lire une déclaration de versement

GET
https://instafuel-backend-staging.up.railway.app
/v1/papi/credit-requests/{requestId}

Scope requis : WALLET_READ.

Lire une déclaration de versement › path Parameters

requestId
​string · uuid · required

Lire une déclaration de versement › Responses

Demande

​CreditRequest
GET/v1/papi/credit-requests/{requestId}
curl https://instafuel-backend-staging.up.railway.app/v1/papi/credit-requests/:requestId \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": { "id": "00000000-0000-0000-0000-000000000000", "status": "PENDING_APPROVAL", "companyId": 0, "amountFcfa": 0, "source": "source", "clientReference": "clientReference", "requestedAt": "2024-08-25T15:00:00Z", "decidedAt": "2024-08-25T15:00:00Z", "expiresAt": "2024-08-25T15:00:00Z", "rejectedReason": "rejectedReason" } }
json
application/json

ComptesTransactions