先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

Shopify 連携ガイド

Tajo は 2 つの仕組みで Shopify を Brevo に接続します。Tajo の Shopify アプリは、届いた Shopify Webhook をその都度 Brevo への書き込みに変換します。エージェントが作成し人が承認する同期ルールは、スケジュールに沿ってレコードを Brevo に移します。このページでは両方を説明し、続いて Tajo が MCP で提供する Shopify ツールを紹介します。

前提条件

連携を始める前に、次のものを用意してください。

  • いずれかのプランの Shopify ストア(Basic、Shopify、Advanced、Plus)
  • Tajo アカウント(Tajo はアーリーアクセス版です)
  • 同期先となる Brevo アカウント
  • Shopify ストアの管理者権限

ステップ 1: Shopify ストアを接続する

Tajo はアーリーアクセス版です。Shopify アプリは Shopify アプリストアに掲載されておらず、セルフサービスのインストールリンクもありません。セットアップについてはチームにお問い合わせください。Tajo のワークスペースの準備ができたら、次の手順に進みます。

  1. Tajo で Connections を開きます。
  2. ストアの myshopify.com ドメインを入力し、Connect Shopify を選びます。Shopify に Tajo がリクエストするスコープが表示され、承認すると Tajo に戻ります。
  3. 各スコープの用途と、Tajo が Shopify に書き戻す内容については、Shopify 権限の解説を参照してください。

ステップ 2: Tajo の Shopify アプリが Brevo に送るもの

アプリは各 Shopify Webhook を検証して保存し、キューに入れてすぐに処理します。顧客と商品のトピックは、処理の前に約 4 秒待機します。バッチの待ち時間はありません。失敗したジョブは、間隔を空けながら再試行されます。

Webhook トピック

Tajo の Shopify アプリは、次の Shopify Webhook トピックをサブスクライブします。

