Initiate Account Linking
This endpoint initiates the process of linking a customer’s Flouci wallet to their partner account by sending an OTP code.
curl -X POST 'https://developers.flouci.com/partners/accounts/initiate_link_account' \
-H 'Authorization: Bearer <APP_PUBLIC>:<APP_SECRET>' \
-H 'Content-Type: application/json' \
-d '{
"phone_number": "55555555"
}'
Body
The customer’s phone number (MSSDN).
{
"success": true,
"session_id": "ad4ead7c-c3e9-4531-b678-dcb8b68ba166",
"name": "Foulen Ben Foulen",
"phone_number": "55555555",
"message": "Verification code is sent to: "
}
Confirm Account Linking
Authenticate Session
This endpoint creates a short-lived session token for the user to access wallet functionalities.
curl -X POST '@IP/api/accounts/authenticate' \
-H 'Authorization: Api-Key <' \
-H 'Content-Type: application/json' \
-d '{
"tracking_id": "5a3c7b16-f197-474a-b1b3-e3bcb96690e5",
"phone_number": "55555555"
}'
Body
The unique user identifier from the confirm linking step.
The customer’s phone number (MSSDN).
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 300,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Refresh Session
This endpoint generates a new access token after the previous one has expired.
curl -X GET '@IP/api/accounts/authenticate/refresh' \
-H 'Authorization: Bearer YOUR_REFRESH_TOKEN'
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 300
}
Get Balance
This endpoint allows the user to check their wallet balance in millimes.
curl -X GET '@IP/partners/v1/transactions/balance?phone_number=55555555&tracking_id=602e300d-bee8-49a6-b5b7-438912669a27' \
-H 'Authorization: Bearer <APP_PUBLIC>:<APP_SECRET>'
Query Parameters
The customer’s phone number (MSSDN).
The unique user identifier.
{
"success": true,
"wallet_id": "2131239123891028390",
"balance_in_millimes": 1387410
}
Get History
This endpoint allows you to view the customer’s transaction history from the partner application.
curl -X GET '@IP/partners/v1/transactions/history?phone_number=55555555&tracking_id=602e300d-bee8-49a6-b5b7-438912669a27' \
-H 'Authorization: Bearer <APP_PUBLIC>:<APP_SECRET>'
Query Parameters
The customer’s phone number (MSSDN).
The unique user identifier.
Start date to filter history (ISO 8601 format).
End date to filter history (ISO 8601 format).
Number of items per page (max 10000).
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"operation_id": "906178af-6cb0-4fdb-be76-519199b6c679",
"sender": "55000000",
"status": "Approved",
"time_created": "2025-02-23T23:00:46.294232+01:00",
"payload": {
"blockchain_ref": "5B935D",
"operation_type": "PAYMENT",
"product": "001"
}
}
]
}
Initiate Payment
This endpoint allows the user to pay for a service.
curl -X POST '@IP/partners/v1/transactions/initiate_payment' \
-H 'Authorization: Bearer <APP_PUBLIC>:<APP_SECRET>' \
-H 'Content-Type: application/json' \
-d '{
"phone_number": "55555555",
"tracking_id": "602e300d-bee8-49a6-b5b7-438912669a27",
"amount_in_millimes": "1000",
"product": "001"
}'
Body
The customer’s phone number (MSSDN).
The unique user identifier.
The transaction amount in millimes.
Product code (e.g., 001
).
Webhook URL to notify transaction status.
{
"success": true,
"hash": "AB31047652EEA9B923C6BC931EB989A5BE13442D9DAC09920513A6022F6067A9",
"blockchain_ref": "AB3104"
}