メインコンテンツへ飛ぶ

ステッカーミュールAPI

ステッカーミュールAPIを使えば、あなた専用のコードから製品の再注文や、保存済みの商品、住所、支払い方法の読み取りを行うことができます。これは、個人用APIキーで認証される小型のREST APIです。

クイックスタート

1. APIキーを生成する

アカウント設定を開き、「ストア設定」でAPIキーを生成してください。キーは一度しか表示されませんので、すぐコピーしてください。

アカウント設定を開く

2. APIを呼び出す

キーをベアラートークンとして送信してください。この例では、保存済みのアイテムを注文します。

POST /api/orders
curl -X POST https://www.stickermule.com/api/orders \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [{ "id": "456", "quantity": 50 }],
    "addressId": "22",
    "paymentId": "7"
  }'

認証

すべてのリクエストには、認証ヘッダーにAPIキーをベアラートークンとして含める必要があります。

Authorization: Bearer YOUR_API_KEY
  • APIは個人アカウントでのみ利用可能で、チームアカウントでは利用できません。
  • 各アカウントには1つのキーが割り当てられています。新しいキーを生成すると、古いキーは置き換えられます。
  • キーはパスワードのように扱ってください。注文や保存データの読み取りに使えます。

ベースURL

すべてのエンドポイントは、このベースURLを基準としています。

https://www.stickermule.com/api

エンドポイント

再注文可能なアイテムを返します。各アイテムのIDは、注文作成時にitems[].idとして有効です。

GET /api/items
curl "https://www.stickermule.com/api/items?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

クエリパラメータ

パラメータ種類デフォルト説明
limitnumber20返すアイテムの数(1~50)。
offsetnumber0結果を返す前にスキップするアイテムの数。
currencystringUSD価格にはISO 4217通貨コードを使用。
localestringen製品名と価格に使用される地域設定。

応答

結果は、limitとoffsetに基づいてページ分割され、canLoadMoreは、利用可能なアイテムがさらにある場合にtrueになります。ページ分割はoffsetに基づいて行われるため、新しい注文が入るとページが移動することがあります。

フィールド種類説明
idstringアイテム識別子。注文を作成する際は、items[].id として使用すること。
namestring | nullアイテムに付けた、カスタマイズされた名称(もしあれば)。
productIdnumberステッカーミュール 製品識別子。
productNamestring | null製品名。製品が入手できない場合はnull。
quantitynumber元の注文の数量。
sizeRegularItemDimensions | TShirtDimensions | HoodieDimensions商品のサイズ。Tシャツおよびヘビーウェイト Tシャツの場合は、__typename TShirtDimensionsを持つアパレルサイズオブジェクトとサイズ。パーカーの場合は、__typename HoodieDimensions とサイズ。その他のすべての製品については、__typename RegularItemDimensionsを持つインチ単位の実寸と幅および高さ。
isSizeRequiredboolean製品(Tシャツ、ヘビーウェイト Tシャツ、パーカー)の再注文にサイズが必要な場合はtrue。それ以外はfalse。
buyingOptionsobject | null再注文数量は、最小値、最大値、増分値として指定できます。商品が入手できない場合はnullとします。
retailPricenumber | null最低数量での価格、または価格情報が入手できない場合はnull。
artworkUrlsstring[]当該アイテムに承認されたアートワークのURL。
応答例
{
  "items": [
    {
      "id": "456",
      "name": "Logo stickers",
      "productId": 12,
      "productName": "Die cut stickers",
      "quantity": 50,
      "size": { "__typename": "RegularItemDimensions", "width": 3, "height": 3 },
      "isSizeRequired": false,
      "buyingOptions": {
        "quantity": { "min": 50, "max": 5000, "increment": 5 }
      },
      "retailPrice": 79,
      "artworkUrls": ["https://cdn.stickermule.com/artwork.png"]
    },
    {
      "id": "789",
      "name": "Team t-shirt",
      "productId": 34,
      "productName": "Custom t-shirts",
      "quantity": 25,
      "size": { "__typename": "TShirtDimensions", "size": "sizeL" },
      "isSizeRequired": true,
      "buyingOptions": {
        "quantity": { "min": 1, "max": 500, "increment": 1 }
      },
      "retailPrice": 18,
      "artworkUrls": ["https://cdn.stickermule.com/shirt.png"]
    },
    {
      "id": "812",
      "name": "Team hoodie",
      "productId": 56,
      "productName": "Custom hoodies",
      "quantity": 10,
      "size": { "__typename": "HoodieDimensions", "size": "sizeM" },
      "isSizeRequired": true,
      "buyingOptions": {
        "quantity": { "min": 1, "max": 500, "increment": 1 }
      },
      "retailPrice": 32,
      "artworkUrls": ["https://cdn.stickermule.com/hoodie.png"]
    }
  ],
  "canLoadMore": true
}

