Logo Ayiscore

AYISCORE — API Patnè

Dokimantasyon ofisyèl API a pou enstitisyon patnè yo · Vèsyon v1

Pwodiksyon https://api.ayiscore.com/v1
Sandbox (tès) https://api.ayiscore.com/sbx/v1
Fòma JSON — Content-Type: application/json

1. Rezime rapid

Ayiscore se biwo nòt kredi pou Ayiti. API patnè a pèmèt yon enstitisyon ki apwouve :

  1. Konsilte nòt kredi yon moun — sèlman si moun lan bay konsantman aktif pou patnè sa a ak pou rezon sa a.
  2. Kreye yon konsantman asiste an branch, lè kliyan an la an pèsòn.
  3. Rapòte angajman (prè), peman, ak defo bay biwo a, pou nòt yo rete ajou pou tout rezo a.

2. Otantifikasyon

Tout endpoint (sòf GET /sante) mande antèt sa a :

X-Ayiscore-Kle: <kle_api>
curl -H "X-Ayiscore-Kle: <kle_api>" https://api.ayiscore.com/v1/sante
Pa janm mete kle pwodiksyon an nan kòd piblik, nan yon app mobil, ni nan yon dokiman pataje. Kle a rete sekrè enstitisyon an.

3. Tablo endpoint yo

MetòdEndpointDeskripsyon
POST/konsiltasyonKonsilte nòt kredi yon moun (konsantman obligatwa)
POST/konsantman-branchKonsantman asiste an branch / kay patnè a (kòd konfimasyon)
POST/rapo/angajmanRapòte yon nouvo angajman (prè / kredi)
POST/rapo/pemanRapòte yon peman sou yon angajman
POST/rapo/defoRapòte yon defo — prev_ref obligatwa
GET/santeTchèk sèvis la (health check)

Tout chemen yo egziste idantik anba baz pwodiksyon an (/v1) ak anba baz sandbox la (/sbx/v1).

Objè moun (itilize nan plizyè endpoint)

{
  "kod_kliyan": "…",
  "telefon": "…",
  "pyes_nimewo": "…"
}
ChanDeskripsyon
kod_kliyanKòd kliyan moun lan (jan patnè a oswa biwo a idantifye l)
telefonNimewo telefòn moun lan
pyes_nimewoNimewo pyès idantite moun lan

4. Konsantman — règ san konpwomi

San konsantman, san konsiltasyon. Blokaj la teknik.

Pou yon POST /konsiltasyon pase, fòk gen yon konsantman aktif ki koresponn egzakteman ak 3 bagay an menm tan : kliyan an, patnè a (idantifye pa kle API li a), epi rezon an (rezon_kod). Si youn pa koresponn, oswa konsantman an ekspire / revoke, sèvè a reponn 403 KONSANTMAN_MANKE. Pa gen eksepsyon manyèl, pa gen kontounman.

Valè rezon_kod yo

rezon_kodSans
nouvo_demann_krediMoun lan fè yon nouvo demann kredi / prè
revizyon_kontRevizyon peryodik yon kont ki egziste deja
vant_a_krediVant a kredi (machandiz / sèvis yo peye an plizyè fwa)

5. Endpoint yo an detay

5.1 POST /konsiltasyon — Konsiltasyon nòt kredi

Kò demann lan :

{
  "moun": {
    "kod_kliyan": "…",
    "telefon": "…",
    "pyes_nimewo": "…"
  },
  "rezon_kod": "nouvo_demann_kredi",
  "konsantman_id": "…"
}

rezon_kod dwe youn nan : nouvo_demann_kredi · revizyon_kont · vant_a_kredi.

Egzanp curl :

curl -X POST https://api.ayiscore.com/v1/konsiltasyon \
  -H "Content-Type: application/json" \
  -H "X-Ayiscore-Kle: <kle_api>" \
  -d '{
    "moun": {
      "kod_kliyan": "KLI-000123",
      "telefon": "+50937000000",
      "pyes_nimewo": "…"
    },
    "rezon_kod": "nouvo_demann_kredi",
    "konsantman_id": "KONS-2026-000001"
  }'

Repons 200 :

{
  "not_vale": 682,
  "bann": "Bon",
  "nivo_idantite": "verifye",
  "angajman_ouvè": 2,
  "pi_gwo_reta_jou_90j": 12,
  "dat_kalkil": "2026-11-04T14:32:00-05:00"
}
Chan repons lanDeskripsyon
not_valeNòt kredi a, sou echèl 300–850
bannBann kalitatif ki koresponn ak nòt la
nivo_idantiteNivo verifikasyon idantite moun lan
angajman_ouvèKantite angajman (prè / kredi) ki ouvè kounye a
pi_gwo_reta_jou_90jPi gwo reta peman (an jou) sou 90 dènye jou yo
dat_kalkilDat ak lè nòt la te kalkile

Erè espesifik : 403 KONSANTMAN_MANKE (gade seksyon 4) · 404 MOUN_PA_JWENN si moun lan pa idantifye nan biwo a.

