מאגר ידע

מכירת אחסון של Zinn® דרך WHMCS

התקינו את מודול ההקצאה החינמי של Zinn Digital® ב-WHMCS: מפתח ה-API ושבע ההרשאות הנדרשות לו, לאן צריך להגיע ספריית המודול ומדוע שמה חשוב, שדות המוצר ומה שכל כפתור ב-WHMCS באמת עושה.

המודול של Zinn Digital® הופך את הכפתורים של WHMCS עצמו לפעולות ממשיות בפלטפורמה שלנו. הזמנה מקצה את האחסון של הלקוח שלכם. מנגנון האוטומציה של חשבוניות שעבר מועד פירעונן ב-WHMCS משהה אותו. סימון החשבונית כשולמה משחרר אותו. ביטול מתזמן את המחיקה. והלקוח שלכם מקבל באזור הלקוחות שלו כפתור Log in to hosting panel שמחבר אותו ישירות.

הוא חינמי, בעל רישיון GPL-2.0-or-later, ואין לו נתיב מורשה מיוחד לתוך הפלטפורמה שלנו: כל קריאה שהוא מבצע היא נקודת קצה מתועדת שתוכלו לבצע בעצמכם באמצעות מפתח ה-API שלכם.

לפני שמתחילים

אתם זקוקים לשני דברים, והשני שבהם מפתיע אנשים לעיתים קרובות.

  1. חשבון משווק (reseller) של Zinn® עם תוכנית פעילה. הירשמו בכתובת zinndigital.com והפעילו את תכונת ה-reselling.
  2. תוכנית משווק (reseller) עם הקצאת אתרים. אתרים שהלקוחות שלכם מזמינים נספרים כנגד התוכנית שלכם, כך שאתם צריכים תוכנית שיש בה מקום פנוי.

⚠️ Test Connection אינו יכול לדעת אם הזמנה תצליח. הוא קורא את התוכנית שלכם ואינו מקצה דבר, ולכן הוא מדווח על חשבון active תקין שעדיין אינו יכול למכור דבר. אם ההזמנה הראשונה שלכם נכשלת עם השגיאה "This organization has no hosting plan, so it cannot host a site yet", זה בדיוק מה שקרה — רכשו או הרחיבו את תוכנית המשווק (reseller) שלכם ובצעו את ההזמנה שוב. שום דבר אינו פגום במודול.

1. יצירת מפתח ה-API

בלוח הבקרה שלכם ב-Zinn®, פתחו את API keys וצרו מפתח עם אחת-עשרה ההרשאות הללו בדיוק:

הרשאהמדוע היא נחוצה
org.createפתיחת חשבון ה-Zinn® של הלקוח שלכם בהזמנה הראשונה שלו.
org.readקריאת חשבונות הלקוחות שלכם.
sites.createהקצאת האתר.
sites.viewקריאת שירות ונתוני השימוש שלו.
sites.deleteסיום ומחיקה (Terminate).
reseller.viewהצגת רשימת המוצרים שמכרתם, וקריאת נתוני שטח דיסק ורוחב פס.
reseller.provisionהשהיה, שחרור, חיבור לקוח למערכת, הגדרת התוכנית שלו ושינוי החבילה שלו.
billing.viewקריאת עלות השדרוג לפני ביצועו.
sites.manageניקוי מטמון (cache) ויצירת גיבוי מתוך הכפתורים.
sites.panel_accessשינוי סיסמת מנהל המערכת של WordPress.
hosting.php.manageהחלפת גרסת PHP בעת שדרוג או שנמוך.

⛔ אל תעניקו את ההרשאה reseller.manage. מפתח שמודבק בלוח חיוב צריך להיות מסוגל להשהות לקוח בשל אי-תשלום ולחבר אותו למערכת. הוא אינו אמור להיות מסוגל לקרוא ולשכתב את פרטי הגישה של שער התשלומים שלכם עצמכם. ההרשאה reseller.provision קיימת כדי שלא תצטרכו להעניק את ההרשאה הרחבה יותר. ⛔ org.create אינה הרשאה אופציונלית. בלעדיה המודול יכול לקרוא את החשבונות שלכם אך אינו יכול לפתוח חשבון, ולכן Test Connection עובר בהצלחה וההזמנה הראשונה מחזירה שגיאת 403. ⛔⛔ העניקו את כל ההרשאות בטבלה, ושימו לב ש-Test Connection אינו יכול להתריע אם לא עשיתם זאת. הוא קורא את תוכנית המשווק (reseller) שלכם ואינו מקצה דבר, ולכן יציג חיווי ירוק ותקין גם עבור מפתח שחסרה בו אחת מההרשאות הללו. מה שתקבלו במקום זאת הוא שגיאת 403 באותה פעולה ספציפית שההרשאה החסרה מכסה, חודשים לאחר מכן, מצד לקוח.

2. התקנת המודול

  1. הורידו את המודול וחלצו אותו מקובץ ה-zip.
  2. העלו את ספריית 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 שומר בצורה מוצפנת. אל תזינו אותו באפשרות הגדרת מוצר (product configuration option) — אפשרויות אלו נשמרות כטקסט גלוי במסד הנתונים וגלויות לכל מנהל מערכת, ופרטי גישה אלה יכולים ליצור ולמחוק את שירותי האחסון של הלקוחות שלכם.

לחצו על Test Connection. הוא מבצע קריאה אמיתית ומדווח על התשובה שהתקבלה מהפלטפורמה שלנו, במקום רק לבדוק שהשדות מולאו.

4. יצירת המוצר

נווטו אל Configuration ← System Settings ← Products/Services, ולאחר מכן הגדירו את Module Settings לשרת שהוספתם זה עתה. השדות הם:

