mcpField
R
reach

reach

github.com/hostingerマーケティング・グロース2655 回インストール19 週間前に更新
リポジトリ

reach について

メールマーケティングに Hostinger Reach API を使うためのリファレンススキルです。連絡先管理、条件に基づくセグメント作成、送信者プロフィールを扱い、API リクエストと Python、TypeScript、PHP SDK の例を掲載しています。

主な機能

  1. 01連絡先の作成、一覧表示、削除
  2. 02購読状態による連絡先の絞り込み
  3. 03条件演算子を使ったセグメント作成
  4. 04セグメントの詳細と連絡先の表示
  5. 05送信者プロフィールの確認
  6. 06Python、TypeScript、PHP の例

活用シーン

  1. 01メールマーケティング用連絡先リストの管理
  2. 02反応状況や状態に応じた購読者の絞り込み
  3. 03送信者プロフィールとセグメント構成の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hostinger/hostinger-agent-skills --skill reach

インストール後、Claude Code で/reachを入力して読み込まれたか確認します。

詳細

Hostinger Reach(メールマーケティング)

Reach API は、メールマーケティング機能を提供します。連絡先の管理、ターゲットを絞ったキャンペーン向けのセグメント作成、送信者プロフィールの操作ができます。

目次

基本概念

連絡先

連絡先は、マーケティングシステムにおけるメールの受信者です。各連絡先には、基本情報(名、メールアドレス、姓)と購読ステータスがあります。ダブルオプトインが有効になっている場合、新しい連絡先は保留中のステータスで登録され、確認メールを受け取ります。

セグメント

セグメントは、特定の条件(メールアドレス、名前、購読ステータス、エンゲージメント指標など)に基づいて連絡先をグループ化します。セグメントでは、equals、contains、gte、lte、opened、clicked などの演算子を使った複雑なフィルタリングに対応しています。

プロフィール

送信者プロフィールは、キャンペーンの送信に使用するメールの識別情報を表します。各プロフィールには基本情報があり、アカウントに関連付けられています。

連絡先グループ

グループは、連絡先を整理するための機能です(現在は非推奨となっており、セグメントの使用が推奨されています)。

購読ステータス

連絡先には、メールを受信するかどうかを決定するさまざまな購読ステータスがあります。連絡先の一覧表示時に、ステータスをフィルターとして使用できます。

一般的なパターン

連絡先の作成と管理
# Create a new contact (direct)
curl -X POST "https://developers.hostinger.com/api/reach/v1/contacts" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "John",
    "surname": "Doe",
    "phone": "+15551234567",
    "note": "Met at conference"
  }'

# Create a new contact (scoped to a specific sender profile)
curl -X POST "https://developers.hostinger.com/api/reach/v1/profiles/{profileUuid}/contacts" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "John",
    "surname": "Doe"
  }'

# List contacts (paginated)
curl -X GET "https://developers.hostinger.com/api/reach/v1/contacts?page=1" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Filter contacts by subscription status
curl -X GET "https://developers.hostinger.com/api/reach/v1/contacts?subscription_status=active" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# List contact groups
curl -X GET "https://developers.hostinger.com/api/reach/v1/contacts/groups" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Delete a contact
curl -X DELETE "https://developers.hostinger.com/api/reach/v1/contacts/{uuid}" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

Python SDK:

from hostinger_api import Hostinger

client = Hostinger(api_token="YOUR_API_TOKEN")

# List contacts
contacts = client.reach.contacts.list(page=1)
for contact in contacts:
    print(f"{contact.name} <{contact.email}>")

TypeScript SDK:

import { Hostinger } from "hostinger-api-sdk";

const client = new Hostinger({ apiToken: "YOUR_API_TOKEN" });

const contacts = await client.reach.contacts.list({ page: 1 });
for (const contact of contacts) {
  console.log(`${contact.name} <${contact.email}>`);
}

PHP SDK:

use Hostinger\Api\HostingerApi;

$client = new HostingerApi('YOUR_API_TOKEN');

$contacts = $client->reach->contacts->list(['page' => 1]);
foreach ($contacts as $contact) {
    echo "{$contact->name} <{$contact->email}>\n";
}
セグメントの操作
# List all segments
curl -X GET "https://developers.hostinger.com/api/reach/v1/segmentation/segments" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# Create a segment (e.g., engaged subscribers who opened emails)
curl -X POST "https://developers.hostinger.com/api/reach/v1/segmentation/segments" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Engaged Subscribers",
    "logic": "and",
    "conditions": [
      {
        "field": "subscription_status",
        "operator": "equals",
        "value": "active"
      },
      {
        "field": "email_engagement",
        "operator": "opened"
      }
    ]
  }'

