Customix Integrations APIを使うと、パーソナライズ注文を自社のシステムに取り込めます。取り込めるのは、Customixが生成した印刷ファイルと、お客様がパーソナライズ中に入力したすべての内容(名前、カスタムテキスト、カラー、選択したレイアウトなど)です。制作ツール、スプレッドシート、Makeなどの自動化プラットフォームが、誰かが手作業でコピーしなくても注文の詳細を必要とする場合に活用してください。
APIキーを取得するには、左サイドバーの設定に移動し、連携タブを開いて、APIキーカードのキーを作成をクリックします。詳しくは、CustomixのAPIキーを取得する方法をご覧ください。
🔑 認証
すべてのリクエストで、ヘッダーにAPIキーを含める必要があります。
Authorization: Bearer <your_api_key>🌐 ベースURL
https://app.customix.io/api/integrations/v1📘 エンドポイント
1. 注文の一覧を取得する
エンドポイント:
GET /orders説明:パーソナライズ注文を取得します。デフォルトでは新しい順に返されます。
パラメータ:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
shop | string | ✅ | Shopifyのストア名。ストアのURLがabcdef.myshopify.comの場合は、shop=abcdefとなります |
limit | integer | ⬜ | デフォルトは50、最大値は250です |
created_at_min | date | ⬜ | この日付以降に作成された注文を表示します(形式:2025-01-21) |
created_at_max | date | ⬜ | この日付以前に作成された注文を表示します(形式:2025-01-30) |
order_status | string | ⬜ | created:未完了の注文のみを表示します。paid:支払い済みの注文のみを表示します。fulfilled:発送済みの注文のみを表示します。 |
order_by | string | ⬜ | デフォルトは'ordered_at desc'です。'ordered_at asc'、'id asc'、'id desc'も指定できます |
ヘッダー:
| ヘッダー | 値 |
|---|---|
Authorization | Bearer API_KEY |
リクエスト例:
GET https://app.customix.io/api/integrations/v1/orders?shop=abcdef&limit=2レスポンス:
{
"data": [
{
"shop": "abcdef.myshopify.com",
"order_id": 123456789,
"order_number": "#1001",
"currency": "USD",
"customer": "John Doe",
"email": "[email protected]",
"ip": "123.123.123.123",
"total_price": 123.45,
"financial_status": "paid",
"fulfillment_status": "fulfilled",
"ordered_at": "2025-01-21 01:01:01",
"customizations": [
{
"id": "01jjavmg7t7vqj5z6qvxwie14b",
"public_customization_id": "01jjavmg7t7vqj5z6qvxwpc9kd",
"campaign_id": "01jphjdfmtxhaio94h0wd0kv0c",
"shopify_line_item_id": 11106133639222,
"shopify_product_id": 11179841648222,
"shopify_variant_id": 11191300929074,
"platform": "shopify",
"line_item_quantity": 1,
"files": [
{
"id": "01jb3092vabc7m8qw4cdqv09we",
"name": "default",
"path": "https://d6opbaohxg209.cloudfront.net/temp/extracted_67d7d664c7awe/Accessory/Laptop.png"
}
],
"values": [
{ "key": "100001", "label": "Name", "type": "text-field", "value": "Emma" },
{ "key": "layout_100003", "label": "Layout", "type": "layout-swatch", "value": "Portrait" },
{ "key": "100004", "label": "Color", "type": "color-picker", "value": "#1a2b3c" }
]
}
]
}
]
}エラーレスポンス:
| コード | メッセージ | 説明 |
|---|---|---|
| 401 | Unauthorized | トークンが無効、または指定されていません |
| 403 | Forbidden | このストアの注文を表示する権限がありません |
2. 特定の注文を取得する
エンドポイント:
GET /orders/{id}説明:1件の注文を、印刷ファイルとパーソナライズの値とともに取得します。
パラメータ:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
shop | string | ✅ | Shopifyのストア名。ストアのURLがabcdef.myshopify.comの場合は、shop=abcdefとなります |
id | integer | ✅ | ShopifyのオーダーID(パス内) |
ヘッダー:
| ヘッダー | 値 |
|---|---|
Authorization | Bearer API_KEY |
Content-Type | application/json |
リクエスト例:
GET https://app.customix.io/api/integrations/v1/orders/123456789?shop=abcdefレスポンス:上記の一覧の1件分と同じフィールドを持つ単一の注文が、dataに入ります。
{
"data": {
"shop": "abcdef.myshopify.com",
"order_id": 123456789,
"order_number": "#1001",
"customizations": [
{
"id": "01jjavmg7t7vqj5z6qvxwie14b",
"public_customization_id": "01jjavmg7t7vqj5z6qvxwpc9kd",
"line_item_quantity": 1,
"files": [
{ "id": "01jb3092vabc7m8qw4cdqv09we", "name": "default", "path": "https://d6opbaohxg209.cloudfront.net/temp/extracted_67d7d664c7awe/Accessory/Laptop.png" }
],
"values": [
{ "key": "100001", "label": "Name", "type": "text-field", "value": "Emma" }
]
}
]
}
}(ここでは省略しています。実際のレスポンスには、一覧の例に示したすべてのフィールドが含まれます。)
エラーレスポンス:
| コード | メッセージ | 説明 |
|---|---|---|
| 401 | Unauthorized | トークンが無効、または指定されていません |
| 403 | Forbidden | この注文を表示する権限がありません |
| 404 | Not Found | 注文が見つかりません |
3. 特定の注文のカスタマイズを取得する
エンドポイント:
GET /orders/{order_id}/customizations/{public_customization_id}説明:注文の1件のカスタマイズを取得します。
パラメータ:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
shop | string | ✅ | Shopifyのストア名。ストアのURLがabcdef.myshopify.comの場合は、shop=abcdefとなります |
order_id | integer | ✅ | ShopifyのオーダーID(パス内) |
public_customization_id | string | ✅ | カスタマイズのpublic_customization_id(パス内)。注文のレスポンスに含まれているほか、Shopifyの注文ではアイテムのプロパティ_cm-customization-idとして表示されます |
ヘッダー:
| ヘッダー | 値 |
|---|---|
Authorization | Bearer API_KEY |
Content-Type | application/json |
リクエスト例:
GET https://app.customix.io/api/integrations/v1/orders/123456789/customizations/01jjavmg7t7vqj5z6qvxwpc9kd?shop=abcdefレスポンス:カスタマイズ単体が返されます(dataには含まれません)。
{
"id": "01jjavmg7t7vqj5z6qvxwie14b",
"public_customization_id": "01jjavmg7t7vqj5z6qvxwpc9kd",
"campaign_id": "01jphjdfmtxhaio94h0wd0kv0c",
"shopify_line_item_id": 11106133639222,
"shopify_product_id": 11179841648222,
"shopify_variant_id": 11191300929074,
"platform": "shopify",
"line_item_quantity": 1,
"files": [
{
"id": "01jb3092vabc7m8qw4cdqv09we",
"name": "default",
"path": "https://d6opbaohxg209.cloudfront.net/temp/extracted_67d7d664c7awe/Accessory/Laptop.png"
}
],
"values": [
{ "key": "100001", "label": "Name", "type": "text-field", "value": "Emma" },
{ "key": "layout_100003", "label": "Layout", "type": "layout-swatch", "value": "Portrait" }
]
}エラーレスポンス:
| コード | メッセージ | 説明 |
|---|---|---|
| 401 | Unauthorized | トークンが無効、または指定されていません |
| 403 | Forbidden | このカスタマイズを表示する権限がありません |
| 404 | Not Found | 注文またはカスタマイズが見つかりません |
🖊️ カスタマイズの値
すべてのカスタマイズにはvaluesが含まれます。これは、注文とともに保存された各パーソナライズ項目につき1件のエントリーで、Shopifyの注文でアイテムのプロパティとして表示される内容と同じです。各エントリーには次の項目があります。
- key:テンプレート内でのその項目の識別子です。同じテンプレートの同じ項目であれば、注文が変わっても同じ値のままなので、連携時の項目のマッピングに使用してください。
- label:お客様に表示されたオプション名です(例:「Name」)。古い注文では空の場合があります。
- type:オプションの種類です(例:
text-field、color-picker、font-swatch、image-swatch、layout-swatch、date-picker、file-upload)。 - value:お客様が選択または入力した内容です。常にテキストで返されます。
オプションの種類ごとのvalueの内容は次のとおりです。
- テキスト:お客様が入力した内容そのままです。
- カラーピッカー:お客様が選んだカラーコードです。
- フォント、画像、カラー、線のスウォッチ:お客様が選んだスウォッチの値です。
- レイアウトのスウォッチ:お客様が選んだレイアウトの名前です。注文時点での名前が返されます。
- 日付と時刻のピッカー:お客様が選んだ日付または時刻です。
- ファイルとベクターのアップロード:お客様がアップロードしたファイルへのリンクです。
- パレットとワードクラウドのフォント:お客様が選んだカラーまたはフォントで、カンマ区切りです。
- マップスタイル、場所、Spotifyのトラックなど、テキストとして表せないオプションは、空の値で返されます。これらについては、印刷ファイルを使用してください。
⚠️ 主なエラーコード
| コード | 説明 |
|---|---|
| 400 | Bad Request |
| 401 | Unauthorized:APIキーが無効、または指定されていません |
| 403 | Forbidden:このストアに対する権限がない、または現在のプランでAPIアクセスが利用できません |
| 404 | Not Found |
| 422 | ストア名が指定されていません:shopパラメータは必須です |
| 500 | Internal Server Error |
📌 補足
- すべてのレスポンスはJSON形式です。
- レート制限:
2 requests/second。 - ご不明な点は[email protected]までお問い合わせください。
更新日:2026/09/14