Capacités
Pensé par et pour les ingénieurs.
Authentification JWT
JWT signés HS256, partagés entre AYILand et AYI. Rate-limit par wallet (Redis atomic).
Webhooks signés HMAC
HMAC-SHA256 sur le body, retries jusqu'à 24h, replay manuel depuis le dashboard.
Idempotency-Key
Toute requête POST peut être rejouée sans risque grâce à un identifiant fourni par vous.
OpenAPI 3.1
Spec complète téléchargeable, génération de clients dans 30+ langages avec openapi-generator.
Sandbox illimitée
Données isolées par compte, scénarios de test pré-remplis (succès, échec, timeout).
Audit immuable
Append-only PostgreSQL, sévérité tagguée, conformité OHADA + CNDP. Logs disponibles via API.
Endpoints principaux
Une API. Deux produits. Trente endpoints.
POST
/v1/parcelsCréer une demande de certification de parcelle.
GET
/v1/parcels/{id}Récupérer une parcelle et son token soulbound.
POST
/v1/parcels/{id}/transferInitier un transfert de propriété.
GET
/v1/registry/verify/{hash}Vérifier l'authenticité d'un certificat.
POST
/v1/ayi/messagesEnvoyer un message à AYI (multi-langue).
POST
/v1/ayi/voiceUploader un fichier audio (Whisper STT).
POST
/v1/ayi/sessionsCréer une session conversationnelle persistante.
POST
/v1/webhooks/{provider}Recevoir des événements signés HMAC.
GET
/v1/healthProbe de disponibilité de la plateforme.
Démarrage rapide
Une requête. Une parcelle certifiée.
Curl. Postman. SDK Node. SDK Python (à venir).
curlNode 20Python 3.11+Postman
curl -X POST https://api.ayitech.io/v1/parcels \
-H "Authorization: Bearer kp_sandbox_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"owner": {
"fullName": "...",
"id_doc": "..."
},
"parcel": {
"gps": [6.3654, 2.4183],
"area_m2": 540,
"city": "Cotonou"
},
"notary": "NOT-COT-014"
}'