保存済みの配送先住所を返します(デフォルトが優先されます)。各IDは、注文作成時のaddressIdとして有効です。

GET /api/addresses
curl https://www.stickermule.com/api/addresses \
  -H "Authorization: Bearer YOUR_API_KEY"

応答

フィールド種類説明
idstring住所識別子。注文作成時にaddressIdとして使用してください。
namestring | null受取人の氏名(フルネーム)。
firstNamestring | null受取人の名前(ファーストネーム)。
lastNamestring | null受取人の姓。
companyNamestring | null会社名(該当する場合)。
addressLine1string番地と街路名。
addressLine2string | null追加の住所欄(該当する場合)。
cityNamestring市。
stateNamestring | null該当する場合、州または県の名称。
stateAbbreviationstring | null州または県の略称(該当する場合)。
zipCodestring郵便番号。
countryIsostringISO 3166国コード(例えば、US)。
countryNamestring国名。
phonestring | null連絡先電話番号(もしあれば)。
isDefaultbooleanデフォルトの配送先住所については、この通りです。
応答例
{
  "addresses": [
    {
      "id": "22",
      "name": "Jane Doe",
      "firstName": "Jane",
      "lastName": "Doe",
      "companyName": null,
      "addressLine1": "123 Main St",
      "addressLine2": null,
      "cityName": "Amsterdam",
      "stateName": null,
      "stateAbbreviation": null,
      "zipCode": "1000AA",
      "countryIso": "NL",
      "countryName": "Netherlands",
      "phone": "+31612345678",
      "isDefault": true
    }
  ]
}

保存済みの支払い方法を返します。デフォルトを優先します。各IDは、注文作成時のpaymentIdとして有効です。

GET /api/payments
curl https://www.stickermule.com/api/payments \
  -H "Authorization: Bearer YOUR_API_KEY"

応答

フィールド種類説明
idstring支払い方法識別子。注文作成時にpaymentIdとして使用してください。
ccTypestringVisaやMastercardなどのカードブランド。
lastDigitsstringカード番号の下4桁。
expirationobjectカードの有効期限(月と年)。
isDefaultbooleanデフォルトの支払い方法については、trueです。
応答例
{
  "payments": [
    {
      "id": "7",
      "ccType": "visa",
      "lastDigits": "1007",
      "expiration": { "month": 7, "year": 2028 },
      "isDefault": true
    }
  ]
}

ご注文を最新のものから順に一覧表示します。各注文の番号は、POST /api/ordersで返される番号と一致します。

GET /api/orders
curl "https://www.stickermule.com/api/orders?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

クエリパラメータ

パラメータ種類デフォルト説明
limitnumber10返す注文数(1~50)。
offsetnumber0結果を返す前に抜かす注文数。

応答

検索結果はlimitとoffsetに基づいてページ分割され、canLoadMoreは注文がさらにある場合にtrueになります。ページングはoffsetに基づいて行われるため、新しい注文が入るとページがずれることがあります。