5.2 POST /konsantman-branch — Konsantman asiste an branch

Endpoint sa a sèvi lè kliyan an prezan an branch oswa kay patnè a. Flo a :

  1. Patnè a voye demann lan ak moun lan, rezon an, epi metòd la.
  2. Kliyan an resevwa yon kòd konfimasyon (pa SMS ak metòd kod_sms).
  3. Konsantman an kreye sèlman lè kòd la antre kòrèkteman. Anvan sa, pa gen konsantman, epi pa gen konsiltasyon posib sou baz demann sa a.

Kò demann lan :

{
  "moun": {
    "kod_kliyan": "…",
    "telefon": "…",
    "pyes_nimewo": "…"
  },
  "rezon_kod": "nouvo_demann_kredi",
  "metod": "kod_sms"
}

Egzanp curl :

curl -X POST https://api.ayiscore.com/v1/konsantman-branch \
  -H "Content-Type: application/json" \
  -H "X-Ayiscore-Kle: <kle_api>" \
  -d '{
    "moun": {
      "kod_kliyan": "KLI-000123",
      "telefon": "+50937000000",
      "pyes_nimewo": "…"
    },
    "rezon_kod": "nouvo_demann_kredi",
    "metod": "kod_sms"
  }'

5.3 POST /rapo/angajman — Rapòte yon angajman (prè)

Lè patnè a louvri yon prè / kredi pou yon kliyan, li rapòte l bay biwo a. Se rapò sa yo ki nouri istwa kredi kliyan an — pou tout rezo a, pa pou yon sèl patnè.

Kò demann lan :

{
  "moun": {
    "kod_kliyan": "…",
    "telefon": "…",
    "pyes_nimewo": "…"
  },
  "angajman_ref": "…",
  "montan": 50000,
  "deviz": "HTG",
  "dat_louvri": "2026-11-04",
  "vesman": [
    { "dat_echeyans": "2026-12-04", "montan": 8750 },
    { "dat_echeyans": "2027-01-04", "montan": 8750 }
  ]
}
ChanDeskripsyon
angajman_refReferans angajman an kay patnè a — kle lyen an pou tout rapò peman ak defo ki vin apre
montanMontan total angajman an
devizHTG oswa USD
dat_louvriDat angajman an louvri
vesmanLis echeyans yo : chak ak dat_echeyans ak montan li

Egzanp curl :

curl -X POST https://api.ayiscore.com/v1/rapo/angajman \
  -H "Content-Type: application/json" \
  -H "X-Ayiscore-Kle: <kle_api>" \
  -d '{
    "moun": {
      "kod_kliyan": "KLI-000123",
      "telefon": "+50937000000",
      "pyes_nimewo": "…"
    },
    "angajman_ref": "PRE-2026-0451",
    "montan": 50000,
    "deviz": "HTG",
    "dat_louvri": "2026-11-04",
    "vesman": [
      { "dat_echeyans": "2026-12-04", "montan": 8750 },
      { "dat_echeyans": "2027-01-04", "montan": 8750 }
    ]
  }'

Erè espesifik : 422 DONE_ENKONPLE si yon chan obligatwa manke (pa egzanp lis vesman an vid).

5.4 POST /rapo/peman — Rapòte yon peman

Kò demann lan :

{
  "angajman_ref": "…",
  "dat_echeyans": "2026-12-04",
  "montan": 8750,
  "dat_peman": "2026-12-03"
}
ChanDeskripsyon
angajman_refReferans angajman an (menm ak sa rapò angajman an te bay la)
dat_echeyansEcheyans peman sa a koresponn avè l
montanMontan ki peye a
dat_pemanDat peman an fèt tout bon an

Egzanp curl :

curl -X POST https://api.ayiscore.com/v1/rapo/peman \
  -H "Content-Type: application/json" \
  -H "X-Ayiscore-Kle: <kle_api>" \
  -d '{
    "angajman_ref": "PRE-2026-0451",
    "dat_echeyans": "2026-12-04",
    "montan": 8750,
    "dat_peman": "2026-12-03"
  }'

Peman ki rapòte a tan, se siyal ki pi fò nan nòt la. Rapòte peman yo regilyèman — se konsa istwa pozitif kliyan ou yo bati.

5.5 POST /rapo/defo — Rapòte yon defo (negatif)

Yon defo se yon enfòmasyon negatif ki lou pou kliyan an. Se poutèt sa li gen 2 pwoteksyon obligatwa : prèv dokimante ak dwa repons kliyan an.

Kò demann lan :

{
  "angajman_ref": "…",
  "montan_dwe": 17500,
  "dat_defo": "2027-02-10",
  "prev_ref": "KONTRA-PRE-2026-0451-SIGNE.pdf"
}
ChanDeskripsyon
angajman_refReferans angajman an
montan_dweMontan ki rete dwe a
dat_defoDat defo a konstate
prev_refOBLIGATWA — referans dokiman prèv la (kontra, resi, desizyon). San prev_ref : 422 PREV_MANKE, rapò a refize nèt.

