API v1
Վաճառեք eSIM ձեր բրենդով
Կատալոգ՝ 200+ երկիր և տարածաշրջան։ Ձեզանից միայն թողարկման հարցումն է․ պատասխանում անմիջապես գալիս է ձեր հաճախորդի eSIM-ի էջի հղումը և գինը, որով այն պետք է վաճառել։ Տեղադրումը, աջակցությունը և լիցքավորումը մեզ վրա են։ Ոչ մի պայմանագիր օպերատորների հետ և ոչ մի սեփական բիլինգ։
200+
ուղղություն կատալոգում
1
թողարկման հարցում՝ այն ամենը, ինչ պետք է ձեզանից
$0
արժե ավազարկղը
1. Ինչպես է այն աշխատում
-
Ձեր հաճախորդը eSIM-ը գնում է ձեզանից՝ կայքում, հավելվածում կամ գրասենյակում, վաճառքի այն գնով, որը մենք տալիս ենք կատալոգում (
sale_price)։ -
Ձեր ծրագիրն ուղարկում է մեկ հարցում՝
POST /orders։ Մենք ձեր դրամապանակից գանձում ենք ձեր գինը (price) և անմիջապես պատասխանում ենքlinkհղումով։ -
Դուք հղումը տալիս եք հաճախորդին՝ նամակով, մեսենջերով, էկրանին։ Քանի դեռ պրոֆիլը թողարկվում է, էջը գրում է «պատրաստվում է», հետո ցույց է տալիս QR կոդը և հրահանգը։
-
Մնացածը մեր կողմում է՝ տեղադրում, աջակցություն նույն էջի չատում, տրաֆիկի լիցքավորում։ Իր eSIM-ի վերաբերյալ ցանկացած հարցով հաճախորդը գրում է մեզ։
sale_price-ի և price-ի տարբերությունը ձեր եկամուտն է։ Երկու գներն էլ սահմանում ենք մենք՝ ձեզ հետ համաձայնությամբ․ ձեր կողմում ոչինչ հաշվել պետք չէ։
2. Ինչից սկսել
Թողեք հայտ, և մենք ձեզ մուտք կտանք կոնսոլ։ Բանալիները թողարկում եք ինքներդ՝ «Բանալիներ» էջում․ սկսեք ավազարկղից, աշխատանքայինը թողարկեք, երբ ինտեգրացիան պատրաստ է։ Բանալին ցուցադրվում է միայն մեկ անգամ՝ մենք պահում ենք միայն դրա հեշը․ կորցրե՞լ եք՝ հետ կանչեք և թողարկեք նորը։ Կոնսոլում են փոխվում նաև մուտքի էլ․ փոստը և գաղտնաբառը, երևում են պատվերները, պրոֆիլները և հաշիվը։
API-ում բոլոր գումարները ԱՄՆ դոլարով են (USD)։ Գները գալիս են արդեն հաշվարկված․ price-ը այն է, ինչ կգանձենք ձեր դրամապանակից, sale_price-ը՝ որքանով վաճառել հաճախորդին։ Դրամապանակը լիցքավորվում է նախապես՝ կոնսոլի «Հաշիվ» էջում՝ բանկային քարտով, Apple Pay-ով կամ Google Pay-ով․ գումարը մուտքագրվում է անմիջապես։
Սկսեք ավազարկղից։ Այն թողարկում է իրական ձևաչափի պրոֆիլներ և հղումներ, բայց չի դիմում մատակարարին և գումար չի գանձում, ուստի կարող եք փորձել որքան ուզեք։
3. Նույնականացում
Բանալին փոխանցվում է Authorization: Bearer վերնագրով։ Հարցման տողում այն փոխանցել չի կարելի․ հասցեները մնում են պրոքսիների մատյաններում և սխալների հաշվետվություններում։
Ռեժիմը երևում է հենց բանալու մեջ՝ alo_live_՝ աշխատանքային, alo_test_՝ ավազարկղ։ Սա զարդ չէ․ ինտեգրացիայի ամենահաճախ վթարը թեստային միջավայրում պատահաբար մնացած աշխատանքային բանալին է։ GET /ping-ը ցույց է տալիս, թե որ բանալիով եք եկել․
4. Ինչ կարելի է կանչել
/ping
Բանալու և ռեժիմի ստուգում
/balance
Հաշվի մնացորդ
/countries
Ուղղություններ, որոնց համար կան սակագներ
/packages
Կատալոգ՝ ձեր գնով (price) և վաճառքի գնով (sale_price)
/packages/{slug}
Մեկ սակագին
/orders
Թողարկել eSIM՝ պատասխանում հղում հաճախորդի համար
/orders
Ձեր պատվերները
/orders/{id}
Պատվերի կարգավիճակը և պրոֆիլը, երբ այն պատրաստ է
/esims
Թողարկված պրոֆիլներ
/esims/{iccid}
Պրոֆիլ՝ հղում, տեղադրման տվյալներ, ծախս
/esims/{iccid}/usage
Տրաֆիկի թարմ ծախս
/esims/{iccid}/cancel
Չեղարկել չտեղադրված պրոֆիլը
/webhook
Ծանուցումների ընթացիկ հասցեն
/webhook
Նշել ծանուցումների հասցեն՝ պատասխանում ստորագրության գաղտնիքը
/webhook/test
Փորձնական ծանուցում
/webhook
Անջատել ծանուցումները
Ցուցակները (/packages, /orders, /esims) տրվում են էջերով՝ page և per_page պարամետրեր (լռելյայն 25, առավելագույնը 100), էջերի տվյալները՝ meta-ում։ Ավազարկղի բանալին տեսնում է միայն թեստային պատվերներն ու պրոֆիլները, աշխատանքայինը՝ միայն աշխատանքայինները։
5. Կատալոգ և գներ
GET /countries՝ ուղղություններ (iso2, name, flag)։ GET /packages՝ սակագներ․ ֆիլտրեր՝ country (ISO2), region, type (local, regional, global)։ Սակագինը պատվիրվում է իր slug-ով։
price-ը ձեր գինն է՝ այնքան, որքան կգանձենք դրամապանակից։ sale_price-ը՝ որքանով վաճառել eSIM-ը հաճախորդին։ Մեր ցուցափեղկի զեղչերը այս գներում չկան․ դրանք մերն են՝ մեր գնորդների համար։
Առայժմ API-ում միայն տրաֆիկի սահմանաչափով սակագներ են․ անսահմանափակ և օրական սակագները կհայտնվեն ավելի ուշ։ Կատալոգի գները ամբողջ փաթեթի համար են (per: "package"), իսկ ճշգրիտ գումարները գալիս են նաև պատվերի պատասխանում։
6. eSIM-ի թողարկում
Մեկ հարցում։ Գումարը գանձվում է անմիջապես, պատասխանը գալիս է վայրկյանի մի մասում՝ հաճախորդի հղումով․ պրոֆիլն ինքը մատակարարի մոտ թողարկվում է մի քանի վայրկյանում։
| Դաշտ | Ինչ է |
|---|---|
package |
Պարտադիր։ Սակագնի slug-ը կատալոգից։ |
days |
Միայն օրական սակագների համար՝ քանի օրով։ Այժմ API-ում այդպիսիք չկան․ դաշտը ապագայի համար է։ |
reference |
Ոչ պարտադիր։ Ձեր պատվերի համարը՝ մինչև 64 նիշ․ վերադառնում է պատասխաններում և ծանուցումներում, հարմար է մեր պատվերները ձերոնց հետ համադրելու համար։ |
Idempotency-Key |
Պարտադիր վերնագիր՝ մինչև 191 նիշ։ Նույն բանալիով կրկնությունը կվերադարձնի նույն պատվերը և երկրորդ eSIM չի թողարկի։ |
Idempotency-Key վերնագիրը ձևականություն չէ․ հարցումը գումար է շարժում, իսկ կապը կտրվում է հենց այսպիսի հարցումների ժամանակ։ Ստեղծեք բանալին ձեր պատվերի համար մեկ անգամ և կրկնեք հարցումը դրանով այնքան, որքան պետք է։ Պատասխանը՝ 201 նոր պատվերի, 200՝ կրկնության դեպքում․
link-ը ձեր հաճախորդի eSIM-ի էջն է։ Այն գալիս է անմիջապես և չի փոխվում․ նույն հասցեն կլինի GET /orders/{id}-ում, պրոֆիլում և esim.ready ծանուցման մեջ։ price-ը դրամապանակից գանձված գումարն է (ավազարկղում՝ charged: false), sale_price-ը՝ որքանով վաճառել eSIM-ը․ երկու գներն էլ ամրագրված են պատվերի պահին։
Պատվերի կարգավիճակը՝ paid, provisioning, awaiting_provider՝ թողարկվում է․ completed՝ պրոֆիլը պատրաստ է․ failed՝ թողարկել չհաջողվեց, գումարը վերադարձել է դրամապանակ, պատճառը՝ failure_reason-ում։ Հարցում անել պարտադիր չէ․ հղումն աշխատում է ինքնուրույն, իսկ պատրաստության և ձախողման մասին կարելի է ծանուցումներ ստանալ։
Երբ պրոֆիլը պատրաստ է, is_ready-ը դառնում է true, իսկ esim-ում գալիս են տեղադրման տվյալները։ Դրանք պետք են միայն, եթե ուզում եք QR կոդը ցույց տալ նաև ձեր կողմում․ սովորաբար հղումը բավական է։ Պրոֆիլի կարգավիճակը՝ issued՝ թողարկված, active՝ տեղադրված և աշխատում է, depleted՝ տրաֆիկն ավարտվել է, expired՝ ժամկետն անցել է, cancelled, suspended, revoked։
7. eSIM-ի էջը հղումով
Հղումը բացվում է առանց մուտքի և առանց հավելվածի․ մուտքը տալիս է հենց երկար պատահական հասցեն։ Էջը փակ է որոնողական համակարգերից։ Ինչ է այնտեղ տեսնում ձեր հաճախորդը․
- Քանի դեռ պրոֆիլը թողարկվում է՝ «eSIM-ը պատրաստվում է»․ էջը կթարմացվի ինքնուրույն, երբ այն պատրաստ լինի։
- Պատրաստ պրոֆիլ՝ QR կոդ, iPhone-ում մեկ հպումով տեղադրման կոճակ, ձեռքով տեղադրման տվյալներ, տեսահրահանգներ iPhone-ի և Android-ի համար, տրաֆիկի մնացորդ և գործողության ժամկետ։
- Եթե թողարկումը չհաջողվեց՝ հաղորդագրություն, որ խնդիրը մեր կողմում է, և չատ մեր աջակցության հետ։
- Աջակցության չատ՝ հաճախորդը գրում է մեզ հենց էջից․ տեղադրման, կապի և տրաֆիկի հարցերում օգնում ենք մենք։
- Լիցքավորում՝ հաճախորդն ինքն է նույն eSIM-ին ավելացնում տրաֆիկ կամ օրեր և վճարում էջում․ ոչինչ վերատեղադրել պետք չէ։
- Ձեր ձևավորումը՝ ձեր ընկերության լոգոն, գույները և տառատեսակները․ կարգավորում ենք ձեր խնդրանքով։ Ձեր կոնտակտները էջում չկան․ eSIM-ի հարցերով հաճախորդը դիմում է մեզ։
- Լեզու՝ հայերեն, ռուսերեն կամ անգլերեն․ հաճախորդն ինքն է փոխում։
Էջում գներ չկան՝ ոչ ձերը, ոչ վաճառքի գինը։ Ավազարկղում էջում կա «Թեստային eSIM» նշումը, իսկ լիցքավորումն անջատված է։
8. Պրոֆիլներ
GET /esims և GET /esims/{iccid}՝ թողարկված պրոֆիլներ, դիմումը՝ ICCID-ով։ Պրոֆիլում նույն link-ն է, տեղադրման տվյալները և ծախսը։
GET /esims/{iccid}/usage՝ թարմ ծախս․ հարցնում ենք մատակարարին հենց հիմա։ Եթե նա չպատասխանի, կգան վերջին հայտնի թվերը՝ synced_at նշումով։
POST /esims/{iccid}/cancel՝ դեռ հեռախոսում չտեղադրված պրոֆիլի չեղարկում։ Տեղադրվածը չեղարկել չի կարելի (esim_activated)․ մատակարարի մոտ այն արդեն սպառված է։ Չեղարկված պրոֆիլի գումարը չի վերադարձվում։
9. Ծանուցումներ
Պարտադիր չէ․ հաճախորդի հղումն աշխատում է նաև առանց ծանուցումների։ Նշեք հասցեն, եթե ուզում եք անմիջապես իմանալ, որ թողարկումը չի հաջողվել (order.failed)՝ գումարը վերադարձել է ձեր դրամապանակ, վերադարձրեք այն հաճախորդին, և որ պրոֆիլը պատրաստ է (esim.ready)։
Պատասխանում կգա secret-ը՝ այն ցուցադրվում է մեկ անգամ․ նոր PUT /webhook-ը տալիս է նորը։ Մեր յուրաքանչյուր հաղորդագրություն JSON-ով POST է՝ ստորագրված X-Alo-Signature վերնագրում․ HMAC-SHA256 հարցման մարմնից, hex տեսքով։ Իրադարձության անունը կրկնվում է X-Alo-Event-ում։ Ստուգեք ստորագրությունը պարտադիր, այլապես այդ հասցեին կարող է գրել ցանկացած մեկը․
Իրադարձություններ՝ esim.ready՝ պրոֆիլը թողարկված է, հղումով արդեն QR կոդ է․ order.failed՝ թողարկումը վերջնականապես չի հաջողվել, գումարը վերադարձել է դրամապանակ։
POST /webhook/test-ն ուղարկում է փորձնական ping իրադարձություն՝ ընդունումը և ստորագրությունը ստուգելու համար։ GET /webhook-ը ցույց է տալիս ընթացիկ հասցեն, DELETE /webhook-ն անջատում է ծանուցումները։
Պատասխանեք 2xx կոդով․ մնացած ամեն ինչը համարում ենք չառաքված և կրկնում ենք հինգ անգամ՝ աճող ընդմիջումով։ Հասցեն պետք է լինի https և տանի դեպի արտաքին ցանց․ ներքին հասցեներին մենք չենք դիմում։
10. Սխալներ և սահմանաչափեր
Սխալը միշտ գալիս է նույն ձևով՝ մեքենայական կոդ error.code-ում և մարդկային բացատրություն կողքին։ Վերլուծեք կոդը, ոչ թե տեքստը․ տեքստը կարող ենք վերաշարադրել, և այն գալիս է Accept-Language վերնագրի լեզվով։
| Կոդ | HTTP | Երբ |
|---|---|---|
missing_key / invalid_key / revoked_key |
401 | Բանալին փոխանցված չէ, չի գտնվել կամ հետ է կանչվել |
partner_blocked |
403 | Մուտքը փակ է․ կապվեք մենեջերի հետ |
validation_failed |
422 | Հարցման դաշտերը ստուգումը չեն անցել՝ մանրամասները details-ում |
idempotency_key_required |
400 | Պատվեր ստեղծելիս Idempotency-Key փոխանցված չէ |
idempotency_key_conflict |
409 | Նույն Idempotency-Key-ն այլ տվյալներով |
idempotency_key_in_progress |
409 | Այս բանալիով պատվերը դեռ ստեղծվում է՝ կրկնեք մեկ վայրկյանից |
insufficient_funds |
402 | Հաշվում գումարը բավարար չէ |
package_not_found |
404 | Սակագինը չի գտնվել կամ հանված է վաճառքից |
days_required |
422 | Օրական սակագնի համար days փոխանցված չէ |
package_unavailable |
409 | Սակագինը հենց հիմա մատակարարի մոտ չկա |
not_found |
404 | Պատվերը, պրոֆիլը կամ սակագինը (/packages/{slug}) չի գտնվել |
esim_activated |
409 | Պրոֆիլն արդեն տեղադրված է՝ չեղարկումն անհնար է |
cancel_refused |
409 | Մատակարարը մերժել է չեղարկումը |
provider_error |
502 | Մատակարարը չի պատասխանել՝ կրկնեք ավելի ուշ |
invalid_webhook_url |
422 | Ծանուցումների հասցեն https չէ կամ տանում է ներքին ցանց |
webhook_not_set |
422 | Փորձնական ծանուցում՝ առանց նշված հասցեի |
rate_limited |
429 | Հարցումների սահմանաչափը գերազանցված է |
server_error |
5xx | Սխալ մեր կողմում՝ կրկնեք ավելի ուշ |
Դաշտերի ստուգման սխալը թվարկում է, թե ինչն է սխալ յուրաքանչյուր դաշտում․
Սահմանաչափը՝ 120 հարցում րոպեում մեկ բանալու համար։ Գերազանցման դեպքում պատասխանը 429 կոդ է և Retry-After վերնագիր։ Ավելին է պետք՝ ասեք, կբարձրացնենք։
11. Ավազարկղ
alo_test_ բանալին աշխատում է նույն կատալոգով և նույն գներով, բայց դրանով պատվերը չի գնում մատակարարին և գումար չի գանձում։ Պրոֆիլը գալիս է իրական ձևաչափով՝ ICCID-ով և LPA տողով, իսկ հղումը բացում է իրական eSIM էջ, այնպես որ կարող եք կարգաբերել ամբողջ ճանապարհը, ներառյալ այն, ինչ կտեսնի հաճախորդը։
Ավազարկղը և աշխատանքային ռեժիմը չեն հատվում․ թեստային բանալիով չեն երևում աշխատանքային պատվերները, աշխատանքայինով՝ թեստայինները։ Թեստային eSIM-ը ճանապարհորդության համար պիտանի չէ․ դրա էջում այդ մասին գրված է։
Մուտք է պե՞տք
Թողեք հայտ, և նույն օրը մենք ձեզ կգրանցենք որպես API գործընկեր։ Բանալիները կթողարկեք ինքներդ կոնսոլում՝ նախ ավազարկղը, հետո աշխատանքայինը։