フィールド種類説明
numberstring注文番号。POST /api/orders で返される値と同じです。
state"complete" | "canceled" | "gift_unclaimed" | "ready_for_production" | "in_production" | "ready_to_proof" | "awaiting_scheduled_date"注文状況。
paymentState"paid" | "credit_owed" | "balance_due" | "failed" | "checkout" | "completed" | "pending" | "processing" | "void" | null注文の支払い状況、またはnull。
shipmentState"backorder" | "canceled" | "partial" | "pending" | "ready" | "shipped" | "returned_for_reship" | "reship" | "delivered"注文の出荷状況。デフォルトは「保留中」です。
placedAtstring注文が行われた時点、ISO 8601タイムスタンプとして。
currencystring注文で請求に使われたISO 4217通貨。
itemTotalnumber送料、税金、割引適用前のアイテム小計。
totalnumber送料と税金を含めた合計金額から割引額を差し引いた請求額です。
expectedDeliveryDatestring | nullISO 8601タイムスタンプとしての推定配送日、またはnull。
deliveredAtstring | null注文が配達された時点、ISO 8601タイムスタンプとして、またはnull。
応答例
{
  "orders": [
    {
      "number": "R286234605",
      "state": "complete",
      "paymentState": "paid",
      "shipmentState": "shipped",
      "placedAt": "2026-07-20T14:03:00.000Z",
      "currency": "USD",
      "itemTotal": 79,
      "total": 88.5,
      "expectedDeliveryDate": "2026-07-27T00:00:00.000Z",
      "deliveredAt": null
    }
  ],
  "canLoadMore": true
}

保存済みアイテムを1点以上注文し、保存済み住所に配送してもらい、保存済みの支払い方法で請求します。

POST /api/orders
curl -X POST https://www.stickermule.com/api/orders \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [{ "id": "456", "quantity": 50 }],
    "addressId": "22",
    "paymentId": "7"
  }'

リクエスト本文

フィールド種類必須説明
itemsarrayはい注文するアイテム。最低1点以上含める必要があります。
items[].idstringはいGET /api/items からのアイテムID。
items[].quantitynumberはい当該アイテムの注文数量。
items[].sizeTShirtSize | HoodieSize | nullいいえアパレルのサイズは、アパレル(Tシャツ、ヘビーウェイト Tシャツ、パーカー)をご注文の際に必須です。製品に合った下記のサイズをお選びください。その他の製品については入力不要です。
addressIdstringはいGET /api/addresses からの住所ID。
paymentIdstringはいGET /api/payments から取得した支払い方法 ID。

1回の注文には最大50個のアイテムを含めることができます。各数量は、GET /api/itemsからの製品の最小、最大、および増分値を遵守する必要があります。

アパレルのサイズ

有効なサイズは、製品のカットによって異なります:

  • Tシャツおよびヘビーウェイト Tシャツ(TShirtSize): "sizeYS" | "sizeYM" | "sizeYL" | "sizeS" | "sizeM" | "sizeL" | "sizeXL" | "size2XL" | "size3XL" | "size4XL" | "size5XL" | "size6XL" | "size7XL"
  • パーカー(HoodieSize): "sizeS" | "sizeM" | "sizeL" | "sizeXL" | "size2XL"

応答

応答例
{
  "order": { "number": "R286234605" }
}

エラー

エラーの場合は、該当するHTTPステータスと、タイプおよびメッセージを含むJSONボディが返されます。

応答例
{
  "type": "UserInputError",
  "message": "items is required and must be a non-empty array"
}
ステータス種類意味
400UserInputErrorリクエストが無効です。例えば、入力すべきフィールドが欠落しているか、IDが不明です。
401UnauthorizedError許可(Authorization)ヘッダーがないか、形式が正しくありません。
403ForbiddenErrorAPIキーが無効です。
500当方に何らかの問題が発生しました。後ほど再度お試しください。

どのように組み合わさるか

  • 注文できるのは、過去に注文したアイテムのみです。オリジナルアイテム、梱包用テープ、ビニールレタリングはAPI経由では注文できません。
  • まず、アイテム、住所、支払い方法を読み込み、それらのIDをPOST /api/ordersにパスします。
  • GET /api/ordersは、注文を最新のものから順に表示します。各注文の番号は、POST /api/ordersが返す番号と一致します。
  • ほとんどの製品は、元の寸法(幅と高さ、単位はインチ)で再注文されます。アパレル(Tシャツ、ヘビーウェイト Tシャツ、パーカー)は、代わりにアパレルサイズが設定されます。GET /api/itemsを実行すると、isSizeRequiredがtrueのサイズが返され、items[].sizeをパスして注文します。有効なサイズは製品によって異なり、再注文時にサイズを変更できます。たとえば、サイズMのシャツをサイズLとして再注文できます。
  • GET /api/itemsとGET /api/ordersはlimitとoffsetによりページ分割されますが、住所と支払いのエンドポイントはこのようなページ分割は行われません。