ცოდნის ბაზა
Zinn® ჰოსტინგის გაყიდვა თქვენივე სისტემებიდან
მართეთ Zinn ჰოსტინგი თქვენი საკუთარი ბილინგის პანელიდან, WordPress საიტიდან ან სკრიპტებიდან: მიიღეთ API გასაღები, გააკეთეთ თქვენი პირველი გამოძახება და ექვსი გამოძახება, რომელთაგანაც შედგება მთელი ინტეგრაცია.
თქვენ ყიდით ჩვენს ჰოსტინგს. თქვენი კლიენტები თქვენია: თქვენი ფასები, თქვენი ინვოისები, თქვენი გადახდის პროვაიდერი. აი, როგორ მართავთ ჩვენს პლატფორმას იმის მიხედვით, რაც უკვე გაქვთ — ბილინგის პანელი, საკუთარი WordPress საიტი ან სკრიპტი.
რას ხედავენ რეალურად თქვენი კლიენტები
ტექნიკურ დეტალამდე: თქვენს კლიენტებს ჩვენ არასდროს ხედავენ. სამი ზედაპირია და თქვენ ირჩევთ, რომელს გამოიყენებთ.
| ზედაპირი | ვისია | |---|---| | ჰოსტინგის პანელი, თქვენსავე ჰოსტნეიმზე | მიუთითეთ პანელის ჰოსტნეიმი განყოფილებაში გაყიდვა → თქვენი ბრენდი და თქვენი კლიენტები სისტემაში შევლენ მისამართზე panel.yourcompany.com თქვენი ლოგოთი და ფერებით. იგივე პანელი, თქვენი მისამართი. | | თქვენივე ვებსაიტი | WordPress-ის პლაგინი თქვენს საიტზე ათავსებს დომენის ძიებას და ერთკლიკიანი ავტორიზაციის ბმულს, ხოლო შეკვეთას თქვენივე WooCommerce შეკვეთის გვერდის გავლით აფორმებს. | | თქვენი ბილინგის პანელი | WHMCS ან HostBill რჩება მთავარ შესასვლელად; მოდული უზრუნველყოფს სერვისის მიწოდებას ფონურ რეჟიმში, ხოლო კლიენტის ზონაში არსებული ღილაკი მათ პირდაპირ ჰოსტინგში აერთიანებს. |
⛔ როემლსაც არ უნდა მიანიჭოთ უპირატესობა, თქვენ ხართ თქვენი კლიენტების პირველადი გამყიდველი: თქვენი ფასები, თქვენი ინვოისები, თქვენი დღგ-ის ნომერი, თქვენი გადახდის პროვაიდერი. ჩვენ გიწერთ ინვოისს თქვენ, თვეში ერთხელ, საბითუმო ფასად.
მას შემდეგ, რაც პანელის ჰოსტნეიმს დააყენებთ, შეიყვანეთ ის WordPress-ის პლაგინის პანელის მისამართის (Panel address) ველში და სხვაგან არაფერში — ავტორიზაციის ბმულები, რომლებსაც ეს API ქმნის, ავტომატურად მიჰყვება მას.
სისტემაში ინტეგრაციის ოთხი გზა
სისტემაში შესვლის ოთხი გზა არსებობს და შიგნით ისინი ყველვენი ერთნაირად მუშაობენ:
| | ვისთვის | |---|---| | WHMCS მოდული | WHMCS მაღაზია | | HostBill მოდული | HostBill მაღაზია | | WordPress პლაგინი | გაყიდვები საკუთარი WordPress ან WooCommerce საიტიდან | | API | ყველაფერი დანარჩენი — Blesta, შიდა სისტემა, cron სკრიპტი |
1. მიიღეთ API გასაღები
თქვენს სამართავ პანელში გადადით განყოფილებაში API გასაღებები და შექმენით ერთი. მიანიჭეთ მხოლოდ ის, რაც სჭირდება:
| უფლება | რატომ | |---|---| | 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"}'
ორი წესი, რომელიც ძვირი დაგიჯდებათ, თუ არასწორად გაიგებთ
- მიაბით ანგარიში თქვენს კლიენტს და საიტი თქვენს სერვისს. კლიენტის მეორე შეკვეთა იმ ანგარიშზე უნდა მოხვდეს, რომელიც უკვე აქვს. ორივე სერვისზე მიბმა იწვევს იმას, რომ ერთი კლიენტი სამ ერთმანეთთან დაუკავშირებელ ანგარიშსა და სამ ცალკეულ პანელს მიიღებს.
- გააგზავნეთ
Idempotency-KeyყოველPOSTმოთხოვნაზე, რომელიც აწყობილია ამ ობიექტის თქვენივე ID-დან. ყველა ბილინგის სისტემა იმეორებს მცდელობას — шлюз-ის გამოძახება ორჯერ მოდის, ადმინისტრატორი ხელახლა უშვებს წარუმატებელ უზრუნველყოფას, კლიენტი ორჯერ აწკაპუნებს. გასაღების გარეშე მეორე მცდელობა ქმნის მეორე საიტს და თქვენ ამაში თანხა გერიცხებათ.
სამი პასუხი, რომლებიც არ უნდა შეკვეცოთ ორამდე
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-ის სრული ცნობარი — ყველა ენდპოინტი, გენერირებული ჩვენი სპეციფიკაციიდან, თითოეულისათვის საჭირო უფლებებით — ხელმისაწვდომია მისამართზე <https://zinndigital.com/developers/api>.
ისევ გაჭედილი ხართ?
მხარდაჭერა შედის ყველა გეგმაში და პასუხები თქვენს საკუთარ ენაზე გაიცემა.
მხარდაჭერასთან დაკავშირება → ყველა სტატია →