Docs
ENFR
Tableau de bord
Ressources

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 :

bash
npm install --save-dev @openapitools/openapi-generator-cli
npx openapi-generator-cli version-manager set 7.9.0

Puis, selon votre langage :

bash
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.0

Sans 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);

À 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 apiKey une clé de test (mr_test_…). baseUrl vaut 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.