Webhook トピック用途
customers/create, customers/update, customers/deleteBrevo のコンタクトを最新の状態に保ちます
orders/create, orders/updated, orders/fulfilled, orders/cancelledBrevo 向けの注文イベントと注文指標
orders/paid, refunds/createロイヤルティポイントの付与と差し引き
checkouts/create, checkouts/updateBrevo での放棄チェックアウトの回復
products/create, products/update, products/deleteBrevo の商品カタログを最新の状態に保ちます
inventory_levels/updateBrevo の商品在庫を最新の状態に保ちます
collections/create, collections/update, collections/deleteコレクションを最新の状態に保ちます
companies/*, company_contacts/*, company_locations/*(create、update、delete)B2B 企業の同期
app/uninstalled, app/scopes_update, app_subscriptions/updateアプリのライフサイクル

Shopify の必須プライバシー Webhook(顧客データのリクエスト、顧客データの削除、ショップデータの削除)にも対応しています。アプリは carts/* をサブスクライブしません。放棄カートは checkouts/* トピックから取得されます。

Brevo に届く内容は次のとおりです。

Shopify のイベントBrevo での結果
顧客の作成または更新名前、メールアドレス、マーケティング同意とともにコンタクトが作成または更新されます。有料プランでは、アプリがタグ、注文数、購入金額、最終注文も追加します。
顧客の削除コンタクトは削除されず、配信停止になります
注文の作成、更新、支払い、発送、キャンセルBrevo の注文 API を通じた注文と、イベント order_paid、order_completed、order_cancelled
返金の作成イベント order_refunded。Tajo で Brevo のロイヤルティプログラムを運用している場合は、ポイントが比例して差し引かれます。
注文の支払い(Brevo のロイヤルティプログラムがある場合)設定した 1 ドルあたりのポイント率でポイントが付与されます
メールアドレスと商品を含むチェックアウトの作成または更新イベント cart_updated と cart_abandoned。送信のタイミングは Brevo のオートメーションが決めます。
商品またはコレクションの作成、更新、削除Brevo の商品カタログとカテゴリ
在庫レベルの更新Brevo のカタログ上の商品在庫。バリアントの在庫が 0 から 1 以上に戻ると、通知を希望した各購入者に back_in_stock イベントが入荷 1 回につき 1 回届きます。

アプリはテーマに「入荷通知」ボタンを追加しません。再入荷のリクエストは、たとえば独自に追加したボタンなど、ストアフロントから送る必要があります。

既存のデータ

インストール時に、アプリは既存の顧客を Brevo のコンタクトとしてインポートします。過去データの完全な同期は、アプリの同期ページから開始します。有料プランでは、商品、コレクション、企業、注文もインポートします。

ステップ 3: エージェントで同期ルールを作成する

同期ルールは、1 つの同期を宣言的に定義したものです。ソースのリソース、Brevo のアクション、フィールドマップ、フィルターで構成されます。手で書く必要はありません。内容を説明すればエージェントが作成し、人が承認します。

  1. Tajo で Agents を開き、Brevo Integration Architect に行いたい同期を普段の言葉で依頼します。例:「メールマーケティングに同意した Shopify の顧客を、コンタクトとして Brevo に送って」。
  2. エージェントが Shopify コネクターを調べます。サンプルが返すのはフィールド名と型だけで、顧客の値は返しません。
  3. フィールドマップとフィルターを含むルールを提案し、フィールドマップを Brevo のアクションに照らして検証したうえで、下書きをドライランします。どちらのステップも顧客レコードは読み取りません。
  4. ルールを下書きとして保存します。Connections > Syncs and mappings > New sync from template のテンプレートから始めることもできます。
  5. Request publish approval を押すと、ストアに対してプレビューが実行されます。読み取るのは最大 10 件のレコードで、Brevo には何も書き込まず、カーソルも動かしません。記録されるのは件数だけです。取得したレコード、対象になったレコード、マッピングされたレコード、フィルターで除外されたレコードの数と、マッピングエラーです。プレビューが失敗した場合、承認リクエストは作成されません。
  6. 人が Approvals ページで、理由を書き添えてリクエストを承認します。承認はルールの SHA-256 ダイジェストに結び付けられ、30 分で失効します。その後、ルールのページに Publish approved version が表示されます。

公開済みのルールを編集すると、下書きに戻ります。再び実行されるまでに、もう一度プレビューと承認を経ます。

実際のルール

Tajo が定義している Shopify customers -> Brevo contacts テンプレートは次のとおりです。

sourceSlug: "shopify",
sourceResource: "customers",
destinationSlug: "brevo",
destinationAction: "upsert_contact",
fieldMap: [
{ source: "email", destination: "email", transform: "toLowerCase" },
{ source: "first_name", destination: "attributes.FIRSTNAME" },
{ source: "last_name", destination: "attributes.LASTNAME" },
{ source: "phone", destination: "attributes.PHONE" },
{ source: "total_spent", destination: "attributes.TOTAL_SPENT", transform: "toNumber" },
{ source: "orders_count", destination: "attributes.ORDERS_COUNT", transform: "toNumber" },
{ source: "tajo_email_marketing_consent", destination: "attributes.OPT_IN", transform: "toBoolean" },
{ source: "tags", destination: "attributes.SHOPIFY_TAGS" },
{ source: "id", destination: "attributes.SHOPIFY_ID", transform: "toString" },
{ source: "created_at", destination: "attributes.SHOPIFY_CREATED_AT" },
{ source: "updated_at", destination: "attributes.SHOPIFY_UPDATED_AT" },
],
filterExpression:
"($json.tajo_email_marketing_consent === true) && ($json.tajo_email_suppressed === false)",

このフィルターが同意のチェックです。Tajo は両方の値を Shopify の email_marketing_consent.state、または従来の accepts_marketing フラグから導き出します。コンタクトを Brevo に書き込むルールは、このフィルターがなければ公開できません。もう 1 つの Shopify テンプレート Shopify orders → Brevo orders は、チェックアウト時にマーケティングに同意した購入者の注文を Brevo に記録します。

ルールが実行されるタイミング

  • コンタクトの同期ルールは、デフォルトで 15 分ごとに実行されます。各実行はルールのカーソルから始まります。
  • 有効なルールのページには Test run (1 batch) ボタンがあります。
  • 有効で公開済みの Shopify orders → Brevo orders ルールも 15 分ごとに実行されます。最初のスケジュール実行はその時点の数分前から始まり、それより古い注文は送りません。以降の各実行では、前回の実行以降に更新された注文を送ります。
  • 過去の注文が Brevo に送られるのは、ルールを自分で実行したときだけです。Test run (1 batch) を使うか、Sync Operator エージェントに実行を依頼してください。
  • 注文ルールがスケジュールどおりに実行されるのは、テンプレートの購入者マーケティングのオプトインフィルターがある場合だけです。フィルターを編集したルールは、自分で開始したときにだけ実行されます。
  • 実行が 5 回続けて失敗すると、ルールは自動的に一時停止し、ページに最後のエラーが表示されます。原因を修正してから、もう一度公開してください。

各実行はルールの実行履歴に、読み取り、書き込み、失敗したレコード数と所要時間とともに記録されます。

Shopify コネクターが読み取るものと書き込むもの

同期ルールが書き込むのは同期先、ここでは Brevo だけです。Shopify に書き込むことはありません。

Tajo の Shopify アプリは 12 のスコープをリクエストし、同意のオプトアウトやロイヤルティタグなど、限られた書き込みを Shopify に行います。Shopify 権限の解説に、すべてのスコープとすべての書き込みを、そのきっかけとともに掲載しています。

エージェントと MCP ホストは、Shopify コネクターを通じてストアにアクセスします。

読み取り書き込み
ショップの詳細、顧客(一覧と検索)、注文、商品、顧客のメタフィールド、在庫レベル、一括エクスポートの状態顧客のメタフィールドと顧客タグ、一括エクスポートの開始。各書き込みは提案として準備され、承認された後にのみ実行されます。

コネクターは在庫の調整も宣言しています。これには write_inventory スコープが必要ですが、Tajo の Shopify アプリはこのスコープをリクエストしません。

ステップ 4: MCP で Shopify ツールを使う

Tajo は Shopify コネクターを MCP サーバーとして https://alto.tajo.io/mcp/connectors/shopify で提供しています。Claude Code に追加するには次のコマンドを実行します。

Terminal window
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopify

ホストが Tajo の OAuth サーバーを検出し、Tajo のログイン画面を開きます。アクセスできるのはアーリーアクセスのアカウントに限られます。サーバーは 12 のツールを公開しています。

ツール機能
preview_tajo_shopify_appTajo の Shopify アプリのインタラクティブなプレビュー(MCP UI として表示)
get_shopショップの詳細
search_customerstag:tajo-vip や total_spent:>100 などの Shopify クエリ構文で顧客を検索します
list_customers顧客の一覧(ページ分割)
list_orders注文の一覧(ページ分割)
list_productsバリアント、画像、在庫を含む商品の一覧
get_customer_metafields顧客のメタフィールドを読み取ります
get_inventory_levelsバリアントのロケーションごとの在庫を読み取ります
poll_bulk_export一括エクスポートを確認し、完了したらダウンロードリンクを取得します
calculate_rewards_profile同期済みのコマースデータから、顧客のティア、ポイント、特典残高を計算します
shopify_proposeShopify への書き込みを 1 件、提案として準備します。何も送信されません。
shopify_apply承認された提案を実行します

トラブルシューティング

次のステップ

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。

このページのMarkdown: shopify.md

Markdownを読み込み中…
Claudeで開く ChatGPTで開く