מאגר ידע
מכור אחסון של Zinn® מבית WHMCS
התקנו את מודול ה-provisioning החינמי של Zinn Digital ב-WHMCS: מפתח ה-API ושבע הרשאות הגישה שהוא דורש, לאן יש להעביר את ספריית המודול ולמה השם שלה חשוב, שדות המוצר ומה עושה בפועל כל כפתור ב-WHMCS.
המודול של Zinn Digital® הופך את הלחצנים של WHMCS עצמה לפעולות אמיתיות בפלטפורמה שלנו. הזמנה מקצה את האחסון של הלקוח שלכם. אוטומציית החשבוניות שלא שולמו של WHMCS משהה אותו. סימון החשבונית כשולמה משחרר אותו. ביטול מקצה תאריך למחיקה. והלקוח שלכם מקבל לחצן התחברות לפאנל האחסון באזור הלקוחות שלו, שמחבר אותו ישירות.
הוא חינמי, בעל רישיון GPL-2.0-or-later, ואין לו נתיב מועדף לפלטפורמה שלנו: כל קריאה שהוא מבצע היא נקודת קצה מתועדת שתוכלו לבצע בעצמכם בעזרת מפתח ה-API שלכם.
לפני שמתחילים
אתם זקוקים לשני דברים, והשני הוא מה שרוב האנשים מפספסים.
- חשבון מפיץ ב-Zinn® עם תוכנית פעילה. נרשמים ב-zinndigital.com ומפעילים את אפשרות ההפצה.
- תוכנית מפיץ עם מכסת אתרים. אתרים שהלקוחות שלכם מזמינים נספרים כחלק מהתוכנית שלכם, לכן אתם זקוקים לתוכנית שיש בה מקום פנוי.
⚠️ הבדיקה Test Connection אינה יכולה לדעת אם הזמנה תצליח. היא קוראת את התוכנית שלכם ואינה מקצה דבר, ולכן היא מדווחת על חשבון
activeתקין שעדיין אינו יכול למכור דבר. אם ההזמנה הראשונה שלכם נכשלת עם ההודעה "הארגון הזה אינו מחזיק בתוכנית אחסון, ולכן אינו יכול לארח אתר עדיין", זה מה שקרה — רכשו או הרחיבו את תוכנית המפיץ שלכם ובצעו את ההזמנה שוב. אין שום תקלה במודול.
1. יצירת מפתח ה-API
בלוח הבקרה שלכם ב-Zinn®, פתחו את מפתחות API וצרו מפתח עם אחד-עשר ההרשאות הללו בדיוק:
| הרשאה | מדוע היא נדרשת | | -------------------- | ----------------------------------------------------------- | | 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אינה רשות. בלעדיה המודול יכול לקרוא את החשבונות שלכם אך אינו יכול לפתוח חשבון חדש, ולכן בדיקת התקשורת עוברת וההזמנה הראשונה מחזירה תשובה403. ⛔⛔ העניקו את כל ההרשאות בטבלה, ושימו לב כי הבדיקה Test Connection אינה יכולה לדעת אם לא עשיתם זאת. היא קוראת את תוכנית המפיץ שלכם ואינה מקצה דבר, ולכן היא תציג מצב תקין עבור מפתח שחסרה בו כל אחת מההרשאות הללו. מה שתקבלו במקום זאת הוא שגיאת403בפעולה האחת שמהווה כיסוי להרשאה החסרה, חודשים לאחר מכן, מלקוח.
2. התקנת המודול
- הורידו את המודול וחץ אותו מקובץ ה-ZIP.
- העלו את הספרייה
zinnלתוך התקנת ה-WHMCS שלכם כך שקובץ המודול ימוקם בנתיבmodules/servers/zinn/zinn.php.
⛔ שם הספרייה חייב להיות
zinn. מערכת WHMCS גוזרת את שמות הפונקציות של מודול ההקצאה משם הספרייה שלו, ולכן שינוי שמו ל-zinn-whmcsאו ל-zinndigitalמייצר מודול ש-WHMCS מציגה ברשימה ומאפשרת לבחור, אך לעולם אינה קוראת לו — ללא שום הודעת שגיאה. קובץ ה-ZIP כבר חולץ לשם הנכון; פשוט הימנעו משינוי שמו.
3. הוספת השרת
ב-WHMCS: תצורה ← הגדרות מערכת ← שרתים ← הוספת שרת חדש.
- שם: כל שם, למשל
Zinn Digital® - שם מארח (Hostname):
api.zinndigital.com - סוג:
Zinn Digital® - סיסמה: מפתח ה-API שלכם משלב 1
⛔ המפתח מוזן בשדה סיסמה, אותו WHMCS שומרת בצורה מוצפנת. אין להזין אותו באפשרות תצורת מוצר — אלו נשמרים כטקסט גלוי בבסיס הנתונים וגלויים לכל מנהל מערכת, ואישור זה יכול ליצור ולהרוס את האחסון של הלקוחות שלכם.
לחצו על Test Connection. הפעולה מבצעת קריאה אמיתית ומדווחת על תשובת הפלטפורמה שלנו, במקום רק לבדוק שהשדות מלאים.
4. יצירת המוצר
תצורה ← הגדרות מערכת ← מוצרים/שירותים, ואז הגדירו את הגדרות מודול לשרת שזה עתה הוספתם. השדות הם:
| שדה | חובה | מה הוא מייצג | | ---------------- | -------- | -------------------------------------------------------------------------- | | סדרת מוצרים | כן | סדרת ה-Zinn® שאתם מוכרים — mainstream (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. | | יישום | לא | מיועד רק עבור סביבות one_click ו-headless_cms — איזה יישום להתקין. ציון שם יישום בכל סביבה אחרת יידחה, מכיוון שסביבה זו כבר קובעת מה מותקן. | | גרסת PHP | לא | למשל 8.3. השאירו ריק עבור ברירת המחדל של הסדרה. גרסה שהסדרה אינה מציעה תידחה בצרוף רשימת הגרסאות הנתמכות. | | קוד תוכנית | כן | תוכנית ה-Zinn® שמוצר זה מוכר. הקריאה GET /v1/reseller/prices מציגה את התוכניות שלכם. הזמנה ללא קוד זה תידחה — ראו אזהרה להלן. | | מחזור חיוב | לא | monthly (ברירת מחדל) או annual — המחזור שלפיו מונפק קו הסיטונאות שלכם עבור לקוח זה. המחיר שאתם גובים מהלקוח שלכם מוגדר במוצר WHMCS ואינו מושפע מכך. |
⛔⛔ קוד תוכנית הוא שדה חובה, והזמנה בלעדיו נדחית בכוונה. עד תאריך 2026-09-01 השדה היה דקורטיבי ושום רכיב לא קרא אותו, ולכן המודול הזמין אחסון ללא שום תוכנית כלל — וכל תוצאה של כך הייתה שקטה. דוח הסיטונאות שלכם נבנה מהמנויים הפעילים של הלקוחות שלכם, ולכן לא הייתה שורה עבור השירות ולא חויבתם בשום סכום כל עוד הוא פעל; הלקוח שלכם לא ירש מכסות, ולכן לא הוחלה מכסת דיסק או קבצים על האתר שלו; ולפונקציה שינוי חבילה לא היה מה לשנות, כך ששדרוג שמכרתם לא יכל להתבצע. האתר הוקצה ושירת את הגולשים בצורה מושלמת לאורך כל הזמן.
המודול דוחה כעת את ההזמנה במקום זאת, מכיוון שאין תוכנית בטוחה שהוא יכול לנחש: ניחוש היה מקצה אחסון בתוכנית שלא בחרתם ואולי לא תמחרתם, ו—בשונה מדחייה, שאתם רואים מיד — הוא היה צף ועולה רק כשהדוח היה מגיע, אם בכלל.
הגדירו את התקנה אוטומטית לפי העדפתכם — המודול הוא אידמפוטנטי (אידמפוטנטיות) לגבי מזהה שירות ה-WHMCS, ולכן ניסיון הקצאה חוזר מחזיר את אותו האתר במקום לחייב אתכם על אתר שני.
מה כל פעולת WHMCS מבצעת
| פעולת WHMCS | מה קורה בצד שלנו | | --------------------------- | ---------------------------------------------------------------------------------------- | | יצירה | יוצרת את חשבון ה-Zinn® של הלקוח (או משתמשת מחדש בחשבון הקיים שלו) ומקצה את האתר שלו. | | השהייה | מעבירה את האתר להשהיה בשל אי-תשלום. התוכן נשמר; דבר לא נמחק. | | ביטול השהייה | משחררת את ההשהיה שלכם. | | סיום התקשרות | מקצה תאריך למחיקת האתר, עם תקופת חסד. התאריך מוצג באזור הלקוחות. | | עדכון ניצול | מרענן את נתוני הדיסק ורוחב הפס בכל שירות, פעם ביום. | | התחברות לפאנל האחסון | פותחת קישור התחברות חד-פעמי לשימוש יחיד ישירות לתוך הפאנל של הלקוח שלכם. | | שינוי חבילה | משדרגת או משנמכת את השירות. מעבירה את החבילה, ואת גרסת ה-PHP אם המוצר החדש מציין כזו. | | שינוי סיסמה | מגדירה את הסיסמה של מנהל ה-WordPress. התיבה אינה מופיעה בסביבות שאין בהן חשבון כזה. | | חידוש | מאשרת שהשירות עדיין קיים. אחסון Zinn® הוא מתמשך, ולכן אין תקופה מרוחקת להארכה. | | סנכרון ניצול / ניקוי מטמון / ביצוע גיבוי | לחצנים בדף ניהול השירות. הלקוח שלכם מקבל את ניקוי המטמון וביצוע הגיבוי באזור הלקוחות שלו. | | כרטיסיית שירות | סטטוס, תוכנית, דיסק, רוחב פס, מחיקה מתוזמנת, ומי ביצע את ההשהיה. | | ייבוא | הפונקציה ListAccounts קוראת כל דף, ולכן ייבוא אינו יכול נעצר בשקט בדף הראשון. |
שדרוגים: מי מחייב את מי
הלקוח שלכם לעולם אינו מחויב על ידי Zinn®, בהזמנה או בשדרוג. אתם מחייבים אותו דרך WHMCS; אנו מחייבים אתכם, בדוח הסיטונאות שלכם. לכן שינוי חבילה מעביר את הזכאויות של הלקוח שלכם ואת השורה בדוח הבא שלכם, ואינו נוגע בשום כרטיס אשראי — WHMCS כבר גבתה את הכסף מהלקוח שלכם וחישבה את החלק היחסי שלה.
שירות שני של לקוח. באותה התוכנית מדובר באתר נוסף תחת מכסת האתרים של אותה תוכנית, ואינם מוענקים משאבים נוספים. בתוכנית שונה הפעולה נדחית: החלפת התוכנית הפעילה הייתה מותירה אחד משני השירותים ללא חיוב. מכרו את שניהם באותה התוכנית, או הקימו את הלקוח כרשומת לקוח נפרדת ב-WHMCS.
שינוי סיסמה קיים עבור WordPress בלבד. לאחסון Zinn® אין "סיסמת שירות" יחידה — הלקוח שלכם מגיע לפאנל שלו בעזרת לחצן ההתחברות — ולאתר php או static אין חשבון יישום לשנות. WHMCS מסתירה את התיבה לחלוטין במקום להציג תיבה שאינה יכולה לעבוד.
שלוש תשובות שאין לצמצם לשתיים
- ביטול השהייה יכול להחזיר תשובת דחייה. משמעות הדבר היא שהאתר הושעה על ידי צוות השימוש לרעה שלנו, ולא על ידכם, ואיזה לוח חיוב אינו רשאי לשחרר אותו. ההודעה מציינת זאת; הציגו אותה למנהל המערכת שלכם במקום לנסות שוב.
- סיום התקשרות מקצה תאריך למחיקה, הוא אינו מבצע אותה מיד. התאריך מוחזר כ-
pending_deletion_atואזור הלקוחות מציג אותו. לומר ללקוח שהמידע שלו כבר אבד כשזה אינו המצב גרוע יותר מאשר לא לומר לו דבר. - נתוני דיסק ורוחב פס יכולים להיות בלתי ידועים, ומצב בלתי ידוע אינו אפס. כאשר לא יכולנו לקחת קריאה המודול מותיר את הנתון כפי שהוא במקום לכתוב
0— אחרת WHMCS תציג ללקוח שלכם סרגל ניצול ריק ומרגיע עבור אתר שאין לנו קריאה ממנו.
פתרון תקלות
הבדיקה Test Connection עוברת וההזמנה הראשונה נכשלת עם שגיאת הרשאה. במפתח ה-API חסרה ההרשאה org.create. המודול חייב לפתוח את חשבון הלקוח לפני שהוא יכול ליצור את האתר שלו.
הזמנה נכשלת עם ההודעה שלארגון אין תוכנית אחסון. בתוכנית המפיץ שלכם לא נותרה מכסת אתרים, או שעדיין אינכם מחזיקים בתוכנית כזו. ראו לפני שמתחילים לעיל.
הזמנה נכשלת תוך ציון סביבת פיתוח (Stack). השדה סביבת פיתוח (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.