មូលដ្ឋានចំណេះដឹង

ការលក់សេវាហូស្ទីង Zinn® ពីប្រព័ន្ធរបស់អ្នកផ្ទាល់

គ្រប់គ្រងការបង្ហោះ Zinn ពីផ្ទាំងវិក្កយបត្រ គេហទំព័រ WordPress ឬស្គ្រីបរបស់អ្នកផ្ទាល់៖ យកគ្រាប់ចុច API ធ្វើការហៅដំបូងរបស់អ្នក និងការហៅប្រាំមួយដែលការរួមបញ្ចូលទាំងមូលត្រូវបានបង្កើតឡើង។

អ្នកលក់បន្តសេវាកម្មបង្ហោះគេហទំព័រ (hosting) របស់យើង។ អតិថិជនរបស់អ្នកគឺជាអតិថិជនរបស់អ្នក៖ តម្លៃរបស់អ្នក, វិក្កយបត្ររបស់អ្នក, អ្នកផ្តល់សេវាទូទាត់ប្រាក់របស់អ្នក។ នេះគឺជាវិធីដែលអ្នកបញ្ជាផ្លែតហ្វមរបស់យើងចេញពីអ្វីៗដែលអ្នកកំពុងដំណើរការស្រាប់ — ផ្ទាំងទូទាត់ប្រាក់, គេហទំព័រ WordPress ផ្ទាល់ខ្លួនរបស់អ្នក ឬស្គ្រីប។

អ្វីដែលអតិថិជនរបស់អ្នកមើលឃើញជាក់ស្តែង

មុននឹងឈានដល់ផ្នែកបច្ចេកទេស៖ អតិថិជនរបស់អ្នកមិនដែលត្រូវមើលឃើញយើងនោះទេ។ មានផ្ទៃដំណើរការចំនួនបី ហើយអ្នកអាចជ្រើសរើសប្រើប្រាស់មួយណាបានតាមចិត្ត។

| ផ្ទៃដំណើរការ | ជាកម្មសិទ្ធិរបស់នរណា | |---|---| | ផ្ទាំងគ្រប់គ្រង hosting នៅលើ hostname ផ្ទាល់ខ្លួនរបស់អ្នក | កំណត់ panel hostname នៅក្រោម Reselling → Your brand ហើយអតិថិជនរបស់អ្នកនឹងចូលប្រើប្រាស់នៅ panel.yourcompany.com ជាមួយនឹងឡូហ្គោ និងពណ៌របស់អ្នក។ ផ្ទាំងគ្រប់គ្រងដូចគ្នា ប៉ុន្តែអាសយដ្ឋានរបស់អ្នក។ | | គេហទំព័រផ្ទាល់ខ្លួនរបស់អ្នក | WordPress plugin ដាក់ការស្វែងរកដែន (domain) និងតំណចូលប្រើប្រាស់ដោយចុចតែម្តងនៅលើគេហទំព័ររបស់អ្នក ហើយទទួលការកុម្ម៉ង់តាមរយៈការទូទាត់ប្រាក់ WooCommerce ផ្ទាល់ខ្លួនរបស់អ្នក។ | | ផ្ទាំងទូទាត់ប្រាក់របស់អ្នក | WHMCS ឬ HostBill នៅតែជាទ្វារខាងមុខ; ម៉ូឌុលដំណើរការរៀបចំនៅខាងក្រោយ ហើយប៊ូតុងតំបន់អតិថិជននឹងចុះឈ្មោះចូលពួកគេទៅកាន់ hosting របស់ពួកគេដោយផ្ទាល់។ |

⛔ ទោះបីជាអ្នកជ្រើសរើសមួយណាក៏ដោយ អ្នកគឺជាអាជីវករផ្លូវការសម្រាប់អតិថិជនរបស់អ្នក៖ តម្លៃរបស់អ្នក, វិក្កយបត្ររបស់អ្នក, លេខ VAT របស់អ្នក, អ្នកផ្តល់សេវាទូទាត់ប្រាក់របស់អ្នក។ យើងគិតថ្លៃ អ្នក, មួយខែម្តង ក្នុងតម្លៃបោះដុំ។

