Campaign API リファレンス(概要)
Campaign APIを使ったシステム連携を検討する技術担当者向けの概要ガイドです。
API の基本情報
| 項目 | 値 |
|---|---|
| ベースURL | https://api.anycampaign.jp/v1 |
| プロトコル | HTTPS |
| データ形式 | JSON |
認証
すべてのAPIリクエスト(ヘルスチェックを除く)には、以下の2つのヘッダーが必要です。
x-anycampaign-key: {APIキー}
x-anycampaign-store-id: {ストアID}
認証情報はAnyReachとの契約後に発行されます。APIキーは秘密情報として、Webサーバーの環境変数やシークレット管理サービスを使って安全に保管してください。
エンドポイント一覧
| メソッド | パス | 説明 | 認証 |
|---|---|---|---|
| POST | /v1/product_variants/search |
商品バリアント検索 | 必要 |
| POST | /v1/orders |
キャンペーン注文作成 | 必要 |
| GET | /v1/health |
稼働確認 | 不要 |
POST /v1/product_variants/search
利用可能な商品の情報を取得します。注文作成前に商品IDを確認するために使用します。
リクエスト:
{
"productVariantIds": ["商品バリアントID(UUID形式)"]
}
レスポンス(成功時):
{
"items": [
{
"id": "商品バリアントID",
"displayName": "商品名 / バリアント名",
"description": "商品の説明",
"storeName": "ブランド名",
"productCode": "PROD-001",
"skuCode": "SKU-001",
"imageUrls": ["https://example.com/image.jpg"]
}
],
"notFound": ["見つからなかった商品バリアントID"]
}
POST /v1/orders
キャンペーンギフトの注文を作成し、受取URLを発行します。
リクエスト:
{
"productVariantIds": ["商品バリアントID"],
"senderEmail": "campaign@yourcompany.com",
"senderName": "株式会社サンプル",
"message": "キャンペーンにご参加いただきありがとうございます。ギフトをお受け取りください。",
"messageCardId": "メッセージカードID(任意)"
}
リクエストパラメータ:
| パラメータ | 必須 | 説明 |
|---|---|---|
productVariantIds |
必須 | ギフトとして提供する商品のID(1件) |
senderEmail |
必須 | キャンペーン主催者のメールアドレス |
senderName |
必須 | 受取画面に表示する企業・担当者名 |
message |
必須 | 受取者へのメッセージ(200文字以内) |
messageCardId |
任意 | メッセージカードのID |
レスポンス(成功時):
{
"recipientUrl": "https://receive.anygift.jp/gift/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
GET /v1/health
APIサーバーの稼働状況を確認します。認証不要でアクセスできます。
- 成功時: HTTP 200(レスポンスボディなし)
- 失敗時: HTTP 500
システム監視やデプロイ後の疎通確認に活用できます。
エラーレスポンス
エラーが発生した場合、以下の形式でレスポンスが返されます。
{
"code": "エラーコード",
"message": "エラーの説明(日本語)"
}
主なエラーコード
| コード | HTTPステータス | 内容 |
|---|---|---|
MISSING_PARAMETER |
400 | 必須パラメータが未指定 |
TOO_LONG_MESSAGE |
400 | メッセージが200文字を超えている |
OUT_OF_STOCK_PRODUCT_VARIANT |
400 | 商品の在庫がない |
PRODUCT_VARIANT_NOT_FOUND |
404 | 指定した商品が存在しない |
MESSAGE_CARD_NOT_FOUND |
404 | 指定したメッセージカードが存在しない |
SYSTEM_ERROR |
500 | サーバー内部エラー |
システム連携の考え方
Campaign APIはシンプルなREST APIなので、HTTPリクエストができる言語・フレームワークであればどこからでも呼び出せます。
連携方式の選択:
- バッチ連携: 夜間バッチや定期処理でAPIを一括呼び出し
- イベントドリブン: フォーム送信・購入完了などをトリガーにリアルタイムで呼び出し
- 手動トリガー: 管理ツールから手動でAPIを呼び出して特定のユーザーにURLを発行
詳細なAPI仕様書はAnyReachの担当者よりご提供します。