# Get segment details
curl -X GET "https://developers.hostinger.com/api/reach/v1/segmentation/segments/{segmentUuid}" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

# List contacts in a segment (paginated)
curl -X GET "https://developers.hostinger.com/api/reach/v1/segmentation/segments/{segmentUuid}/contacts?page=1&per_page=50" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"
プロフィールの管理
# List all sender profiles
curl -X GET "https://developers.hostinger.com/api/reach/v1/profiles" \
  -H "Authorization: Bearer $HOSTINGER_API_TOKEN"

API リファレンス

連絡先
メソッドエンドポイント説明
GET/api/reach/v1/contacts連絡先の一覧を取得します(ページ分割、フィルター可能)
POST/api/reach/v1/contacts連絡先を作成します(直接作成)
POST/api/reach/v1/profiles/{profileUuid}/contacts送信者プロフィールに紐付けて連絡先を作成します
GET/api/reach/v1/contacts/groups連絡先グループの一覧を取得します
DELETE/api/reach/v1/contacts/{uuid}連絡先を削除します
セグメント
メソッドエンドポイント説明
GET/api/reach/v1/segmentation/segmentsすべてのセグメントの一覧を取得します
POST/api/reach/v1/segmentation/segments新しいセグメントを作成します
GET/api/reach/v1/segmentation/segments/{segmentUuid}セグメントの詳細を取得します
GET/api/reach/v1/segmentation/segments/{segmentUuid}/contactsセグメント内の連絡先一覧を取得します
プロフィール
メソッドエンドポイント説明
GET/api/reach/v1/profiles送信者プロフィールの一覧を取得します
連絡先のクエリパラメーター
パラメーター説明
pageページ番号
group_uuidグループ UUID でフィルタリングします
subscription_status購読ステータスでフィルタリングします
セグメント条件の演算子
演算子説明
equals / not_equals完全一致
contains / not_contains部分一致
gte / lte以上/以下
existsフィールドに値がある
within_last_days / not_within_last_days日付範囲
older_than_daysN 日より前
opened / not_openedメール開封のエンゲージメント
clicked / not_clickedメールクリックのエンゲージメント
bounced / not_bouncedバウンスステータス
delivered / not_delivered配信ステータス
unsubscribed / not_unsubscribed購読解除ステータス

ベストプラクティス

連絡先の管理
  • 連絡先の一般的な作成には直接 POST /contacts エンドポイントを使用します。特定の送信者プロフィールに連絡先を紐付ける必要がある場合は、POST /profiles/{profileUuid}/contacts を使用します
  • 連絡先の整理には連絡先グループよりもセグメントを優先してください。グループは旧式の機能です
  • メールマーケティング規制(GDPR、CAN-SPAM)に準拠するため、ダブルオプトインを有効にしてください
  • バウンスした連絡先や購読を解除した連絡先を削除し、連絡先リストを定期的に整理してください
セグメンテーション
  • 狭く正確にターゲティングするには、and ロジックを使用します
  • より幅広いオーディエンスにリーチするには、or ロジックを使用します
  • 再エンゲージメントキャンペーンでは、エンゲージメント演算子(opened、clicked)と時間ベースの演算子を組み合わせます
  • オーディエンスの規模をプレビューするため、キャンペーンの前にセグメントを作成します
プロフィール
  • 送信者プロフィールを認証して、メールの到達率を高めます
  • キャンペーン全体で一貫した送信者情報を使用します

トラブルシューティング

連絡先にメールが届かない
  • 購読状況を確認します。連絡先が購読解除済み、または保留中の可能性があります
  • ダブルオプトインが有効な場合、連絡先は先にメールアドレスを確認する必要があります
  • 連絡先のメールアドレスが有効で、バウンスしていないことを確認します
セグメントに連絡先が表示されない
  • 条件と演算子が正しいことを確認します
  • logic フィールド(and/or)が意図と一致していることを確認します
  • すべての条件、またはいずれかの条件に一致する連絡先が存在することを確認します
連絡先の作成時に 422 検証エラーが発生する
  • 必須フィールドが不足しています(メールアドレスは必須です)
  • メールアドレスの形式が無効です
  • システムに同じメールアドレスがすでに登録されています

参考資料

コメント