Դուք վերավաճառում եք մեր հոսթինգը: Ձեր հաճախորդները ձերն են՝ ձեր գները, ձեր հաշիվները-ապրանքագրերը, ձեր վճարային մատակարարը: Ահա թե ինչպես կարող եք կառավարել մեր հարթակը ձեր արդեն իսկ գործող համակարգից՝ վճարային վահանակից, ձեր սեփական WordPress կայքից կամ որևէ սկրիպտից:
Այն, ինչ իրականում տեսնում են ձեր հաճախորդները
Մինչև տեխնիկական մանրամասները՝ ձեր հաճախորդները երբեք ստիպված չեն լինելու տեսնել մեզ: Կա երեք տարբերակ, և դուք եք ընտրում, թե որն օգտագործել:
| Մակերես | Ումն է պատկանում | |---|---| | Հոսթինգի վահանակը՝ ձեր սեփական հոսթնամով | Սահմանեք վահանակի հոսթնամ Վերավաճառություն → Ձեր ապրանքանիշը բաժնում, և ձեր հաճախորդները մուտք կգործնեն panel.yourcompany.com հասցեով՝ ձեր լոգոտիպով և ձեր գույներով: Նույն վահանակն է, բայց ձեր հասցեն: | | Ձեր սեփական կայքը | WordPress հավելվածը (plugin) տեղադրում է դոմենի որոնման և մեկ սեղմումով մուտքի հղումը ձեր կայքում և ձևակերպում պատվերը ձեր սեփական WooCommerce վճարման էջի միջոցով: | | Ձեր վճարային վահանակը | WHMCS-ը կամ HostBill-ը մնում են որպես գլխավոր մուտք. մոդուլն ապահովում է ծառայությունը հետնամասում, և հաճախորդների սպասարկման բաժնի կոճակը նրանց ուղղակիորեն տեղափոխում է իրենց հոսթինգ: |
⛔ Անկախ ընտրված տարբերակից՝ դուք եք հանդիսանում ձեր հաճախորդների գործարքի հիմնական կողմը (merchant of record). ձեր գները, ձեր հաշիվները, ձեր ԱԱՀ-ի համարը, ձեր վճարային մատակարարը: Մենք հաշիվ ենք ներկայացնում ձեզ ամիսը մեկ անգամ՝ մեծածախ գներով:
Հոսթինգի վահանակի հոսթնամը սահմանելուց հետո այն մուտքագրեք միայն WordPress հավելվածի Վահանակի հասցե (Panel address) դաշտում և ոչ մի տեղ ուրիշ. այս API-ի գեներացրած մուտքի հղումներն ավտոմատ կերպով հետևում են դրան:
Մուտք գործելու չորս ճանապարհ
Մուտք գործելու չորս ճանապարհ կա, և դրանք բոլորն էլ ներքուստ անում են նույն բանը.
| | Նախատեսված է | |---|---| | WHMCS մոդուլ | WHMCS խանութի համար | | HostBill մոդուլ | HostBill խանութի համար | | WordPress հավելված | Ձեր սեփական WordPress կամ WooCommerce կայքից վաճառելու համար | | API | Ամեն ինչի համար՝ Blesta, ներքին համակարգ, cron սկրիպտ |
1. Ստացեք API բանալի
Ձեր վահանակում անցեք API բանալիներ (API keys) և ստեղծեք մեկը: Տրամադրեք միայն այն, ինչ անհրաժեշտ է.
| Թույլտվություն | Ինչու է անհրաժեշտ | |---|---| | org.read | Կարդալ ձեր հաճախորդների հաշիվները | | sites.create | Ստեղծել կայք | | sites.view | Կարդալ ծառայությունը | | sites.delete | Դադարեցնել | | reseller.view | Ցուցակագրել ձեր ծառայությունները և կարդալ օգտագործման տվյալները | | reseller.provision | Կասեցնել, ազատ արձակել և մուտք գործել հաճախորդի հաշիվ |
⛔ Ինտեգրմանը մի՛ տվեք reseller.manage թույլտվությունը: Այդ թույլտվությունը խմբագրում է ձեր գնացուցակը և ձեր վճարային դարպասի հավատարմագրերը: reseller.provision-ը գոյություն ունի հենց նրա համար, որ վճարային վահանակում կամ կայքում տեղադրվող բանալին դրա կարիքը չունենա:
Բանալին ցուցադրվում է միայն մեկ անգամ: Պահպանեք այն այնտեղ, որտեղ պահում եք ձեր մյուս հավատարմագրերը. երբեք մի պահեք այնպիսի ֆայլում, որը սպասարկվում է ձեր վեբ սերվերի կողմից:
2. Կատարեք ձեր առաջին հարցումը
curl https://api.zinndigital.com/v1/reseller/services \
-H "Authorization: Bearer zdk_live_…"
Այն վերադարձնում է ձեր կողմից տրամադրված յուրաքանչյուր ծառայություն՝ յուրաքանչյուր կայքի համար մեկ տողով, ներառյալ այն հաճախորդը, որին այն պատկանում է, դրա կարգավիճակը և ձեր գանձման գումարը: Նոր հաշվի դեպքում սա դատարկ ցուցակ է, ինչը ճիշտ պատասխան է և սխալ չէ:
3. Ամբողջ ինտեգրումը՝ վեց հարցումով
ԵՐԲ ՀԱՐՑՈՒՄ
պատվերը վճարված է POST /v1/orgs յուրաքանչյուր ՀԱՃԱԽՈՐԴԻ համար մեկ անգամ
POST /v1/sites յուրաքանչյուր ԾԱՌԱՅՈՒԹՅԱՆ համար մեկ անգամ
նրանք չեն վճարել POST /v1/reseller/services/{siteId}/suspend
նրանք վճարում են POST /v1/reseller/services/{siteId}/unsuspend
նրանք չեղարկում են DELETE /v1/sites/{siteId}
«մուտք գործել հոսթինգ» POST /v1/reseller/services/{siteId}/sso
Ծառայությունների տրամադրումը երկու հարցում է, և բանալիներն այստեղ կարևոր են.
# 1. հաճախորդի հաշիվը — հիմնված ՁԵՐ հաճախորդի ID-ի վրա
curl -X POST https://api.zinndigital.com/v1/orgs \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: account-4211" \
-d '{"type":"customer","name":"Acme Ltd"}'
# 2. նրանց կայքը — հիմնված ՁԵՐ ծառայության ID-ի վրա
curl -X POST https://api.zinndigital.com/v1/sites \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: service-9915" \
-d '{"org_id":"<from step 1>","product_line":"mainstream","primary_domain":"acme.com"}'
Երկու կանոն, որոնց խախտումը գումար արժե
- Կապեք հաշիվը ձեր ՀԱՃԱԽՈՐԴԻ, իսկ կայքը՝ ձեր ԾԱՌԱՅՈՒԹՅԱՆ հետ։ Հաճախորդի երկրորդ պատվերը պետք է հայտնվի նրա արդեն իսկ ունեցած հաշվում: Եթե երկուսն էլ կապեք ծառայության հետ, հաճախորդը կհայտնվի երեք չկապակցված հաշիվներով և երեք առանձին վահանակներով:
- Յուրաքանչյուր
POST հարցման հետ ուղարկեք Idempotency-Key՝ ստեղծված տվյալ օբյեկտի համար ձեր սեփական ID-ից։ Վճարային ցանկացած համակարգ կրկնում է փորձերը. դարպասի հետադարձ կանչը (callback) գալիս է երկու անգամ, ադմինիստրատորը կրկնարկում է ձախողված տրամադրումը, կամ հաճախորդը կրկնակի է սեղմում կոճակը։ Առանց այս բանալու երկրորդ փորձը կստեղծի երկրորդ կայք, և դրա համար ձեզ հաշիվ կներկայացվի։
Երեք պատասխան, որոնք չպետք է միաձուլել երկուսի
unsuspend-ը կարող է վերադարձնել 409 պատասխանը։ Դա նշանակում է, որ կայքը արգելափակված է մեր չարաշահումների դեմ պայքարի թիմի, և ոչ թե ձեր կողմից։ Ցույց տվեք հաղորդագրությունը. մի՛ կրկնեք հարցումը։
- **Ծառայության դադարեցումը պլանավորում է ջնջում, այն անմիջապես չի կատարվում։** Ամսաթիվը վերադարձվում է որպես
pending_deletion_at։ Հաճախորդին ասելը, որ նրա տվյալներն արդեն ջնջված են, մինչդեռ դրանք այդպես չեն, ավելի վատ է, քան նրանց ոչինչ չասելը։
disk_used_bytes-ը կարող է լինել null, և null-ը զրո չէ։ Դա նշանակում է, որ մենք չենք կարողացել չափել, և ոչ թե այն, որ ոչինչ չի օգտագործվել։ Բաց թողեք այն. մի՛ գրեք 0 ձեր սեփական գրառումներում, հակառակ դեպքում հաճախորդին կցուցադրեք օգտագործման կանաչ սանդղակ մի կայքի համար, որի վերաբերյալ չունեք ոչ մի տվյալ։
4. Մուտք գործել հաճախորդի փոխարեն
POST /v1/reseller/services/{siteId}/sso հարցումը վերադարձնում է միանգամյա օգտագործման URL, որն ուղղակիորեն տեղափոխում է ձեր հաճախորդին իր սեփական հաշիվ՝ արդեն իսկ մուտք գործած վիճակում:
⛔ Գեներացրեք այն միայն սեղմելու պահին, երբեք մի՛ գեներացրեք էջը բեռնելիս։ Հղումը միանգամյա օգտագործման է և ժամկետանց է դառնում րոպեների ընթացքում, ուստի էջում գրված հղումն այրվում է առաջին իսկ այցելության ժամանակ և մնում ձեր և բրաուզերի միջև եղած ցանկացած քեշում:
5. Փոխարենը տեղադրեք մոդուլ
- WHMCS — պատճենեք մոդուլը
modules/servers/zinn/ տեղամասում, ավելացրեք սերվեր, որի Գաղտնաբառը (Password) ձեր API բանալին է, և սահմանեք ապրանքի գիծը ապրանքի համար: Սեղմեք Ստուգել կապը (Test Connection). այն կկատարի իրական հարցում և ձեզ կհայտնի հարթակի պատասխանը:
- HostBill — պատճենեք
includes/modules/Hosting/zinn/ տեղամասում և միացրեք նույն կերպ:
- WordPress — Zinn® Reseller Toolkit հավելված. դոմենի որոնում, մուտքի հղում դեպի ձեր հաճախորդների հոսթինգ և WooCommerce տրամադրում, երբ պատվերը վճարված է: Բաց կոդով տարբերակը հասանելի է <https://github.com/Zinn-Digital/zinn-reseller-toolkit> հասցեում, կամ ներբեռնեք այն ձեր վահանակի Հավելվածներ (Plugins) բաժնից։
6. Գործարկեք համակարգը
Ստուգեք այս ամենը նախքան իրական պատվեր ընդունելը.
- Մոդուլի կապի ստուգումը հաջողությամբ է անցել, կամ ձեր առաջին
curl հարցումը վերադարձրել է ցուցակ:
- Ձեր գնացուցակը սահմանված է (Վերավաճառություն → Ձեր գները):
- Ձեր վճարային դարպասը միացված է (Վերավաճառություն → Վճարային դարպասներ) — ձեր հաճախորդները վճարում են ձեզ, ձեր սեփական հաշվի միջոցով:
- Ձեր ընկերության մանրամասները լրացված են (Վերավաճառություն → Ձեր ընկերությունը), որպեսզի հաճախորդների հաշիվները պարունակեն ձեր իրավաբանական անձի տվյալները և ԱԱՀ-ի համարը, և ոչ թե մերը:
- Դուք կատարել եք մեկ իրական պատվեր սկզբից մինչև վերջ և հետևել եք կայքի հայտնվելուն:
Ամեն ինչ մնացածի մասին
API-ի ամբողջական ուղեցույցը՝ յուրաքանչյուր վերջնակետ (endpoint), գեներացված մեր բնութագրից՝ յուրաքանչյուրին անհրաժեշտ թույլտվությամբ, հասանելի է <https://zinndigital.com/developers/api> հասցեում։