Egzanp curl :

curl -X POST https://api.ayiscore.com/v1/rapo/defo \
  -H "Content-Type: application/json" \
  -H "X-Ayiscore-Kle: <kle_api>" \
  -d '{
    "angajman_ref": "PRE-2026-0451",
    "montan_dwe": 17500,
    "dat_defo": "2027-02-10",
    "prev_ref": "KONTRA-PRE-2026-0451-SIGNE.pdf"
  }'
Dwa repons kliyan an : defo a parèt nan app kliyan an — kliyan an wè l, li pa kache pou li. Kliyan an ka konteste l depi app li a. Depi gen kontestasyon, defo a make « an kontestasyon » jiskaske li rezoud. Yon defo san prèv pa janm antre nan sistèm lan : se prev_ref ki pòt la.

5.6 GET /sante — Tchèk sèvis la

Sèvi pou verifye sèvis la vivan (health check), pa egzanp nan siveyans (monitoring) patnè a.

Egzanp curl :

curl https://api.ayiscore.com/v1/sante \
  -H "X-Ayiscore-Kle: <kle_api>"

Repons 200 (egzanp) :

{
  "estati": "ok",
  "vesyon": "v1"
}

6. Erè estanda

Tout erè yo retounen an JSON ak yon kòd HTTP ak yon kòd erè stab patnè a ka pwograme sou li :

{
  "ere_kod": "KONSANTMAN_MANKE",
  "mesaj": "Pa gen konsantman aktif ki koresponn ak kliyan sa a, patnè sa a ak rezon sa a."
}
HTTPKòd erèSansKi lè
401KLE_ENVALIDKle API a envalid, manke, oswa revokeAntèt X-Ayiscore-Kle pa bon
403KONSANTMAN_MANKEPa gen konsantman aktif ki koresponn, oswa dosye a frizePOST /konsiltasyon san konsantman ki matche (kliyan + patnè + rezon)
404MOUN_PA_JWENNMoun lan pa jwenn / pa idantifye nan biwo aIdantifyan moun yo pa koresponn ak okenn dosye
422PREV_MANKEReferans prèv la mankePOST /rapo/defo san prev_ref
422DONE_ENKONPLEDone obligatwa manke oswa enkonplèNenpòt POST ak chan obligatwa ki manke
429LIMIT_VITESLimit vitès depasePlis pase 60 demann/min pa kle

Lè w resevwa 429 LIMIT_VITES, tann epi reeseye — pa miltipliye demann yo an paralèl, sa p ap chanje limit la.

7. Sandbox — kijan w teste

Sandbox la se anviwònman tès la. Li egziste pou ekip teknik patnè a entegre epi verifye API a anvan yo ale an pwodiksyon.

BagaySandboxPwodiksyon
Bazhttps://api.ayiscore.com/sbx/v1https://api.ayiscore.com/v1
Chemen yoIdantik — menm endpoint, menm fòmaIdantik
DoneFiktif sèlmanReyèl
Kle tès (egzanp dokiman sa a)ayiscore_sbx_demonstrasyonKle prive enstitisyon an (emèt lè l apwouve)
Efè sou done reyèlZewo — okennWi, tout aksyon yo reyèl epi anrejistre

Etap tès yo

  1. Pran baz sandbox la : https://api.ayiscore.com/sbx/v1.
  2. Sèvi ak kle tès la nan antèt la : X-Ayiscore-Kle: ayiscore_sbx_demonstrasyon. Kle sa a se kle egzanp dokiman sa a pou sandbox la sèlman — li pa fonksyone an pwodiksyon.
  3. Teste chak flo sou menm chemen yo : GET /sante → POST /konsantman-branch → POST /konsiltasyon → POST /rapo/angajman → POST /rapo/peman → POST /rapo/defo.
  4. Verifye ka erè yo nan sandbox la tou : konsiltasyon san konsantman (403 KONSANTMAN_MANKE), defo san prev_ref (422 PREV_MANKE), move kle (401 KLE_ENVALID).

Egzanp curl — sandbox :

# 1. Sante (sandbox)
curl https://api.ayiscore.com/sbx/v1/sante \
  -H "X-Ayiscore-Kle: ayiscore_sbx_demonstrasyon"

# 2. Konsiltasyon (sandbox, done fiktif)
curl -X POST https://api.ayiscore.com/sbx/v1/konsiltasyon \
  -H "Content-Type: application/json" \
  -H "X-Ayiscore-Kle: ayiscore_sbx_demonstrasyon" \
  -d '{
    "moun": {
      "kod_kliyan": "TES-0001",
      "telefon": "+50937000000",
      "pyes_nimewo": "TES-FIKTIF-001"
    },
    "rezon_kod": "nouvo_demann_kredi",
    "konsantman_id": "KONS-SBX-0001"
  }'

Règ sandbox yo

8. Trasabilite