ナレッジベース

WHMCS から Zinn®ホスティングを販売

WHMCS に無料の Zinn Digital®プロビジョニングモジュールをインストールする: API キーと必要な7つの権限、モジュールディレクトリの配置場所とその名前が重要である理由、製品フィールド、そして各 WHMCS ボタンが実際に行う処理について。

Zinn Digital®モジュールは、WHMCS 自体のボタンを当プラットフォーム上での実際の操作へと変換します。注文によって顧客のホスティングがプロビジョニングされます。WHMCS の請求書延滞自動化処理がそれを一時停止します。請求書を支払済みに設定すると停止が解除されます。解約を行うと削除のスケジュールが設定されます。そして、顧客には顧客エリアにホスティング管理パネルにログインボタンが表示され、直接サインインできるようになります。

本モジュールは無料で、GPL-2.0-or-later ライセンスが適用されており、当プラットフォームへの特権的な経路は持ちません。実行されるすべての呼び出しは、ご自身の API キーを使用してご自身でも実行可能な文書化されたエンドポイントです。

開始する前に

2点必要なものがあり、そのうちの2つ目は見落とされがちです。

  1. 有効なプログラムを備えた Zinn®再販業者アカウント。 [zinndigital.com] (https://zinndigital.com)でサインアップし、再販を有効にしてください。
  2. サイト許容量のある再販業者プラン。 顧客が注文するサイトは貴社のプランに対してカウントされるため、空きのあるプランが必要です。

⚠️ 「接続テスト」では、注文が成功するかどうかは判断できません。 プログラムを読み取るのみで何もプロビジョニングしないため、まだ何も販売できないアカウントであっても健全なactiveアカウントとして報告されます。最初の注文が「この組織にはホスティングプランがないため、まだサイトをホストできません」という理由で失敗した場合、それが原因です。再販業者プランを購入または拡張し、再度注文を行ってください。モジュールに問題はありません。

1. API キーの作成

Zinn®ダッシュボードでAPI キーを開き、正確に以下の11個の権限を持つキーを作成してください。

権限必要な理由
org.create最初の注文時に顧客の Zinn®アカウントを開設するため。
org.read顧客アカウントを読み取るため。
sites.createサイトをプロビジョニングするため。
sites.viewサービスとその使用状況を読み取るため。
sites.delete契約を終了 (削除) するため。
reseller.view販売内容を一覧表示し、ディスクおよび帯域幅を読み取るため。
reseller.provision一時停止、解除、顧客のサインイン、プランの設定、パッケージの変更を行うため。
billing.viewアップグレードを実行する前にその費用を読み取るため。
sites.manageボタンからキャッシュをパージし、バックアップを取得するため。
sites.panel_accessWordPress 管理者パスワードを変更するため。
hosting.php.manageアップグレードまたはダウングレード時に PHP バージョンを切り替えるため。

⛔ reseller.manageは付与しないでください。 請求パネルに貼り付けられたキーに必要なのは、未払いによる顧客の利用保留やサインインができる権限のみです。ご自身の決済ゲートウェイ認証情報を読み取ったり書き換えたりできる権限は不要です。より大きな権限を付与しなくて済むようにreseller.provisionが存在します。 ⛔ org.createは必須です。 これがない場合、モジュールはアカウントの読み取りは行えてもアカウントの開設は行えないため、「接続テスト」には合格しますが、最初の注文で403が返されます。 ⛔⛔ 表のすべてを付与してください。また、「接続テスト」では未付与であるかどうかを判別できないことにご注意ください。 プログラムを読み取るのみで何もプロビジョニングしないため、これらのいずれかが欠けているキーであってもグリーン (正常) と表示されます。その代わりに発生するのは、数か月後に顧客の操作によって、その欠落した権限が対象とする単一の操作で403エラーが発生することです。

2. モジュールのインストール

  1. [モジュールをダウンロード] (https://zinndigital.com/integrations)し、解凍します。
  2. モジュールファイルがmodules/servers/zinn/zinn.phpに配置されるよう、zinnディレクトリを WHMCS のインストール先にアップロードします。

⛔ ディレクトリ名は必ず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: ステップ1で取得した API キー

⛔ キーは、WHMCS によって暗号化されて保存されるPasswordフィールドに入力してください。製品の設定オプションには入力しないでください。データベース内に平文で保存され、すべての管理者から閲覧可能になります。また、この認証情報は顧客のホスティングを作成および破棄できるものです。

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年9月1日まではこの項目は形骸化しており何も読み取っていなかったため、モジュールはプランを一切持たないホスティングを注文していました — そしてその結果生じるすべての問題は表面化しませんでした。貴社の卸売計算書は顧客のアクティブな契約から生成されるため、そのサービスに対する項目が存在せず、実行されている期間中は一切請求が発生しませんでした。顧客には許容量が引き継がれず、サイトにディスク容量やファイル数の制限が適用されませんでした。そしてChange Package に変更対象が存在しない状態となり、販売したアップグレードを実行できませんでした。その間もサイトのプロビジョニングと配信は完全に機能していました。

現在モジュールは、推測できる安全なプランが存在しないため、代わりに注文を拒否するようになっています。推測で処理すると、貴社が選択しておらず価格設定もしていない可能性のあるプランでホスティングがプロビジョニングされてしまいます。また、即座に確認できる拒否とは異なり、計算書が届いたときにしか (届いたとしても) 発覚しません。

Auto Setupはお好みに応じて設定してください — モジュールは WHMCS のサービス ID に対して冪等性があるため、プロビジョニングを再試行しても2件目の請求が行われることはなく、同じサイトが返されます。

各 WHMCS アクションの機能

WHMCS のアクション当プラットフォーム側で発生する処理
Create顧客の Zinn®アカウントを作成 (または既存のアカウントを再利用) し、サイトをプロビジョニングします。
Suspendサイトを未払い保留状態にします。コンテンツは保持され、何も削除されません。
Unsuspend貴社の保留を解除します。
Terminate猶予期間を設けてサイトの削除をスケジュールします。日時は顧客エリアに表示されます。
Usage updateすべてのサービスのディスクおよび帯域幅を1日1回更新します。
Log in to hosting panel顧客のパネルへ直接サインインできる、使い切りのワンタイムサインインリンクを開きます。
Change Packageサービスをアップグレードまたはダウングレードします。パッケージを移行し、新製品で指定されている場合は PHP バージョンも移行します。
Change PasswordWordPress 管理者のパスワードを設定します。該当するアカウントがないスタックでは、この入力欄は表示されません。
Renewサービスがまだ存在することを確認します。Zinn®ホスティングは継続提供されるため、延長すべきリモートの期間はありません。
Sync Usage / Purge Cache / Take Backup管理者サービスページのボタンです。顧客には、顧客エリアに「Purge Cache」と「Take Backup」が表示されます。
Service タブステータス、プラン、ディスク、帯域幅、スケジュールされた削除、および誰が一時停止を設定したかが表示されます。
ImportListAccountsがすべてのページを読み取るため、インポートが最初のページで警告なく停止することはありません。

アップグレード: 誰が誰に請求するか

注文時またはアップグレード時に、顧客が Zinn®から請求されることは一切ありません。 貴社が WHMCS 経由で顧客に請求し、当サービスが卸売計算書で貴社に請求します。そのため、Change Package を行うと顧客の権限と次回計算書の明細が移行されますが、カード決済は一切発生しません — WHMCS がすでに顧客から代金を回収し、日割り計算を行っているためです。

顧客の2つ目のサービス。 同一プランの場合、そのプラン自体のサイト許容量内の別サイトとなり、それ以上の付与は行われません。異なるプランの場合は拒否されます。有効なプランを置き換えると、2つのサービスのうち一方への請求が行われなくなるためです。両方を同じプランで販売するか、WHMCS でその顧客を別の顧客レコードとして登録してください。

Change Password は WordPress 専用です。 Zinn®ホスティングには単一の「サービスパスワード」は存在せず (顧客はサインインボタンを使用してパネルにアクセスします)、phpやstaticサイトには変更対象となるアプリケーションアカウントがありません。WHMCS は、機能しない入力欄を表示するのではなく、完全に非表示にします。

2つに単純化してはならない3つの応答

  • Unsuspend は拒否を返す場合があります。 これは、サイトが貴社ではなく弊社の不正対策チームによって利用停止されたことを意味し、請求パネルからの解除はできません。メッセージにその旨が記載されていますので、再試行するのではなく管理者に提示してください。
  • Terminate は削除のスケジュールを設定するものであり、即時削除を行うものではありません。 日時はpending_deletion_atとして返され、顧客エリアに表示されます。顧客に対して、データがまだ残っているにもかかわらずすでに消去されたと伝えることは、何も伝えないことよりも悪影響を及ぼします。
  • ディスクと帯域幅は不明な場合があり、不明はゼロとは異なります。 使用量を読み取れなかった場合、モジュールは0を書き込むのではなく数値をそのまま保持します — そうしなければ、測定値を取得できていないサイトに対して、WHMCS が顧客に安心感を与える空の使用量バーを表示してしまうためです。

トラブルシューティング

接続テストは合格するが、最初の注文が権限エラーで失敗する。 API キーにorg.createが不足しています。モジュールはサイトを作成する前に顧客のアカウントを開設する必要があります。

組織にホスティングプランがないというメッセージで注文が失敗する。 再販業者プランのサイト許容量に残枠がないか、プランをまだ保有していません。前述の開始する前にをご確認ください。

スタックについて言及されて注文が失敗する。 製品のStackフィールドが空欄であるか、当サービスが構築に対応していないものが指定されています。別のものを販売する場合を除き、wordpressに設定してください。

解約処理が失敗する。 モジュールのバージョンが1.0.0以降であることを確認してください。以前のビルドでは削除確認が送信されず、すべての契約終了処理が拒否され、サービスが稼働したまま請求が継続する状態になっていました。

項目名を挙げた拒否。 当サービスのバリデーションエラーでは、メッセージの後の括弧内に項目名と理由が示されます (例: (php_version: 7.2 is not offered on this product line))。その部分が対処に必要な情報です — 前にある文は意図的に汎用的な表現になっています。

ダウンロードの検証

すべてのアーカイブは弊社独自のホスト名から TLS 経由で配信され、サードパーティのホストへリダイレクトされることは決してありません。その SHA-256チェックサムは、[ダウンロードページ] (https://zinndigital.com/integrations)のダウンロードリンクの横に記載されています。ダウンロード後に照合してください。

  • macOS または Linux: shasum -a 256 zinn-whmcs-1.0.0.zip
  • Windows: certutil -hashfile zinn-whmcs-1.0.0.zip SHA256

WHMCS をお使いでない場合

HostBill 用モジュールと、その他の環境向けに単一ファイルの PHP クライアントが用意されており、いずれも無料で同一の[ダウンロードページ] (https://zinndigital.com/integrations)から入手可能です。各モジュールが使用するすべてのエンドポイントはAPIリファレンスに記載されています。

ブログの最新情報

ホスティング、SEO、大規模サイトの運用について執筆した記事。

ホスティング層からの SEO とリンクビルディング: 2026年のオペレーターの視点

2026年におけるホスティングがインデックス作成とリンクエクイティに与える影響: ページのインデックス維持、構築前のオールドドメインの審査、検索エンジンのフットプリントを残さないリンク構築、そしてインフラが SEO に対してできることとできないことに関する率直な見解。

記事を読む →

WordPress を高速かつ安全にする方法: パフォーマンスとプラグインのチェックリスト

高速で安全な WordPress のための実践的なチェックリスト: サーバーレベルのキャッシュ、サイトごとのオブジェクトキャッシュ、利用する価値のある厳選されたプラグイン、スタックを最新に維持すること、そして決してキャッシュしてはならない WooCommerce ページ。

記事を読む →

2026年におけるマネージド Web ホスティングの選び方: バイヤーズガイド

コントロールパネル付きの安価なサーバーと、優れたマネージドホスティングを実際に分けるもの (移行、バックアップ、分離、真のキャッシング、そして誠実なスケーリング)、および契約前にそれらを見極める方法。

記事を読む →

ブログを読む →

解決しませんか ?

サポートはすべてのプランに含まれており、対応時間は1日 24 時間、対応言語は 58 ヵ国語の中から自由にお書きいただけます。お客様の言語で回答いたします。

サポートに問い合わせる → すべての記事 →