នៅពេលអ្នកបានកំណត់ panel hostname រួចហើយ សូមដាក់វានៅក្នុងវាល Panel address នៃ WordPress plugin ហើយមិនត្រូវដាក់ក្នុងអ្វីផ្សេងទៀតឡើយ — តំណចូលប្រើប្រាស់ដែលបង្កើតដោយ API នេះនឹងបង្កើតតាមវារៀបរយដោយស្វ័យប្រវត្តិ។

វិធីសាស្ត្រចូលប្រើប្រាស់ទាំងបួន

មានវិធីសាស្ត្រចូលប្រើប្រាស់ចំនួនបួន ហើយពួកវាទាំងអស់ធ្វើសកម្មភាពដូចគ្នានៅខាងក្រោម៖

| | សម្រាប់ | |---|---| | ម៉ូឌុល WHMCS | ហាង WHMCS | | ម៉ូឌុល HostBill | ហាង HostBill | | WordPress plugin | ការលក់ចេញពីគេហទំព័រ WordPress ឬ WooCommerce ផ្ទាល់ខ្លួនរបស់អ្នក | | API | អ្វីៗផ្សេងទៀត — Blesta, ប្រព័ន្ធក្នុងស្រុក, ស្គ្រីប cron |

1. ទទួលយក API key

នៅក្នុងផ្ទាំងគ្រប់គ្រងរបស់អ្នក សូមទៅកាន់ API keys ហើយបង្កើតមួយ។ ផ្តល់ការអនុញ្ញាតត្រឹមតែអ្វីដែលវាត្រូវការប៉ុណ្ណោះ៖

| ការអនុញ្ញាត | មូលហេតុ | |---|---| | org.read | អានគណនីអតិថិជនរបស់អ្នក | | sites.create | បង្កើតគេហទំព័រ | | sites.view | អានសេវាកម្ម | | sites.delete | បញ្ចប់សេវាកម្ម | | reseller.view | បង្ហាញបញ្ជីសេវាកម្មរបស់អ្នក និងអានការប្រើប្រាស់ | | reseller.provision | ផ្អាក, បញ្ចេញ, និងចុះឈ្មោះអតិថិជនចូល |

កុំផ្តល់ reseller.manage ទៅកាន់ការធ្វើអាំងតេក្រាសឲ្យសោះ។ ការអនុញ្ញាតនោះកែប្រែបញ្ជីតម្លៃរបស់អ្នក និងព័ត៌មានសម្គាល់ payment-gateway ផ្ទាល់ខ្លួនរបស់អ្នក។ reseller.provision ត្រូវបានបង្កើតឡើងយ៉ាងជាក់លាក់ ដើម្បីឱ្យ key ដែលអ្នកបិទភ្ជាប់ទៅក្នុងផ្ទាំងទូទាត់ប្រាក់ ឬគេហទំព័រមិនត្រូវការវា។

Key ត្រូវបានបង្ហាញតែម្តងគត់។ រក្សាទុកវានៅកន្លែងដែលអ្នករក្សាទុកព័ត៌មានសម្គាល់ផ្សេងទៀតរបស់អ្នក — កុំរក្សាទុកក្នុងឯកសារដែល web server របស់អ្នកបង្ហាញឲ្យសោះ។

2. ធ្វើការហៅទូរសព្ទដំបូងរបស់អ្នក

curl https://api.zinndigital.com/v1/reseller/services \
  -H "Authorization: Bearer zdk_live_…"

វាត្រឡប់រាល់សេវាកម្មដែលអ្នកបានបង្កើត មួយជួរក្នុងមួយគេហទំព័រ ជាមួយនឹងអតិថិជនដែលវាជារបស់, ស្ថានភាពរបស់វា, និងអ្វីដែលអ្នកគិតថ្លៃសម្រាប់វា។ លើគណនីថ្មី វាគឺជាបញ្ជីទទេ — ដែលជាចម្លើយត្រឹមត្រូវ មិនមែនជាកំហុសនោះទេ។

3. អាំងតេក្រាសទាំងមូល ក្នុងការហៅចំនួនប្រាំមួយ

WHEN                 CALL
an order is paid     POST   /v1/orgs                                   once per CUSTOMER
                     POST   /v1/sites                                  once per SERVICE
they have not paid   POST   /v1/reseller/services/{siteId}/suspend
they pay             POST   /v1/reseller/services/{siteId}/unsuspend
they cancel          DELETE /v1/sites/{siteId}
"log in to hosting"  POST   /v1/reseller/services/{siteId}/sso

ការរៀបចំគឺការហៅចំនួនពីរ ហើយ keys គឺសំខាន់៖

# 1. the customer's account — keyed on YOUR customer 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. their site — keyed on YOUR service 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"}'

វិធានពីរដែលខាតបង់ប្រាក់នៅពេលអ្នកធ្វើខុស

  1. កំណត់ key គណនីលើ CUSTOMER របស់អ្នក និងគេហទំព័រលើ SERVICE របស់អ្នក។ ការកុម្ម៉ង់ទីពីររបស់អតិថិជនត្រូវតែចូលទៅក្នុងគណនីដែលពួកគេមានរួចហើយ។ ប្រសិនបើកំណត់ key ទាំងពីរលើសេវាកម្ម អតិថិជនម្នាក់នឹងទទួលបានគណនីមិនទាក់ទងគ្នាប្រាំ និងផ្ទាំងគ្រប់គ្រងដាច់ដោយឡែកបី។
  2. ផ្ញើ Idempotency-Key លើគ្រប់ POST ដែលបង្កើតចេញពី id ផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់កិច្ចការនោះ។ គ្រប់ប្រព័ន្ធទូទាត់ប្រាក់ព្យាយាមម្តងទៀត — gateway callback មកដល់ពីរដង, admin ប្រតិបត្តិការរៀបចំដែលបរាជ័យឡើងវិញ, អតិថិជនចុចពីរដង។ ប្រសិនបើគ្មាន key ទេ ការព្យាយាមលើកទីពីរនឹងបង្កើតគេហទំព័រទីពីរ ហើយអ្នកនឹងត្រូវគិតថ្លៃសម្រាប់វា។

ចម្លើយបីដែលអ្នកមិនត្រូវបង្រួមឱ្យទៅជាពីរឡើយ

  • unsuspend អាចឆ្លើយតប 409 នោះមានន័យថាក្រុមការងារការពារការរំលោភបំពានរបស់យើងកំពុងកាន់កាប់គេហទំព័រ មិនមែនអ្នកទេ។ បង្ហាញសារ; កុំព្យាយាមម្តងទៀត។
  • **ការបញ្ចប់ រៀបចំកាលវិភាគ លុបចោល វាពីរមិនមែនអនុវត្តការលុបភ្លាមៗនោះទេ។** កាលបរិច្ឆេទត្រឡប់មកវិញជា pending_deletion_at។ ការប្រាប់អតិថិជនថាទិន្នន័យរបស់ពួកគេត្រូវបានលុបបាត់ហើយ នៅពេលដែលវាមិនទាន់លុប គឺអាក្រក់ជាងការមិនប្រាប់អ្វីសោះ។
  • disk_used_bytes អាចជា null, ហើយ null មិនមែនជាសូន្យទេ។ វាមានន័យថាយើងមិនអាចវាស់វែងបាន មិនមែនមានន័យថាគ្មានអ្វីត្រូវប្រើប្រាស់នោះទេ។ រំលងវា — កុំសរសេរ 0 ទៅក្នុងកំណត់ត្រារបស់អ្នក ឬអ្នកនឹងបង្ហាញរបារប្រើប្រាស់ពណ៌បៃតងដល់អតិថិជនសម្រាប់គេហទំព័រដែលអ្នកគ្មានទិន្នន័យអាន។

4. ចុះឈ្មោះអតិថិជនចូល

POST /v1/reseller/services/{siteId}/sso ត្រឡប់ URL ប្រើប្រាស់បានតែម្តងដែលទម្លាក់អតិថិជនរបស់អ្នកទៅក្នុងគណនីផ្ទាល់ខ្លួនរបស់ពួកគេ ដោយបានចូលប្រើប្រាស់រួចជាស្រេច។

បង្កើតវានៅពេលពួកគេចុច កុំបង្កើតវានៅពេលអ្នកទាញយកទំព័រមកបង្ហាញឲ្យសោះ។ តំណភ្ជាប់នេះប្រើប្រាស់បានតែម្តង និងផុតកំណត់ក្នុងរយៈពេលប៉ុន្មាននាទី ដូច្នេះតំណដែលសរសេរចូលទៅក្នុងទំព័រនឹងត្រូវប្រើប្រាស់អស់នៅពេលមើលទំព័រលើកដំបូង ហើយទុកចោលក្នុងគ្រប់ cache រវាងអ្នក និងកម្មវិធីរុករក (browser)។

5. ដំឡើងម៉ូឌុលជំនួសវិញ

  • WHMCS — ចម្លងម៉ូឌុលទៅ modules/servers/zinn/, បន្ថែម server ដែលមាន Password ជា API key របស់អ្នក, និងកំណត់ត្រកូលផលិតផលលើផលិតផល។ ចុច Test Connection៖ វាធ្វើការហៅជាក់ស្តែង និងប្រាប់អ្នកពីអ្វីដែលផ្លែតហ្វមបានឆ្លើយតប។
  • HostBill — ចម្លងទៅ includes/modules/Hosting/zinn/ ហើយភ្ជាប់វាតាមវិធីដូចគ្នា។
  • WordPressZinn® Reseller Toolkit៖ ការស្វែងរកដែន (domain), តំណចូលប្រើប្រាស់ទៅក្នុង hosting របស់អតិថិជនរបស់អ្នក, និងការរៀបចំ WooCommerce នៅពេលការកុម្ម៉ង់ត្រូវបានទូទាត់ប្រាក់។ កូដចំហនៅ <https://github.com/Zinn-Digital/zinn-reseller-toolkit>, ឬទាញយកវាពី Plugins នៅក្នុងផ្ទាំងគ្រប់គ្រងរបស់អ្នក។

6. ចាប់ផ្តើមដំណើរការផ្លូវការ

ពិនិត្យមើលចំណុចទាំងនេះមុនពេលអ្នកទទួលការកុម្ម៉ង់ជាក់ស្តែង៖

  • ការសាកល្បងការភ្ជាប់បានជោគជ័យលើម៉ូឌុល ឬ curl ដំបូងរបស់អ្នកត្រឡប់មកវិញជាបញ្ជី។
  • បញ្ជីតម្លៃរបស់អ្នកត្រូវបានកំណត់ (Reselling → Your prices)។
  • Payment gateway របស់អ្នកត្រូវបានភ្ជាប់ (Reselling → Payment gateways) — អតិថិជនរបស់អ្នកទូទាត់ប្រាក់ឱ្យអ្នក តាមរយៈគណនីផ្ទាល់ខ្លួនរបស់អ្នក។
  • ព័ត៌មានលម្អិតក្រុមហ៊ុនរបស់អ្នកត្រូវបញ្ចូល (Reselling → Your company) ដើម្បីឱ្យវិក្កយបត្រអតិថិជនរបស់អ្នកមានអង្គភាពផ្លូវច្បាប់ និងលេខ VAT របស់អ្នក មិនមែនរបស់យើងទេ។
  • អ្នកបានធ្វើការកុម្ម៉ង់ជាក់ស្តែងមួយចាប់ពីដើមដល់ចប់ និងបានតាមដានមើលគេហទំព័របង្ហាញឡើង។

កន្លែងដែលមានអ្វីៗផ្សេងទៀតទាំងអស់

ឯកសារយោង API ពេញលេញ — គ្រប់ endpoint, ដែលត្រូវបានបង្កើតចេញពីលក្ខណៈបច្ចេកទេសរបស់យើង, ជាមួយនឹងការអនុញ្ញាតដែលនីមួយៗត្រូវការ — គឺមាននៅ <https://zinndigital.com/developers/api>។

នៅតែជាប់គាំងមែនទេ?

ការគាំទ្រត្រូវបានរួមបញ្ចូលនៅលើគ្រប់កញ្ចប់ទាំងអស់ និងការឆ្លើយតបជាភាសាផ្ទាល់ខ្លួនរបស់អ្នក។

ទំនាក់ទំនងផ្នែកជំនួយ អត្ថបទទាំងអស់