שדהחובהמה זה
Product lineכןליין המוצרים של 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.
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 לפי העדפתכם — המודול הוא אידמפוטנטי ביחס למזהה השירות ב-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סטטוס, תוכנית, דיסק, רוחב פס, מחיקה מתוזמנת ומי ביצע השהיה.
ImportListAccounts קורא כל עמוד, כך שתהליך ייבוא אינו יכול להיעצר בשקט בעמוד הראשון.

שדרוגים: מי מחייב את מי

הלקוח שלכם לעולם אינו מחויב על ידי Zinn®, לא בהזמנה ולא בשדרוג. אתם מחייבים אותו דרך WHMCS; אנחנו מחייבים אתכם, בדוח החיוב הסיטונאי שלכם. לכן פעולת Change Package מעבירה את הרשאות הלקוח שלכם ואת השורה בדוח החיוב הבא שלכם, ואינה נוגעת בשום כרטיס אשראי — WHMCS כבר גבה את כספו של הלקוח שלכם וחישב את החלק היחסי שלו (proration).

שירות שני של לקוח. באותה תוכנית, מדובר באתר נוסף תחת הקצאת האתרים של אותה תוכנית, ושום דבר נוסף אינו מוענק. בתוכנית שונה, הפעולה תידחה: החלפת התוכנית הפעילה תותיר את אחד משני השירותים ללא חיוב. מכרו את שניהם תחת אותה תוכנית, או הגדירו את הלקוח כרשומת לקוח נפרדת ב-WHMCS.

Change Password קיים רק עבור WordPress. לאחסון ב-Zinn® אין "סיסמת שירות" יחידה — הלקוח שלכם מגיע ללוח הבקרה שלו באמצעות כפתור ההתחברות — ולתרחיש של אתר php או static אין חשבון אפליקציה לשינוי. WHMCS מסתיר את התיבה לחלוטין במקום להציג תיבה שאינה יכולה לעבוד.

שלוש תשובות שאסור לרדד לשתיים

  • Unsuspend יכול להחזיר סירוב. משמעות הדבר היא שהאתר הושהה על ידי צוות ה-abuse שלנו, לא על ידכם, ושום לוח חיוב אינו רשאי לשחרר אותו. ההודעה מציינת זאת; הציגו אותה למנהל המערכת שלכם במקום לנסות שוב.
  • Terminate מתזמן מחיקה, הוא אינו מבצע אותה מיד. התאריך חוזר כ-pending_deletion_at ואזור הלקוחות מציג אותו. להגיד ללקוח שהנתונים שלו כבר נמחקו כשהם לא נמחקו גרוע יותר מאי-אמירת דבר.
  • שטח דיסק ורוחב פס יכולים להיות בלתי ידועים, ובלתי ידוע אינו שווה לאפס. כאשר לא הצלחנו לקבל קריאה, המודול משאיר את הנתון כפי שהוא במקום לרשום 0 — אחרת WHMCS יציג ללקוח שלכם סרגל שימוש ריק ומטעה לחלוטין עבור אתר שאין לנו קריאה לגביו.

פתרון בעיות

Test Connection עובר בהצלחה וההזמנה הראשונה נכשלת עם שגיאת הרשאה. במפתח ה-API חסרה ההרשאה org.create. המודול חייב לפתוח את חשבון הלקוח לפני שיוכל ליצור את האתר שלו.

הזמנה נכשלת עם הודעה שהארגון חסר תוכנית אחסון. בתוכנית המשווק (reseller) שלכם לא נותרה הקצאת אתרים, או שעדיין אין לכם תוכנית כזו. ראו לפני שמתחילים לעיל.

הזמנה נכשלת עם אזכור של סביבה (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.

החדשות האחרונות מהבלוג

מה שכתבנו על אחסון אתרים, SEO והפעלת אתרים בקנה מידה רחב.

קידום אתרים ובניית קישורים משכבת האחסון: נקודת מבטו של מפעיל לשנת 2026

כיצד האחסון מעצב את יצירת האינדקס ואת ערך הקישורים בשנת 2026: שמירה על דפים מאונדקסים, בדיקת דומיינים ותיקים לפני בנייה עליהם, בניית קישורים ללא עקבות מנועי חיפוש, ומבט כנה על מה שתשתית יכולה ולא יכולה לעשות עבור SEO.

קרא את הפוסט ←

הפיכת WordPress למהיר ומאובטח: צ'ק-ליסט לביצועים ותוספים

צ'ק-ליסט מעשי עבור WordPress מהיר ומאובטח: שמירה במטמון ברמת השרת, מטמון אובייקטים לכל אתר, קומץ התוספים ששווה להפעיל, שמירה על עדכניות התשתית ודפי WooCommerce שלעולם אסור לשמור במטמון.

קרא את הפוסט ←

כיצד לבחור אחסון אתרים מנוהל בשנת 2026: מדריך לרוכש

מה באמת מבדיל בין אחסון מנוהל טוב לבין קופסה זולה עם לוח בקרה — העברות, גיבויים, בידוד, שמירה אמיתית במטמון ומדרגיות כנה — וכיצד לשפוט זאת לפני שאתם מתחייבים.

קרא את הפוסט ←

קראו את הבלוג ←

עדיין נתקלתם בבעיה?

התמיכה כלולה בכל תוכנית, שולחן העבודה פתוח 24 שעות ביממה, ותוכלו לכתוב לנו בכל אחת מ-58 השפות שלנו — אנו נענה לכם בשפה שלכם.

יצירת קשר עם התמיכה → כל המאמרים →