Sticker Mule API
Die Sticker Mule API ermöglicht es Ihnen, Produkte nachzubestellen und Ihre gespeicherten Artikel, Adressen und Zahlungsmethoden über Ihren eigenen Code abzurufen. Es handelt sich um eine kleine REST-API, die mit einem persönlichen API-Schlüssel authentifiziert wird.
Schnellstart
1. Generieren Sie einen API-Schlüssel
Öffnen Sie Ihre Kontoeinstellungen und generieren Sie unter "Shop-Einstellungen" einen API-Schlüssel. Kopieren Sie ihn sofort, er wird nur einmal angezeigt.
Öffnen Sie die Kontoeinstellungen2. Rufen Sie die API auf.
Senden Sie Ihren Schlüssel als Bearer-Token. In diesem Beispiel wird eine Bestellung für einen gespeicherten Artikel aufgegeben:
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"
}'Authentifizierung
Jede Anfrage muss Ihren API-Schlüssel als Bearer-Token im Authorization-Header enthalten.
Authorization: Bearer YOUR_API_KEY- Die API ist nur für persönliche Konten, nicht für Teamkonten verfügbar.
- Jedes Konto hat einen Schlüssel. Die Generierung eines neuen Schlüssels ersetzt den alten.
- Behandeln Sie den Schlüssel wie ein Passwort. Damit können Bestellungen aufgegeben und Ihre gespeicherten Daten abgerufen werden.
Basis-URL
Alle Endpunkte sind relativ zu dieser Basis-URL.
https://www.stickermule.com/apiEndpunkte
Gibt die Artikel zurück, die Sie nachbestellen können. Die ID jedes Artikels ist beim Erstellen einer Bestellung als items[].id gültig.
GET /api/itemscurl "https://www.stickermule.com/api/items?limit=20" \ -H "Authorization: Bearer YOUR_API_KEY"Abfrageparameter
Parameter Typ Standard Beschreibung limitnumber20Anzahl der zurückzugebenden Artikel, von 1 bis 50. offsetnumber0Anzahl der Artikel, die vor der Ergebnisrückgabe übersprungen werden sollen. currencystringUSDFür die Preisangaben wird der ISO 4217 Währungscode verwendet. localestringenFür Produktnamen und Preise verwendetes Locale. Antwort
Die Ergebnisse werden mit limit und offset paginiert, und canLoadMore ist wahr, wenn weitere Artikel verfügbar sind. Da die Paginierung offsetbasiert ist, können sich die Seiten verschieben, wenn neue Bestellungen eingehen.
Feld Typ Beschreibung idstringArtikel-ID. Verwenden Sie diese als items[].id beim Erstellen einer Bestellung. namestring | nullBenutzerdefinierter Name, den Sie dem Artikel gegeben haben, falls vorhanden. productIdnumberSticker Mule Produkt-ID. productNamestring | nullProduktname oder null, falls das Produkt nicht mehr verfügbar ist. quantitynumberMenge aus der ursprünglichen Bestellung. sizeRegularItemDimensions | TShirtDimensions | HoodieDimensionsArtikelgröße. Für T-Shirts und Heavyweight T-Shirts, ein Objekt mit der Kleifergröße __typename TShirtDimensions und einer Größe. Für Hoodies, __typename HoodieDimensions und einer Größe. Für alle anderen Produkte, physische Abmessungen in Zoll __typename RegularItemDimensions und Breite und Höhe. isSizeRequiredbooleanWahr, wenn für die Nachbestellung des Produkts eine Kleidergröße benötigt wird (T-Shirts, Heavyweight T-Shirts und Hoodies). Andernfalls falsch. buyingOptionsobject | nullZulässige Nachbestellmengen als min, max und increment. null, falls das Produkt nicht verfügbar ist. retailPricenumber | nullPreis bei Mindestmenge oder null, falls kein Preis verfügbar ist. artworkUrlsstring[]URLs der genehmigten Grafiken für den Artikel. Beispielantwort{ "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 }Gibt Ihre gespeicherten Lieferadressen zurück, die Standardadresse an erster Stelle. Jede ID kann beim Erstellen einer Bestellung als addressId verwendet werden.
GET /api/addressescurl https://www.stickermule.com/api/addresses \ -H "Authorization: Bearer YOUR_API_KEY"Antwort
Feld Typ Beschreibung idstringAdress-ID. Verwenden Sie diese als addressId beim Erstellen einer Bestellung. namestring | nullVollständiger Name des Empfängers. firstNamestring | nullVorname des Empfängers. lastNamestring | nullNachname des Empfängers. companyNamestring | nullFirmenname, falls vorhanden. addressLine1stringStraßenadresse. addressLine2string | nullZusätzliche Adresszeile, falls vorhanden. cityNamestringOrt. stateNamestring | nullName des Bundeslandes oder der Provinz, falls vorhanden. stateAbbreviationstring | nullAbkürzung des Bundeslandes oder der Provinz, falls vorhanden. zipCodestringPostleitzahl. countryIsostringISO 3166 Ländercode, z. B. US. countryNamestringLandname. phonestring | nullKontakttelefonnummer, falls vorhanden. isDefaultbooleanWahr für Ihre Standard-Lieferadresse. Beispielantwort{ "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 } ] }Gibt Ihre gespeicherten Zahlungsmethoden zurück, die Standardmethode an erster Stelle. Jede ID kann beim Erstellen einer Bestellung als paymentId verwendet werden.
GET /api/paymentscurl https://www.stickermule.com/api/payments \ -H "Authorization: Bearer YOUR_API_KEY"Antwort
Feld Typ Beschreibung idstringZahlungsmethoden-ID. Verwenden Sie diese als paymentId beim Erstellen einer Bestellung. ccTypestringKartenmarke, wie beispielsweise Visa oder Mastercard. lastDigitsstringDie letzten vier Ziffern der Karte. expirationobjectAblaufdatum der Karte in Monat und Jahr. isDefaultbooleanWahr für Ihre Standard-Zahlungsmethode. Beispielantwort{ "payments": [ { "id": "7", "ccType": "visa", "lastDigits": "1007", "expiration": { "month": 7, "year": 2028 }, "isDefault": true } ] }Zeigt Ihre aufgegebenen Bestellungen an, beginnend mit der neuesten. Die Nummer jeder Bestellung entspricht der Nummer, die von POST /api/orders zurückgegeben wird.
GET /api/orderscurl "https://www.stickermule.com/api/orders?limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"Abfrageparameter
Parameter Typ Standard Beschreibung limitnumber10Anzahl der zurückzugebenden Bestellungen, von 1 bis 50. offsetnumber0Anzahl der Bestellungen, die vor der Ergebnisrückgabe übersprungen werden sollen. Antwort
Die Ergebnisse werden mit limit und offset paginiert, und canLoadMore ist wahr, wenn weitere Bestellungen verfügbar sind. Da die Paginierung offset-basiert ist, können sich die Seiten verschieben, wenn neue Bestellungen aufgegeben werden.
Feld Typ Beschreibung numberstringBestellnummer. Derselbe Wert, der von POST /api/orders zurückgegeben wird. state"complete" | "canceled" | "gift_unclaimed" | "ready_for_production" | "in_production" | "ready_to_proof" | "awaiting_scheduled_date"Status der Bestellung. paymentState"paid" | "credit_owed" | "balance_due" | "failed" | "checkout" | "completed" | "pending" | "processing" | "void" | nullDer Zahlungsstatus der Bestellung oder null. shipmentState"backorder" | "canceled" | "partial" | "pending" | "ready" | "shipped" | "returned_for_reship" | "reship" | "delivered"Versandstatus der Sendung. Standardmäßig "ausstehend". placedAtstringZeitpunkt der Bestellungserteilung, als ISO 8601 Zeitstempel. currencystringISO 4217 Währung, in der die Bestellung in Rechnung gestellt wurde. itemTotalnumberZwischensumme der Artikel vor Versandkosten, Steuern und Rabatten. totalnumberGesamtbetrag inklusive Versandkosten und Steuern, abzüglich Rabatte. expectedDeliveryDatestring | nullVoraussichtlicher Liefertermin als ISO 8601 Zeitstempel oder null. deliveredAtstring | nullZeitpunkt der Bestellungszustellung, als ISO 8601 Zeitstempel oder null. Beispielantwort{ "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 }Geben Sie eine Bestellung für einen oder mehrere gespeicherte Artikel auf, die an eine gespeicherte Adresse geliefert und über eine gespeicherte Zahlungsmethode abgerechnet werden.
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" }'Anfrage-Body
Feld Typ Erforderlich Beschreibung itemsarrayJa Zu bestellende Artikel. Es muss mindestens ein Artikel enthalten sein. items[].idstringJa Eine Artikel-ID von GET /api/items. items[].quantitynumberJa Bestellmenge für den Artikel. items[].sizeTShirtSize | HoodieSize | nullNein Kleidergröße, erforderlich bei der Bestellung von Bekleidung (T-Shirts, Heavyweight T-Shirts und Hoodies). Verwenden Sie die unten aufgeführten Werte, die zum Produkt passen. Bei anderen Produkten bitte weglassen. addressIdstringJa Eine Adress-ID von GET /api/addresses. paymentIdstringJa Eine Zahlungsmethoden-ID von GET /api/payments. Eine Bestellung kann bis zu 50 Artikel enthalten. Jede Menge muss den min, max und increment Werten des Produkts aus GET /api/items entsprechen.
Kleidergrößen
Welche Größen gültig sind, hängt vom Schnitt des Produkts ab:
- T-Shirts und Heavyweight T-Shirts (TShirtSize):
"sizeYS" | "sizeYM" | "sizeYL" | "sizeS" | "sizeM" | "sizeL" | "sizeXL" | "size2XL" | "size3XL" | "size4XL" | "size5XL" | "size6XL" | "size7XL" - Hoodies (HoodieSize):
"sizeS" | "sizeM" | "sizeL" | "sizeXL" | "size2XL"
Antwort
Beispielantwort{ "order": { "number": "R286234605" } }- T-Shirts und Heavyweight T-Shirts (TShirtSize):
Fehler
Bei Fehlern wird der entsprechende HTTP-Status und ein JSON-Body mit Typ und Nachricht zurückgegeben.
{
"type": "UserInputError",
"message": "items is required and must be a non-empty array"
}| Status | Typ | Bedeutung |
|---|---|---|
400 | UserInputError | Die Anfrage war ungültig, beispielsweise fehlte ein Feld oder die ID war unbekannt. |
401 | UnauthorizedError | Der Authorization-Header fehlt oder ist fehlerhaft. |
403 | ForbiddenError | Der API-Schlüssel ist ungültig. |
500 | — | Es ist ein Fehler auf unserer Seite aufgetreten. Bitte später erneut versuchen. |
Wie es zusammenpasst
- Sie können nur Artikel bestellen, die Sie bereits zuvor bestellt haben. Sonderanfertigungen, Verpackungsband und Klebebuchstaben sind über die API nicht verfügbar.
- Lesen Sie zuerst Ihre Artikel, Adressen und Zahlungsmethoden ein und übergeben Sie dann deren IDs an POST /api/orders.
- GET /api/orders zeigt Ihre aufgegebenen Bestellungen an, beginnend mit der neuesten. Die Nummer jeder Bestellung entspricht der Nummer, die von POST /api/orders zurückgegeben wird.
- Die meisten Produkte werden in ihren ursprünglichen Abmessungen (Breite und Höhe in Zoll) nachbestellt. Bekleidung (T-Shirts, Heavyweight T-Shirts und Hoodies) hat stattdessen eine Kleidergröße: GET /api/items gibt diese unter size mit isSizeRequired true zurück, und Sie übergeben items[].size, um sie zu bestellen. Die gültigen Größen hängen vom Produkt ab, und Sie können die Größe bei der Nachbestellung ändern, zum Beispiel ein sizeM T-Shirt in sizeL nachbestellen.
- GET /api/items und GET /api/orders sind paginiert mit limit und offset. Die Endpunkte für Adressen und Zahlungen hingegen nicht.