API連携のはじめ方
AnyCampaignのCampaign APIを使った連携の始め方をステップで解説します。
事前に用意するもの
AnyCampaignをご利用いただくには、AnyReachとの契約が必要です。契約後に以下の認証情報が発行されます。
- APIキー: Campaign APIへのアクセスに必要な秘密情報です。漏洩しないよう安全に保管してください
- ストアID: あなたのストアを識別するIDです
これらの情報は、APIリクエストのヘッダーに付与して使用します。
STEP 1: 商品バリアントIDを確認する
キャンペーンでギフトとして提供したい商品のIDを確認します。AnyReachの担当者を通じて商品を登録したあと、商品検索APIで利用可能な商品とそのIDを確認できます。
リクエスト例:
POST https://api.anycampaign.jp/v1/product_variants/search
x-anycampaign-key: {APIキー}
x-anycampaign-store-id: {ストアID}
{
"productVariantIds": ["確認したい商品バリアントID"]
}
レスポンス例:
{
"items": [
{
"id": "商品バリアントID",
"displayName": "商品名 / バリアント名",
"description": "商品の説明文",
"storeName": "ブランド名",
"productCode": "PROD-001",
"skuCode": "SKU-001",
"imageUrls": ["https://example.com/image.jpg"]
}
],
"notFound": []
}
確認した商品バリアントIDは、あなたのシステム側で管理しておくと、注文作成時にすぐ使えます。
STEP 2: テスト注文を作成する
本番稼働前に、テスト注文を作成してフロー全体を確認します。
リクエスト例:
POST https://api.anycampaign.jp/v1/orders
x-anycampaign-key: {APIキー}
x-anycampaign-store-id: {ストアID}
{
"productVariantIds": ["商品バリアントID"],
"senderEmail": "test@yourcompany.com",
"senderName": "テスト株式会社",
"message": "ご参加ありがとうございます。こちらのギフトをお受け取りください。"
}
レスポンス例:
{
"recipientUrl": "https://receive.anygift.jp/gift/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
返却された recipientUrl にブラウザでアクセスして、受取者の体験を確認してください。
確認項目:
- [ ] APIコールでギフト注文が作成されるか
- [ ]
recipientUrlが返却されるか - [ ] 受取画面で商品選択・配送先入力ができるか
- [ ] 受取完了後にメールが届くか(送信元: AnyCampaign運営事務局)
- [ ] Shopify利用の場合は下書き注文が作成されるか
STEP 3: 本番システムと連携する
テストが完了したら、本番システムからAPIを呼び出すよう実装します。
よくある連携パターン:
- CRMやMAツールからキャンペーン対象者を取得し、1人ずつAPIを呼び出してURLを生成
- バッチ処理で対象者リストを読み込み、一括でURLを生成してメールで配布
- Webフォームの送信をトリガーに、リアルタイムでURLを生成して即時配布
APIリクエストのパラメータ詳細
注文作成(POST /v1/orders)
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
productVariantIds |
配列 | 必須 | ギフトする商品のID(現在は1件のみ指定可) |
senderEmail |
文字列 | 必須 | キャンペーン主催者のメールアドレス |
senderName |
文字列 | 必須 | 受取画面に表示される企業・担当者名 |
message |
文字列 | 必須 | 受取者へのメッセージ(200文字以内) |
messageCardId |
文字列 | 任意 | メッセージカードを使用する場合のID |
エラーが発生した場合
| エラーの内容 | 考えられる原因 |
|---|---|
| 認証エラー(401) | APIキーまたはストアIDが正しくない |
| 商品が見つからない(404) | 商品バリアントIDが存在しないか無効 |
| 在庫不足(400) | 指定した商品の在庫がない |
| メッセージが長すぎる(400) | メッセージが200文字を超えている |
ご不明な点はAnyReachのサポートまでお問い合わせください。