Դուք վերավաճառում եք մեր հոսթինգը: Ձեր հաճախորդները Ձերն են՝ Ձեր գները, Ձեր հաշիվ-ապրանքագրերը, Ձեր վճարային համակարգը: Ահա թե ինչպես կարող եք կառավարել մեր հարթակը այն ամենից, ինչն արդեն իսկ գործարկում եք՝ բիլինգային վահանակից, Ձեր սեփական WordPress կայքից կամ սկրիպտից:
Ինչ են իրականում տեսնում Ձեր հաճախորդները
Նախքան մեխանիզմներին անցնելը. Ձեր հաճախորդները երբեք չպետք է տեսնեն մեզ: Երեք հարթակ, և Դուք եք ընտրում, թե որն օգտագործել:
| Հարթակ | Ում է պատկանում |
|---|
| Հոսթինգի վահանակը՝ Ձեր սեփական հոսթի անվան վրա | Սահմանեք վահանակի հոսթի անունը Վերավաճառք → Ձեր ապրանքանիշը բաժնում, և Ձեր հաճախորդները մուտք կգործեն panel.yourcompany.com հասցեով՝ Ձեր լոգոյով և Ձեր գույներով: Նույն վահանակը, Ձեր հասցեն: |
| Ձեր սեփական կայքը | WordPress փլագինը տեղադրում է դոմեյնի որոնում և մեկ սեղմումով մուտք գործելու հղում Ձեր կայքում, ինչպես նաև ընդունում է պատվերը Ձեր սեփական WooCommerce-ի վճարման էջի միջոցով: |
| Ձեր բիլինգային վահանակը | WHMCS-ը կամ HostBill-ը մնում են որպես գլխավոր մուտք. մոդուլը կատարում է ապահովումը (provisioning) հետին պլանում, իսկ հաճախորդի տարածքի կոճակը նրանց ուղղակիորեն մուտքագրում է իրենց հոսթինգ: |
⛔ Որն էլ որ ընտրեք, Դուք եք հանդիսանում գրանցված վաճառողը (merchant of record) Ձեր հաճախորդների համար՝ Ձեր գները, Ձեր հաշիվ-ապրանքագրերը, Ձեր ԱԱՀ համարը, Ձեր վճարային համակարգը: Մենք հաշիվ ենք ներկայացնում Ձեզ՝ ամիսը մեկ անգամ, մեծածախ գնով:
Վահանակի հոսթի անունը սահմանելուց հետո տեղադրեք այն WordPress փլագինի Վահանակի հասցե դաշտում և ոչ մի այլ տեղ. այս API-ի կողմից ստեղծված մուտքի հղումները ավտոմատ կերպով հետևում են դրան:
Մուտք գործելու չորս եղանակները
Գոյություն ունի չորս եղանակ, և դրանք բոլորն էլ խորքում կատարում են նույն գործողությունը.
| Համար |
|---|
| WHMCS մոդուլը | WHMCS խանութի |
| HostBill մոդուլը | HostBill խանութի |
| WordPress փլագինը | Ձեր սեփական WordPress կամ WooCommerce կայքից վաճառելու |
| API-ը | Մնացած ամեն ինչի՝ Blesta-ի, ներքին համակարգի, cron սկրիպտի |
1. Ստացեք API բանալի
Ձեր կառավարման վահանակում անցեք API բանալիներ բաժին և ստեղծեք մեկը: Տրամադրեք միայն այն, ինչ անհրաժեշտ է.
| Թույլտվություն | Ինչու |
|---|
org.read | Կարդալ Ձեր հաճախորդների հաշիվները |
sites.create | Կարգավորել և գործարկել (provision) կայք |
sites.view | Կարդալ ծառայությունը |
sites.delete | Դադարեցնել (terminate) |
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
Կարգավորումը (provisioning) երկու հարցում է, և բանալիները կարևոր են.
# 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-ից: Յուրաքանչյուր բիլինգային համակարգ կրկնում է փորձերը. դարպասի հետադարձ կանչը գալիս է երկու անգամ, ադմինիստրատորը նորից է գործարկում ձախողված գործընթացը, հաճախորդը կրկնակի է սեղմում: Առանց բանալու երկրորդ փորձը ստեղծում է երկրորդ կայք, և Ձեզանից գումար է գանձվում դրա համար:
Երեք պատասխան, որոնք չպետք է նույնացնել
unsuspend-ը կարող է վերադարձնել 409: Դա նշանակում է, որ մեր չարաշահումների դեմ պայքարի թիմն է կասեցրել կայքը, ոչ թե Դուք: Ցուցադրեք հաղորդագրությունը. մի կրկնեք փորձը:
- **Դադարեցումը (terminating) պլանավորում է ջնջումը, այլ ոչ թե իրականացնում այն:** Ամսաթիվը վերադառնում է որպես
pending_deletion_at: Հաճախորդին ասելը, որ նրա տվյալներն արդեն ջնջված են, երբ դա այդպես չէ, ավելի վատ է, քան ոչինչ չասելը:
disk_used_bytes-ը կարող է լինել null, իսկ null-ը զրո չէ: Դա նշանակում է, որ մենք չենք կարողացել չափել, ոչ թե այն, որ ոչինչ չի օգտագործվել: Բաց թողեք այն. Ձեր սեփական գրառումներում մի մուտքագրեք 0, այլապես հաճախորդին ցույց կտաք օգտագործման կանաչ սանդղակ այն կայքի համար, որից ոչ մի ցուցմունք չունեք:
4. Մուտքագրեք հաճախորդին
POST /v1/reseller/services/{siteId}/sso-ն վերադարձնում է մեկանգամյա օգտագործման URL, որն ուղղակիորեն տեղափոխում է Ձեր հաճախորդին իր սեփական հաշիվ՝ արդեն մուտք գործած վիճակում:
⛔ Ստեղծեք այն այն ժամանակ, երբ նրանք սեղմում են, երբեք՝ էջը ցուցադրելիս (render): Հղումը մեկանգամյա օգտագործման է և լրանում է րոպեների ընթացքում, ուստի էջում գրված հղումը սպառվում է էջի առաջին իսկ դիտման ժամանակ և մնում է Ձեր և բրաուզերի միջև եղած յուրաքանչյուր քեշում:
5. Փոխարենը տեղադրեք մոդուլ
- WHMCS — պատճենեք մոդուլը
modules/servers/zinn/ պանակում, ավելացրեք սերվեր, որի Գաղտնաբառը Ձեր API բանալին է, և ապրանքի վրա սահմանեք ապրանքատեսակը: Սեղմեք Ստուգել կապը (Test Connection). այն կատարում է իրական հարցում և Ձեզ հայտնում է, թե ինչ է պատասխանել հարթակը:
- HostBill — պատճենեք
includes/modules/Hosting/zinn/ պանակում և միացրեք այն նույն ձևով:
- WordPress — Zinn® Reseller Toolkit. դոմեյնի որոնում, մուտքի հղում Ձեր հաճախորդների հոսթինգ և WooCommerce ապահովում (provisioning), երբ պատվերը վճարված է: Բաց կոդով տարբերակը՝ <https://github.com/Zinn-Digital/zinn-reseller-toolkit>, կամ ներբեռնեք այն Ձեր կառավարման վահանակի Փլագիններ բաժնից:
6. Մեկնարկեք
Ստուգեք սրանք նախքան իրական պատվեր ընդունելը.
- Մոդուլի վրա կապի ստուգումն անցնում է, կամ Ձեր առաջին
curl-ը վերադարձնում է ցուցակ:
- Ձեր գնացուցակը սահմանված է (Վերավաճառք → Ձեր գները):
- Ձեր վճարային դարպասը միացված է (Վերավաճառք → Վճարային դարպասներ) — Ձեր հաճախորդները վճարում են Ձեզ՝ Ձեր սեփական հաշվի միջոցով:
- Ձեր ընկերության տվյալները մուտքագրված են (Վերավաճառք → Ձեր ընկերությունը), որպեսզի Ձեր հաճախորդների հաշիվ-ապրանքագրերը պարունակեն Ձեր իրավաբանական անձի տվյալները և ԱԱՀ համարը, ոչ թե մերը:
- Դուք կատարել եք մեկ իրական պատվեր սկզբից մինչև վերջ և տեսել եք կայքի հայտնվելը:
Որտեղ է գտնվում մնացած ամեն ինչ
API-ի ամբողջական տեղեկատուն՝ բոլոր վերջնակետերը (endpoints), որոնք գեներացվել են մեր բնութագրից, յուրաքանչյուրի համար անհրաժեշտ թույլտվությամբ, հասանելի է հետևյալ հասցեով՝ <https://zinndigital.com/developers/api>: