โมดูล Zinn Digital® เปลี่ยนปุ่มต่างๆ ของ WHMCS ให้กลายเป็นการดำเนินการจริงบนแพลตฟอร์มของเรา คำสั่งซื้อจะจัดเตรียมโฮสติ้งของลูกค้า ระบบอัตโนมัติสำหรับใบแจ้งหนี้ที่เกินกำหนดชำระของ WHMCS จะระงับการใช้งาน การทำเครื่องหมายว่าชำระเงินแล้วจะยกเลิกการระงับ การยกเลิกจะกำหนดเวลาการลบข้อมูล และลูกค้าของคุณจะได้รับปุ่ม Log in to hosting panel ในพื้นที่ลูกค้าของตนซึ่งสามารถใช้ลงชื่อเข้าใช้ได้ทันที
โมดูลนี้ไม่มีค่าใช้จ่าย ได้รับอนุญาตภายใต้สัญญาอนุญาต GPL-2.0-or-later และไม่มีช่องทางพิเศษใดๆ ในการเข้าถึงแพลตฟอร์มของเรา ทุกการเรียกใช้งานคือปลายทางที่มีเอกสารกำกับไว้ ซึ่งคุณสามารถดำเนินการได้ด้วยตนเองโดยใช้คีย์ API ของคุณ
ก่อนเริ่มต้นใช้งาน
คุณจำเป็นต้องมีสองสิ่ง และสิ่งหลังมักเป็นสิ่งที่หลายคนมองข้าม
- บัญชีตัวแทนจำหน่าย Zinn® ที่มีโปรแกรมที่ใช้งานอยู่ ลงทะเบียนที่ zinndigital.com และเปิดใช้งานการเป็นตัวแทนจำหน่าย
- แผนตัวแทนจำหน่ายที่มีโควตาไซต์ ไซต์ที่ลูกค้าของคุณสั่งซื้อจะนับรวมในแผนของคุณ ดังนั้นคุณจึงต้องมีแผนที่มีพื้นที่เพียงพอ
⚠️ Test Connection ไม่สามารถบอกได้ว่าคำสั่งซื้อจะสำเร็จหรือไม่ ระบบจะอ่านโปรแกรมของคุณโดยไม่ได้จัดเตรียมบริการใดๆ ดังนั้นจึงรายงานสถานะบัญชี active ที่สมบูรณ์ดีซึ่งยังไม่สามารถขายสิ่งใดได้ หากคำสั่งซื้อแรกของคุณล้มเหลวด้วยข้อความ "This organization has no hosting plan, so it cannot host a site yet" แสดงว่าเกิดกรณีนี้ขึ้น โปรดซื้อหรือขยายแผนตัวแทนจำหน่ายของคุณแล้วทำรายการสั่งซื้อใหม่อีกครั้ง โมดูลไม่ได้มีความผิดปกติแต่อย่างใด
1. สร้างคีย์ API
ในแดชบอร์ด Zinn® ของคุณ ให้เปิด API keys และสร้างขึ้นมาหนึ่งคีย์โดยกำหนดสิทธิ์ทั้ง สิบเอ็ด รายการนี้อย่างครบถ้วน:
| สิทธิ์ | เหตุผลที่จำเป็น |
|---|
org.create | เปิดบัญชี Zinn® ให้กับลูกค้าของคุณในคำสั่งซื้อแรกของพวกเขา |
org.read | อ่านข้อมูลบัญชีลูกค้าของคุณ |
sites.create | จัดเตรียมไซต์ |
sites.view | อ่านข้อมูลบริการและการใช้งาน |
sites.delete | ยุติการให้บริการ |
reseller.view | แสดงรายการสิ่งที่คุณขายไป รวมถึงอ่านข้อมูลดิสก์และแบนด์วิดท์ |
reseller.provision | ระงับการใช้งาน ยกเลิกการระงับ ลงชื่อเข้าใช้ให้ลูกค้า กำหนดแผน และเปลี่ยนแพ็กเกจของพวกเขา |
billing.view | อ่านค่าใช้จ่ายในการอัปเกรดก่อนดำเนินการจริง |
sites.manage | ล้างแคชและสำรองข้อมูลจากปุ่มคำสั่ง |
sites.panel_access | เปลี่ยนรหัสผ่านของผู้ดูแลระบบ WordPress |
hosting.php.manage | สลับเวอร์ชัน PHP เมื่อมีการอัปเกรดหรือดาวน์เกรด |
⛔ ห้ามให้สิทธิ์ reseller.manage คีย์ที่วางในแผงการเรียกเก็บเงินควรทำได้เพียงระงับการใช้งานลูกค้าที่ไม่ชำระเงินและลงชื่อเข้าใช้ให้พวกเขาเท่านั้น ไม่ควรอ่านและเขียนข้อมูลรับรองเกตเวย์การชำระเงินของคุณใหม่ได้ สิทธิ์ reseller.provision มีขึ้นเพื่อให้คุณไม่จำเป็นต้องให้สิทธิ์ที่ครอบคลุมมากกว่านั้น ⛔ org.create เป็นสิทธิ์ที่จำเป็น หากไม่มีสิทธิ์นี้ โมดูลจะอ่านบัญชีของคุณได้แต่ไม่สามารถเปิดบัญชีใหม่ได้ ทำให้ Test Connection ผ่าน แต่คำสั่งซื้อแรกจะตอบกลับเป็น 403 ⛔⛔ โปรดให้สิทธิ์ตามตารางทั้งหมด และพึงระลึกว่า Test Connection จะไม่สามารถแจ้งให้คุณทราบได้หากคุณไม่ได้กำหนดไว้ ระบบจะอ่านโปรแกรมตัวแทนจำหน่ายของคุณโดยไม่ได้จัดเตรียมบริการใดๆ ดังนั้นระบบจึงแสดงสถานะสีเขียวแม้ว่าคีย์จะขาดสิทธิ์เหล่านี้ไปก็ตาม สิ่งที่คุณจะพบแทนคือข้อผิดพลาด 403 ในการดำเนินการหนึ่งๆ ที่สิทธิ์ซึ่งขาดหายไปนั้นควบคุมอยู่ จากลูกค้ารายหนึ่งในอีกหลายเดือนต่อมา
2. ติดตั้งโมดูล
- ดาวน์โหลดโมดูล และแตกไฟล์ zip
- อัปโหลดไดเรกทอรี
zinn ไปยังการติดตั้ง WHMCS ของคุณเพื่อให้ไฟล์โมดูลไปอยู่ที่ modules/servers/zinn/zinn.php
⛔ ไดเรกทอรีต้องใช้ชื่อว่า zinn WHMCS กำหนดชื่อฟังก์ชันของโมดูลการจัดเตรียมบริการจากชื่อไดเรกทอรี ดังนั้นการเปลี่ยนชื่อเป็น zinn-whmcs หรือ zinndigital จะทำให้ได้โมดูลที่ WHMCS แสดงในรายการและให้คุณเลือกได้ แต่จะไม่ถูกเรียกใช้งานเลย โดยไม่มีข้อผิดพลาดแสดงขึ้นที่ใด ไฟล์ zip ได้แตกไฟล์ออกมาเป็นชื่อที่ถูกต้องแล้ว เพียงอย่าเปลี่ยนชื่อเท่านั้น
3. เพิ่มเซิร์ฟเวอร์
ใน WHMCS: Configuration → System Settings → Servers → Add New Server
- Name: อะไรก็ได้ เช่น
Zinn Digital®
- Hostname:
api.zinndigital.com
- Type:
Zinn Digital®
- Password: คีย์ API ของคุณจากขั้นตอนที่ 1
⛔ คีย์นี้จะใส่ในช่อง Password ซึ่ง WHMCS จะจัดเก็บแบบเข้ารหัสไว้ อย่าใส่ไว้ในตัวเลือกการกำหนดค่าผลิตภัณฑ์ เนื่องจากข้อมูลเหล่านั้นเป็นข้อความธรรมดาในฐานข้อมูลและผู้ดูแลระบบทุกคนสามารถมองเห็นได้ อีกทั้งข้อมูลรับรองนี้สามารถสร้างและทำลายโฮสติ้งของลูกค้าคุณได้
กด Test Connection ระบบจะทำการเรียกใช้งานจริงและรายงานสิ่งที่แพลตฟอร์มของเราตอบกลับ แทนที่จะเป็นเพียงการตรวจสอบว่ามีการกรอกข้อมูลลงในช่องต่างๆ ครบถ้วนหรือไม่
4. สร้างผลิตภัณฑ์
Configuration → System Settings → Products/Services จากนั้นตั้งค่า Module Settings เป็นเซิร์ฟเวอร์ที่คุณเพิ่งเพิ่ม ช่องข้อมูลประกอบด้วย:
| ช่องข้อมูล | จำเป็น | รายละเอียด |
|---|
| Product line | ใช่ | สายผลิตภัณฑ์ Zinn® ที่คุณขาย — mainstream (managed WordPress), footprint_free, wordpress, linux, cloud, agency, app_hosting, ai_hosting, lms_hosting, managed_database, vector_hosting, zinn_compute, fleet_linux, fleet_enterprise, mail หรือ reseller |
| Stack | ใช่ | สิ่งที่จะถูกสร้างขึ้น: wordpress (ค่าเริ่มต้น), woocommerce, php, static, node, one_click, headless_cms, nextcloud หรือ owncloud |
| Application | ไม่ | สำหรับสแตก one_click และ headless_cms เท่านั้น — เลือกว่าจะติดตั้งแอปพลิเคชันใด การระบุแอปพลิเคชันบนสแตกอื่นจะถูกปฏิเสธ เนื่องจากสแตกนั้นมีการกำหนดสิ่งที่ต้องติดตั้งไว้แล้ว |
| PHP version | ไม่ | เช่น 8.3 เว้นว่างไว้สำหรับค่าเริ่มต้นของสายผลิตภัณฑ์ เวอร์ชันที่สายผลิตภัณฑ์ไม่มีให้บริการจะถูกปฏิเสธพร้อมแสดงรายการเวอร์ชันที่มี |
| Plan code | ใช่ | แผน Zinn® ที่ผลิตภัณฑ์นี้ขาย GET /v1/reseller/prices จะแสดงรายการแผนของคุณ คำสั่งซื้อที่ไม่มีรหัสนี้จะถูกปฏิเสธ — ดูคำเตือนด้านล่าง |
| Billing interval | ไม่ | monthly (ค่าเริ่มต้น) หรือ annual — ช่วงเวลาที่รายการขายส่งของคุณสำหรับลูกค้ารายนี้จะถูกเรียกเก็บ สิ่งที่คุณเรียกเก็บจากลูกค้าของคุณเองจะถูกกำหนดไว้ในผลิตภัณฑ์ WHMCS และไม่ได้รับผลกระทบ |
⛔⛔ Plan code เป็นสิ่งจำเป็น และคำสั่งซื้อที่ไม่มีรหัสนี้จะถูกปฏิเสธโดยตั้งใจ จนถึงวันที่ 2026-09-01 ช่องข้อมูลนี้มีไว้ประดับเท่านั้นและไม่มีสิ่งใดนำไปอ่าน ส่งผลให้โมดูลสั่งซื้อโฮสติ้งที่ไม่มีแผนใดๆ เลย — และผลลัพธ์ทั้งหมดที่ตามมาก็เกิดขึ้นโดยไม่มีการแจ้งเตือน รายการสรุปยอดขายส่งของคุณสร้างขึ้นจากการสมัครสมาชิกที่ใช้งานอยู่ของลูกค้าคุณ ดังนั้นจึงไม่มีรายการสำหรับบริการดังกล่าว และคุณจึงไม่ถูกออกใบแจ้งหนี้เลยตราบเท่าที่บริการนั้นยังทำงานอยู่ ลูกค้าของคุณไม่ได้รับโควตาใดๆ จึงไม่มีการจำกัดโควตาดิสก์หรือไฟล์กับไซต์ของพวกเขา และ Change Package ไม่มีสิ่งใดให้เปลี่ยน ทำให้การอัปเกรดที่คุณขายไม่สามารถดำเนินการได้ ไซต์ยังคงได้รับการจัดเตรียมและให้บริการอย่างสมบูรณ์แบบตลอดช่วงเวลาดังกล่าว
ปัจจุบันโมดูลจะปฏิเสธคำสั่งซื้อแทน เนื่องจากไม่มีแผนที่ปลอดภัยให้ระบบคาดเดาได้ การคาดเดาจะจัดเตรียมโฮสติ้งในแผนที่คุณไม่ได้เลือกและอาจไม่ได้ตั้งราคาไว้ และต่างจากการปฏิเสธที่คุณจะทราบได้ทันที ปัญหานี้จะปรากฏให้เห็นก็ต่อเมื่อใบแจ้งยอดมาถึงเท่านั้น หากสังเกตเห็น
ตั้งค่า Auto Setup ตามที่คุณต้องการ — โมดูลนี้เป็นแบบ idempotent ตามรหัสบริการของ WHMCS ดังนั้นการจัดเตรียมซ้ำจะให้ผลลัพธ์เป็นไซต์เดิมแทนที่จะเรียกเก็บเงินคุณสำหรับไซต์ที่สอง
การดำเนินการแต่ละอย่างของ WHMCS ทำงานอย่างไร
| การดำเนินการของ WHMCS | สิ่งที่เกิดขึ้นบนฝั่งของเรา |
|---|
| Create | สร้างบัญชี Zinn® ของลูกค้า (หรือใช้บัญชีเดิมที่พวกเขามีอยู่แล้ว) และจัดเตรียมไซต์ของพวกเขา |
| Suspend | ระงับการใช้งานไซต์เนื่องจากการไม่ชำระเงิน เนื้อหายังคงอยู่ ไม่มีสิ่งใดถูกลบ |
| Unsuspend | ยกเลิกการระงับของคุณ |
| Terminate | กำหนดเวลาการลบไซต์โดยมีระยะเวลาผ่อนผัน วันที่จะแสดงในพื้นที่ลูกค้า |
| Usage update | อัปเดตข้อมูลดิสก์และแบนด์วิดท์ในทุกบริการ วันละหนึ่งครั้ง |
| Log in to hosting panel | เปิดลิงก์ลงชื่อเข้าใช้แบบครั้งเดียวที่ใช้งานได้เพียงครั้งเดียวเข้าสู่แผงควบคุมของลูกค้าคุณโดยตรง |
| Change Package | อัปเกรดหรือดาวน์เกรดบริการ ย้ายแพ็กเกจ และเปลี่ยนเวอร์ชัน PHP หากผลิตภัณฑ์ใหม่มีการระบุไว้ |
| Change Password | ตั้งรหัสผ่านของผู้ดูแลระบบ WordPress ช่องนี้จะไม่ปรากฏในสแตกที่ไม่มีบัญชีดังกล่าว |
| Renew | ยืนยันว่าบริการยังคงมีอยู่ โฮสติ้งของ Zinn® เป็นแบบต่อเนื่อง จึงไม่มีระยะเวลาของระบบภายนอกให้ขยาย |
| Sync Usage / Purge Cache / Take Backup | ปุ่มบนหน้าบริการของผู้ดูแลระบบ ลูกค้าของคุณจะได้รับปุ่ม Purge Cache และ Take Backup ในพื้นที่ลูกค้าของตน |
| Service tab | สถานะ แผน ดิสก์ แบนด์วิดท์ การกำหนดเวลาการลบใดๆ และใครเป็นผู้ระงับการใช้งาน |
| Import | ListAccounts จะอ่านข้อมูลทุกหน้า ดังนั้นการนำเข้าจึงไม่หยุดลงที่หน้าแรกโดยไม่มีการแจ้งเตือน |
การอัปเกรด: ใครเรียกเก็บเงินจากใคร
ลูกค้าของคุณจะไม่ได้รับใบแจ้งหนี้จาก Zinn® ไม่ว่าจะในการสั่งซื้อหรือการอัปเกรด คุณเรียกเก็บเงินจากพวกเขาผ่าน WHMCS เราเรียกเก็บเงินจากคุณในใบแจ้งยอดขายส่ง ดังนั้น Change Package จะเปลี่ยนสิทธิ์ของลูกค้าของคุณและรายการในใบแจ้งยอดถัดไปของคุณ โดยไม่มีการแตะต้องบัตรใดๆ — WHMCS ได้รับเงินจากลูกค้าของคุณและคำนวณการเฉลี่ยตามสัดส่วนของตนเองเรียบร้อยแล้ว
บริการที่สองของลูกค้า หากใช้แผนเดียวกัน บริการนั้นจะเป็นอีกไซต์หนึ่งภายใต้โควตาไซต์ของแผนนั้นๆ เอง และจะไม่มีสิทธิ์เพิ่มเติมใดๆ หากใช้แผนที่แตกต่างกัน บริการจะถูกปฏิเสธ: การแทนที่แผนที่ใช้งานอยู่จะทำให้บริการใดบริการหนึ่งในสองบริการนั้นไม่ถูกเรียกเก็บเงิน คุณสามารถเลือกได้ว่าจะขายทั้งสองบริการในแผนเดียวกัน หรือตั้งค่าลูกค้ารายนั้นให้เป็นระเบียนลูกค้าแยกต่างหากใน WHMCS
Change Password มีไว้สำหรับ WordPress เท่านั้น โฮสติ้งของ Zinn® ไม่มี "รหัสผ่านบริการ" เดียว — ลูกค้าของคุณเข้าถึงแผงควบคุมของพวกเขาด้วยปุ่มลงชื่อเข้าใช้ — และไซต์แบบ php หรือ static จะไม่มีบัญชีแอปพลิเคชันให้เปลี่ยน WHMCS จะซ่อนช่องดังกล่าวไปเลยแทนที่จะแสดงช่องที่ไม่สามารถใช้งานได้
คำตอบสามแบบที่คุณต้องไม่เหมารวมเป็นสองแบบ
- Unsuspend สามารถตอบกลับด้วยการปฏิเสธได้ นั่นหมายความว่าไซต์ถูกระงับโดยทีมตรวจสอบการใช้งานในทางที่ผิดของเรา ไม่ใช่โดยคุณ และไม่มีแผงการเรียกเก็บเงินใดสามารถยกเลิกการระงับได้ ข้อความจะระบุเช่นนั้น โปรดแสดงข้อความนี้แก่ผู้ดูแลระบบของคุณแทนที่จะลองใหม่อีกครั้ง
- Terminate กำหนดเวลาการลบ ไม่ได้ทำการลบทันที วันที่จะถูกส่งกลับมาในรูป
pending_deletion_at และพื้นที่ลูกค้าจะแสดงข้อมูลนี้ การบอกลูกค้าว่าข้อมูลของพวกเขาหายไปแล้วทั้งที่ความจริงยังไม่หายไปนั้นแย่ยิ่งกว่าการไม่บอกอะไรเลย
- ดิสก์และแบนด์วิดท์สามารถมีสถานะไม่ทราบได้ และไม่ทราบไม่ได้หมายความว่าเป็นศูนย์ เมื่อเราไม่สามารถอ่านค่าได้ โมดูลจะปล่อยตัวเลขนั้นไว้แทนที่จะเขียน
0 ลงไป — มิฉะนั้น WHMCS จะแสดงแถบการใช้งานว่างเปล่าที่ชวนให้วางใจแก่ลูกค้าของคุณสำหรับไซต์ที่เราอ่านค่าไม่ได้
การแก้ไขปัญหา
Test Connection ผ่าน แต่คำสั่งซื้อแรกไม่สำเร็จโดยมีข้อผิดพลาดเกี่ยวกับสิทธิ์ คีย์ API ขาดสิทธิ์ org.create โมดูลต้องเปิดบัญชีของลูกค้าก่อนจึงจะสามารถสร้างไซต์ของพวกเขาได้
คำสั่งซื้อไม่สำเร็จโดยระบุว่าองค์กรไม่มีแผนโฮสติ้ง แผนตัวแทนจำหน่ายของคุณไม่มีโควตาไซต์เหลืออยู่ หรือคุณยังไม่มีแผนดังกล่าว โปรดดูที่ ก่อนเริ่มต้นใช้งาน ด้านบน
คำสั่งซื้อไม่สำเร็จโดยมีการระบุถึงสแตก ช่อง Stack ในผลิตภัณฑ์ว่างเปล่าหรือระบุสิ่งที่เราไม่ได้สร้าง ให้ตั้งค่าเป็น wordpress เว้นแต่คุณกำลังขายสิ่งอื่น
การยกเลิกไม่สำเร็จ ตรวจสอบให้แน่ใจว่าคุณใช้โมดูลเวอร์ชัน 1.0.0 หรือใหม่กว่า รุ่นก่อนหน้านี้ไม่ได้ส่งการยืนยันการลบและการยุติการให้บริการทุกครั้งจะถูกปฏิเสธ ซึ่งทำให้บริการยังคงทำงานต่อไปและมีการเรียกเก็บเงิน
การปฏิเสธที่ระบุชื่อช่องข้อมูล ข้อผิดพลาดในการตรวจสอบความถูกต้องของเราจะระบุชื่อช่องข้อมูลและเหตุผลไว้ในวงเล็บต่อท้ายข้อความ เช่น (php_version: 7.2 is not offered on this product line) นั่นคือส่วนที่สามารถนำไปดำเนินการได้ — ประโยคด้านหน้าได้รับการตั้งใจทำให้เป็นข้อความทั่วไป
ยืนยันความถูกต้องของการดาวน์โหลดของคุณ
ทุกไฟล์เก็บถาวรให้บริการผ่าน TLS จากชื่อโฮสต์ของเราเองและไม่เคยถูกเปลี่ยนเส้นทางไปยังโฮสต์ภายนอก ค่าผลรวมตรวจสอบ SHA-256 แสดงอยู่ข้างลิงก์ดาวน์โหลดใน หน้าดาวน์โหลด โปรดเปรียบเทียบค่าหลังจากการดาวน์โหลด:
- macOS หรือ Linux:
shasum -a 256 zinn-whmcs-1.0.0.zip
- Windows:
certutil -hashfile zinn-whmcs-1.0.0.zip SHA256
ไม่ได้ใช้ WHMCS?
เรามีโมดูล HostBill และไคลเอ็นต์ PHP แบบไฟล์เดียวสำหรับระบบอื่นๆ ซึ่งทั้งคู่ไม่มีค่าใช้จ่ายและอยู่ใน หน้าดาวน์โหลด เดียวกันนี้ ทุกปลายทางที่โมดูลใช้งานระบุไว้ใน เอกสารอ้างอิง API