ステッカーミュールAPI
ステッカーミュールAPIを使えば、あなた専用のコードから製品の再注文や、保存済みの商品、住所、支払い方法の読み取りを行うことができます。これは、個人用APIキーで認証される小型のREST APIです。
クイックスタート
1. APIキーを生成する
アカウント設定を開き、「ストア設定」でAPIキーを生成してください。キーは一度しか表示されませんので、すぐコピーしてください。
アカウント設定を開く2. APIを呼び出す
キーをベアラートークンとして送信してください。この例では、保存済みのアイテムを注文します。
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/itemscurl "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/addressescurl 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/paymentscurl 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/orderscurl "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/orderscurl -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" } }- Tシャツおよびヘビーウェイト Tシャツ(TShirtSize):
エラー
エラーの場合は、該当するHTTPステータスと、タイプおよびメッセージを含むJSONボディが返されます。
{
"type": "UserInputError",
"message": "items is required and must be a non-empty array"
}| ステータス | 種類 | 意味 |
|---|---|---|
400 | UserInputError | リクエストが無効です。例えば、入力すべきフィールドが欠落しているか、IDが不明です。 |
401 | UnauthorizedError | 許可(Authorization)ヘッダーがないか、形式が正しくありません。 |
403 | ForbiddenError | APIキーが無効です。 |
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によりページ分割されますが、住所と支払いのエンドポイントはこのようなページ分割は行われません。