Bibliothèques clientes
Générez un client typé pour votre langage, ou explorez l’API avec Postman.
Monerail n’a pas encore de SDK officiel. L’API repose sur HTTPS et JSON : tout client HTTP convient. Chaque point d’accès de la référence de l’API a des exemples en curl, Node.js, Python, PHP, Go, Java, Ruby et C#.
Pour un client typé, générez-le à partir du fichier OpenAPI 3.1 : https://docs.monerail.com/openapi.json.
Générer un client
OpenAPI Generator demande Java 11 ou plus (ou Docker). Avec npm :
npm install --save-dev @openapitools/openapi-generator-cli
npx openapi-generator-cli version-manager set 7.9.0Puis, selon votre langage :
SPEC=https://docs.monerail.com/openapi.json
# TypeScript (fetch)
npx openapi-generator-cli generate -i $SPEC -g typescript-fetch -o monerail-ts \
--additional-properties=npmName=monerail-client,supportsES6=true
# Python
npx openapi-generator-cli generate -i $SPEC -g python -o monerail-python \
--additional-properties=packageName=monerail
# PHP
npx openapi-generator-cli generate -i $SPEC -g php -o monerail-php \
--additional-properties=invokerPackage=Monerail
# Go
npx openapi-generator-cli generate -i $SPEC -g go -o monerail-go \
--additional-properties=packageName=monerail
# Java (java.net.http)
npx openapi-generator-cli generate -i $SPEC -g java --library native -o monerail-java \
--additional-properties=groupId=com.example,artifactId=monerail-client,invokerPackage=com.example.monerail,apiPackage=com.example.monerail.api,modelPackage=com.example.monerail.model
# Ruby
npx openapi-generator-cli generate -i $SPEC -g ruby -o monerail-ruby \
--additional-properties=gemName=monerail
# C# (.NET 8)
npx openapi-generator-cli generate -i $SPEC -g csharp -o monerail-csharp \
--additional-properties=packageName=Monerail,targetFramework=net8.0Sans npm, utilisez Docker : docker run --rm -v "$PWD:/local" openapitools/openapi-generator-cli:v7.9.0 generate -i https://docs.monerail.com/openapi.json -g python -o /local/monerail-python.
Utiliser le client généré
Le client prend l’adresse de base https://api.monerail.com et votre clé comme jeton bearer. Les opérations sont regroupées par ressource, et les opérations POST acceptent une clé d’idempotence facultative.
import { CollectionsApi, Configuration } from './monerail-client';
const collections = new CollectionsApi(
new Configuration({ basePath: 'https://api.monerail.com', accessToken: process.env.MONERAIL_KEY }),
);
const collection = await collections.createCollection({
idempotencyKey: 'order-42',
createCollectionRequest: {
amount: 5000,
currency: 'XAF',
phone: '237670000999',
operator: 'MTN',
customer: { name: 'Awa Ndiaye' },
},
});
console.log(collection.id, collection.status);import os
import monerail
config = monerail.Configuration(host="https://api.monerail.com", access_token=os.environ["MONERAIL_KEY"])
with monerail.ApiClient(config) as client:
collections = monerail.CollectionsApi(client)
collection = collections.create_collection(
monerail.CreateCollectionRequest(
amount=5000,
currency="XAF",
phone="237670000999",
operator="MTN",
customer=monerail.CreateCollectionRequestCustomer(name="Awa Ndiaye"),
),
idempotency_key="order-42",
)
print(collection.id, collection.status)À garder en tête :
- Les clients générés valident les réponses selon les schémas. Nous ajoutons des champs sans préavis (Versions) : régénérez de temps en temps, et préférez les réglages qui ignorent les champs inconnus.
- Les erreurs remontent en exceptions qui portent le code HTTP et l’erreur JSON. Branchez votre code sur
error.code. - Figez la version du générateur (7.9.0 ci-dessus) pour qu’une régénération ne change pas votre code par surprise.
Postman
Téléchargez la collection Postman (format v2.1) et importez-la dans Postman (Import, puis choisissez le fichier).
- Donnez à la variable de collection
apiKeyune clé de test (mr_test_…).baseUrlvaut déjàhttps://api.monerail.com. - Les requêtes utilisent l’authentification bearer de la collection. Chacune a un corps d’exemple et une réponse d’exemple enregistrée.
- Les requêtes qui déplacent de l’argent envoient
Idempotency-Key: {{$guid}}, une nouvelle valeur à chaque envoi. Pour réessayer la même opération sans risque, remplacez-la par une valeur fixe.