واجهة البائعين البرمجية

اربط نظام إدارة المخزون أو برنامج متجرك أو مورّد الدروبشيبينغ مباشرةً بمتجرك على ⁦eveyamin⁩: أنشئ المنتجات وحدّثها، وزامن المخزون خلال ثوانٍ، واجلب الطلبات المدفوعة، وأبلغ عن الشحنات.

البدء

واجهة البائعين البرمجية هي واجهة REST تعمل بصيغة JSON على العنوان https://eveyamin.com/api/v1. أسماء الحقول وقيمها باللغة الألمانية – الفئات والألوان والمقاسات والحالات تمامًا كما هي محفوظة في المتجر. يبني الربطَ مطوّرك أو وكالتك أو خدمة وسيطة (middleware)؛ ولا توجد إضافات جاهزة لأنظمة مخزون بعينها.

إنشاء مفتاح

  1. من الإعدادات ← الوصول عبر API أنشئ مفتاحًا واختر فقط الصلاحيات التي يحتاجها الربط.
  2. انسخ المفتاح فورًا واحفظه في مكان آمن – فهو يُعرض هذه المرة فقط.
  3. أرسله مع كل طلب في الترويسة Authorization: Bearer <المفتاح>.
الصلاحيةتسمح بـ
produkte:schreibenإنشاء المنتجات وتعديلها وقراءتها وأرشفتها
bestand:schreibenقراءة المخزون وتعيينه
bestellungen:lesenجلب الطلبات وتأكيد استلامها (بمجرد افتتاح متجرك)
bestellungen:versendenالإبلاغ عن الشحنات برقم التتبع
مكان المفاتيح هو الخادم، وليس صفحة ويب أو تطبيقًا أبدًا. يمكنك امتلاك ما يصل إلى 10 مفاتيح – استخدم مفتاحًا لكل ربط، حتى تتمكن من إلغاء أحدها وحده. ألغِ المفتاح فورًا إذا احتمل أن يكون قد وقع في الأيدي الخطأ.

أول استدعاء

الطلب
curl https://eveyamin.com/api/v1/ping \
  -H "Authorization: Bearer evy_live_…"
الرد
{
  "ok": true,
  "umgebung": "live",
  "haendler_id": "5a03da19-…",
  "schluessel": {
    "name": "Warenwirtschaft",
    "praefix": "evy_live_Ab3x",
    "berechtigungen": ["bestand:schreiben", "bestellungen:lesen"]
  }
}

المتجر الفعلي والاختبار

تبدأ المفاتيح بـ evy_live_ (المتجر) أو evy_test_ (بيئة الاختبار) ولا تعمل إلا حيث أُنشئت. والمفتاح القادم من البيئة الأخرى يحصل على 401 keyWrongEnvironment.

القيم الألمانية

تأتي الفئات بمسارها الكامل (eve-Home > Bettwäsche > Bettwäsche-Sets)، والألوان والمقاسات تمامًا كما في المتجر. يُرجع GET /api/v1/taxonomy كل فئة مع مقاساتها وكل لون. تصحّح الواجهة الفروق الصغيرة بنفسها (weiss ← Weiß، 200x200 ← 200 x 200 cm) وتذكرها كملاحظات. اربط الأسماء الخاصة بنظام مخزونك مرة واحدة في استيراد CSV؛ وتسري هذه المطابقة على الواجهة البرمجية أيضًا.

الحدود

البندالحد
طلبات API لكل مفتاح120 في الدقيقة، ثم 429 مع Retry-After
حجم الطلب1024 KB
أسطر لكل استدعاء مخزون500
متغيرات لكل منتج500
صور لكل منتج20
منتجات في الصفحة الواحدة100
طلبات في الصفحة الواحدة100

كل رد بصيغة JSON ولا يُخزَّن مؤقتًا أبدًا. والاستدعاءات من المتصفح (CORS) غير مسموح بها.

المنتجات

يتكون المنتج من بياناته ومن متغيراته (اللون × المقاس). القواعد هي قواعد نموذج المنتج واستيراد CSV: ما يرفضانه ترفضه الواجهة البرمجية أيضًا – وبالرموز نفسها. وأسماء الحقول هي أسماء أعمدة قالب CSV.

POST /api/v1/products
{
  "uebergeordnete_sku": "BW-SATIN-01",
  "titel": "Satin-Bettwäsche Uni",
  "beschreibung": "Bettwäsche aus 100 % Baumwollsatin, mit Reißverschluss.",
  "kategorie": "eve-Home > Bettwäsche > Bettwäsche-Sets",
  "rabattpreis": 44.90,
  "varianten": [
    {
      "farbe": "Weiß",
      "groesse": "135 x 200 cm",
      "preis": 49.90,
      "lagerbestand": 12,
      "sku": "BW-SATIN-01-W-135",
      "ean": "4006381333931",
      "bild_urls": ["https://bilder.example-shop.de/bw-satin-weiss.jpg"]
    },
    {
      "farbe": "Weiß",
      "groesse": "155 x 220 cm",
      "preis": "59,90",
      "lagerbestand": 5,
      "sku": "BW-SATIN-01-W-155"
    }
  ]
}
  • uebergeordnete_sku (Übergeordnete SKU، أي رمز SKU الرئيسي) هو مفتاحك للمنتج، وهو فريد في متجرك. وبه تصل إلى المنتج لاحقًا: /products/BW-SATIN-01.
  • kategorie هو المسار الكامل؛ ويجب أن ينتمي كل groesse إلى الفئة.
  • preis لكل متغير. يمكن أن تختلف الأسعار حسب المقاس فقط، لا حسب اللون؛ وأدناها هو السعر الأساسي. rabattpreis (سعر التخفيض) يسري على المنتج كله؛ وبدونه لا يوجد تخفيض.
  • يمكن أن تأتي الأرقام نصًا أيضًا، بالصيغة الألمانية أو الإنجليزية ("59,90").
  • sku وean لكل متغير اختياريان. إذا حذفت الحقل يبقى الرمز المحفوظ؛ وnull يمسحه. ويحتاج EAN إلى رقم تحقق صحيح.
  • bild_urls: عناوين https. تُنزَّل الصور وتُحفظ لدينا؛ ويمكن وضع معرض الصور في المتغير الأول وحده.
  • versandkosten (تكاليف الشحن) اختياري: بدونه يحصل المنتج الجديد على قيمتك الافتراضية، ويحتفظ المنتج الموجود بقيمته.

الإنشاء والاستبدال والقراءة

الاستدعاءالأثر
POST /productsينشئ المنتج: 201. إذا كان Übergeordnete SKU موجودًا بالفعل: 409 productExists مع المنتج الموجود.
PUT /products/{id}يستبدل المنتج كله؛ وتُؤرشف المتغيرات غير المرسلة. إذا لم يكن {id} موجودًا بعد وكان المحتوى يذكر {id} قيمةً لـ uebergeordnete_sku يُنشأ المنتج (upsert)؛ وإلا 404.
GET /products/{id}المنتج بالصيغة نفسها التي يقبلها PUT تمامًا، مع حقول للقراءة فقط (id، artikelnummer، status، geaendert_am، variant_id). ويمكنك إرساله كما هو.
GET /productsكل منتجاتك، الأقدم تعديلًا أولًا، بما فيها المؤرشفة – ومع geaendert_seit فقط ما تغيّر منذ ذلك الحين.
DELETE /products/{id}يؤرشف المنتج؛ والاستدعاء الثاني لا يغيّر شيئًا.

يمكن أن يكون {id} معرّف المنتج في ⁦eveyamin⁩، أو Übergeordnete SKU الخاص بك، أو رقم المنتج في ⁦eveyamin⁩ (artikelnummer). المنتج المُنشأ في النموذج يحصل على Übergeordnete SKU مرة واحدة عبر PUT /products/{artikelnummer} مع uebergeordnete_sku في المحتوى؛ أما Übergeordnete SKU الموجود فيُغيَّر في نموذج المنتج فقط.

النتيجة

قيمة ergebnis هي angelegt (أُنشئ) أو aktualisiert (حُدِّث) أو unveraendert (بلا تغيير). إذا لم يتغير شيء فلا يُكتب شيء ولا يُترجم شيء من جديد – لذا لا تكلّف مزامنة كل المنتجات بالكامل شيئًا تقريبًا. وتذكر hinweise (الملاحظات) الكتابات المصحّحة والصور التي تعذّر تحميلها. تُترجم المنتجات الجديدة أولًا (الحالة «Wird übersetzt») ثم تُنشر.

الصور

  • تُنزَّل الصور أثناء الاستدعاء. إذا استغرق ذلك وقتًا طويلًا ترد الواجهة بـ 202 مع مهمة (Location: /api/v1/jobs/{id}). استعلم عن المهمة حتى تصبح fertig (منتهية)؛ ولا يُحفظ المنتج إلا بعد وصول صوره.
  • يُنزَّل كل عنوان صورة مرة واحدة. لذا تحتاج الصورة المعدّلة إلى عنوان جديد، مثلًا مع ?v=2.
  • إذا وصل طلب أحدث للمنتج نفسه تصبح المهمة المفتوحة ersetzt (مستبدَلة).

المخزون في استدعاء المنتج

بالنسبة إلى المتغيرات المعروضة للبيع بالفعل، لا يغيّر استدعاء المنتج المخزون – فهذه مهمة استدعاء المخزون. وتعود قيمة lagerbestand المختلفة كملاحظة stockIgnored. أما المنتجات الجديدة والمتغيرات الجديدة فتأخذ المخزون المرسل.

المؤرشفة والمحظورة والمبيعة بالمتر

استعد المنتجات المؤرشفة من لوحة التحكم؛ ويرد كلٌّ من PUT وPOST بـ 409 productArchived. المنتجات المحظورة: 409 productBlocked. والمنتجات المبيعة بالمتر (الأقمشة) ليست في الواجهة البرمجية بعد: 409 productMeterware.

مزامنة المخزون

يغيّر استدعاء المخزون المخزونَ فقط، ولا يغيّر المنتج أبدًا. وبه يُبقي نظام مخزونك مخزونَ eveyamin محدَّثًا، فلا يُباع شيء مرتين عندما تبيع عبر عدة قنوات.

PATCH /api/v1/stock
{
  "positionen": [
    { "sku": "BW-SATIN-01-W-135", "lagerbestand": 11, "stand": "2026-10-09T14:05:00+02:00" },
    { "produkt": "BW-SATIN-01", "farbe": "Weiß", "groesse": "155 x 220 cm", "lagerbestand": 0 }
  ]
}
  • يحدد السطر متغيرًا عبر sku، أو عبر produkt + farbe + groesse. حتى 500 سطر لكل استدعاء، عبر كل المنتجات.
  • lagerbestand هو مخزونك. ويُحفظ مطروحًا منه عدد القطع في طلبات eveyamin المفتوحة التي لم يؤكد نظامك استلامها بعد – فجردك لا يمكن أن يعلم بها.
  • أرسل stand، أي وقت جردك. والسطر الذي يحمل stand أقدم من آخر ما اعتُمد يُتجاهل (veraltet، قديم).
  • لكل سطر نتيجته الخاصة: ok أو unveraendert أو veraltet أو fehler. والسطر الفاشل لا يعطّل بقية الأسطر.
  • عند 503 busy لم يُحفظ شيء؛ كرر الطلب بعد Retry-After ثانية.

طريقة العمل

  1. اجلب GET /stock مرة واحدة صفحةً صفحة، واربط أصنافك بالمتغيرات، ويُفضَّل عبر sku.
  2. عند كل تغيّر في المخزون، أو مثلًا كل خمس دقائق، أرسل PATCH /stock بالأسطر المتغيرة وstand.
  3. اجلب الطلبات الجديدة وأكّد استلامها – فعندها فقط تتوقف عن احتسابها مفتوحة.

الطلبات والدروبشيبينغ

تجلب الطلبات المدفوعة التي تتضمن بنودك، وتؤكد استلامها، وتبلغ عن الشحنة. ولا تظهر لك بنود البائعين الآخرين في الطلب نفسه.

  1. GET /orders/new – الطلبات المدفوعة التي لم يؤكد نظامك استلامها بعد، الأقدم أولًا. يبقى الطلب هناك حتى تؤكد استلامه؛ وإذا ضاع رد ما، يأتي الطلب مجددًا في الاستدعاء التالي.
  2. POST /orders/{id}/acknowledge – استلمه نظامك. وحتى 100 دفعة واحدة عبر POST /orders/acknowledge.
  3. POST /orders/{id}/fulfill مع شركة الشحن ورقم التتبع – تصبح البنود «Versendet» (تم الشحن)، ويتلقى المشتري رسالة بريد إلكتروني فيها رابط التتبع.
  4. GET /orders?geaendert_seit=… – الإلغاءات والمبالغ المستردة التي تحدث لاحقًا. احفظ آخر geaendert_am واسأل مجددًا مع شيء من التداخل.
POST /api/v1/orders/1042/fulfill
{
  "versanddienstleister": "DHL",
  "sendungsnummer": "00340434161234567890"
}
  • {id} هو معرّف الطلب في eveyamin أو رقم الطلب (bestellnummer).
  • شركات الشحن: DHL أو DPD أو Hermes أو GLS أو UPS أو Deutsche Post أو Sonstige (أخرى – وعندها مع tracking_url خاص بك).
  • عدة طرود: استدعاء واحد لكل رقم تتبع، مع positionen الخاصة بالطرد. وإرسال رقم التتبع نفسه مجددًا لا يغيّر شيئًا ولا يرسل بريدًا ثانيًا.
  • يتضمن عنوان التسليم الاسم والعنوان والهاتف، لكن من دون بريد إلكتروني: ⁦eveyamin⁩ هي من تتواصل مع المشتري.
الدروبشيبينغ: أعطِ مورّدك مفتاحًا خاصًا به لا يحمل إلا bestellungen:lesen وbestellungen:versenden. عندها لا يرى المنتجات ولا المخزون. وتبقى أنت مسؤولًا عنه، بما في ذلك طريقة تعامله مع بيانات المشترين – راجع الشروط والأحكام وسياسة الخصوصية.

بيئة الاختبار

للتطوير توجد بيئة اختبار على ⁦https://staging--eveyamin.netlify.app⁩. لها بياناتها ومفاتيحها الخاصة (evy_test_…)، ولا ترسل أي بريد إلى المشترين.

  1. سجّل في ⁦https://staging--eveyamin.netlify.app⁩ واكتب إلى info@eveyamin.com – وسنجهّز حسابك كمتجر اختبار.
  2. أنشئ هناك مفتاح اختبار من الإعدادات ← الوصول عبر API.
  3. أنشئ منتجات عبر الواجهة البرمجية وقدّم طلبات اختبار.
طلب اختبار
curl -X POST https://staging--eveyamin.netlify.app/api/v1/sandbox/orders \
  -H "Authorization: Bearer evy_test_…"

ينشئ POST /sandbox/orders طلبًا مدفوعًا لأحد متغيراتك – من دون محتوى لأول متغير متوفر في المخزون، أو تحديدًا مع {"positionen": [{"sku": "…", "menge": 2}]}. المشتري هو الشخصية الوهمية Erika Mustermann. ويمرّ الطلب بكل ما يمرّ به الطلب الحقيقي: /orders/new، وتأكيد الاستلام، والإبلاغ عن الشحنة. بحد أقصى 30 في الساعة. والزر نفسه موجود في بيئة الاختبار ضمن «الوصول عبر API»؛ أما المتجر الفعلي فلا يوجد فيه هذا الاستدعاء.

بيئة الاختبار ليست أرشيفًا: يمكن إعادة تعيين بياناتها في أي وقت.

الأخطاء

للأخطاء دائمًا الشكل نفسه:

{
  "fehler": [
    {
      "code": "colorUnknown",
      "feld": "varianten[1].farbe",
      "nachricht": "Unbekannte Farbe „Weis“. Meintest du „Weiß“?"
    }
  ]
}

اعتمد على code: فهو ثابت وبالإنجليزية. أما nachricht (الرسالة) فبالألمانية وقد تتغير؛ وfeld (الحقل) هو مسار JSON للحقل المعني، أو null.

الحالةالمعنى
200 / 201تم؛ و201 لمنتج أُنشئ حديثًا أو لطلب اختبار
202مقبول، والصور ما زالت قيد التحميل (مهمة)
400ليس JSON صالحًا، أو معاملات غير صالحة
401لا يوجد مفتاح، أو المفتاح غير صالح أو ملغى
403صلاحية ناقصة، أو المتجر لم يُعتمد بعد
404غير موجود – أو ليس لك
409تعارض مع مفتاح أو حالة (مثلًا Übergeordnete SKU مستخدم بالفعل)
422محتوى غير صالح
429طلبات كثيرة جدًا
500 / 503خطأ لدينا أو عدم توفر مؤقت – أعد المحاولة لاحقًا

كل استدعاء

الرمزالحالةالمعنى
invalidJson400المحتوى ليس JSON صالحًا.
invalidQuery400seite أو pro_seite أو geaendert_seit غير صالح.
keyMissing401لا يوجد مفتاح في الترويسة Authorization: Bearer ….
keyInvalid401مفتاح غير معروف أو ملغى، أو أن الحساب غير نشط.
keyWrongEnvironment401مفتاح اختبار في المتجر الفعلي، أو العكس.
scopeMissing403ينقص المفتاحَ الصلاحيةُ التي يحتاجها هذا الاستدعاء.
registrationNotApproved403لم يُعتمد تسجيل المتجر بعد (الطلبات: المتجر لم يُفتح بعد).
apiNotEnabled403لم تُفعَّل الواجهة البرمجية لمتجرك بعد.
notFound404مسار غير معروف.
bodyTooLarge413حجم الطلب كبير جدًا.
rateLimited429طلبات كثيرة جدًا؛ انتظر عدد الثواني الذي يذكره Retry-After.
internal500خطأ غير متوقع لدينا؛ أعد المحاولة لاحقًا.
unavailable503الخدمة غير متاحة مؤقتًا؛ أعد المحاولة بعد Retry-After.

المنتجات

الرمزالحالةالمعنى
productNotFound404لا يوجد لديك منتج كهذا.
jobNotFound404لا توجد لديك مهمة كهذه.
productExists409Übergeordnete SKU موجود بالفعل؛ ويذكر الرد المنتج. استخدم PUT.
productArchived409المنتج مؤرشف؛ استعده من لوحة التحكم.
productBlocked409المنتج محظور ولا يمكن تغييره.
productMeterware409المنتجات التي تُباع بالمتر غير متاحة في الواجهة البرمجية بعد.
parentSkuDuplicate409أنت تستخدم Übergeordnete SKU هذا بالفعل.
imagesFailed422تعذّر تحميل أيٍّ من صور المنتج.
writeFailed500تعذّر حفظ المنتج؛ أعد المحاولة لاحقًا.
tooManyVariants422متغيرات أكثر من المسموح به.
invalidValue422إحدى القيم بصيغة خاطئة.

المخزون

الرمزالحالةالمعنى
invalidBody422المتوقَّع { "positionen": [ … ] } (أو صيغة الاستدعاء).
noLines422positionen فارغ.
tooManyLines422أسطر كثيرة جدًا؛ وزّعها على عدة طلبات.
busy503يجري تغيير المخزون في مكان آخر؛ لم يُحفظ شيء، أعد المحاولة.
invalidLineفي السطرالسطر ليس كائنًا.
identifierMissingفي السطرلا يوجد sku ولا produkt + farbe + groesse.
stockInvalidفي السطرlagerbestand ليس عددًا صحيحًا مسموحًا به.
standInvalidفي السطرstand ليس وقتًا بصيغة ISO 8601 مع منطقة زمنية.
standInFutureفي السطرstand يقع في المستقبل.
variantNotFoundفي السطرلا يوجد متغير نشط مطابق.
keyMismatchفي السطرينتمي رمز SKU إلى تركيبة غير التي تدل عليها بقية قيم السطر.
duplicateLineفي السطرالمتغير نفسه موجود بالفعل في سطر سابق.

الطلبات والشحن

الرمزالحالةالمعنى
orderNotFound404لا يوجد طلب مدفوع كهذا يتضمن بنودًا لك.
noEntries422bestellungen فارغ.
tooManyEntries422عدد كبير جدًا من الطلبات في استدعاء واحد.
invalidEntryفي السطرليس معرّف طلب ولا رقم طلب.
orderNotShippable409يمكن شحن الطلبات المدفوعة فقط.
nothingToShip409لم يعد أيٌّ من بنودك في حالة «In Bearbeitung» (قيد التنفيذ).
invalidCarrier422شركة شحن غير معروفة.
invalidTrackingNumber422رقم التتبع: من 4 إلى 40 حرفًا من A–Z و0–9 و-.
invalidTrackingUrl422tracking_url ليس رابط https.
lineNotFound422لا يحمل أيٌّ من بنودك في هذا الطلب هذا المعرّف.
lineNotShippable422لم يعد البند في حالة «In Bearbeitung».
lineInOtherShipment422شُحن البند بالفعل برقم تتبع آخر.

بيئة الاختبار

الرمزالحالةالمعنى
noStock422لا يوجد متغير متوفر في المخزون لطلب الاختبار.
sandboxLimit429طلبات اختبار كثيرة جدًا خلال الساعة الماضية.

الملاحظات

الرمزالحالةالمعنى
stockIgnoredملاحظةلم يُعتمد مخزون متغير معروض للبيع؛ استخدم استدعاء المخزون لذلك.
valueMappedملاحظةأُخذت القيمة عبر مطابقتك.

فحوص المنتج

تُفحص المنتجات كما في استيراد CSV. تأتي هذه الرموز في fehler (409 عند تعارض المفاتيح، وإلا 422) أو كملاحظة. والرسائل نفسها بالألمانية؛ وهي هنا بالعربية:

الرمزالحالةالمعنى
required422«…» حقل إلزامي.
tooLong422«…» طويل جدًا (بحد أقصى … حرفًا).
tooShort422«…» قصير جدًا (على الأقل … أحرف).
numberInvalid422«…» ليس رقمًا صالحًا.
priceRange422«…» ليس بين … و….
stockInvalid422«…» ليس مخزونًا صالحًا (عدد صحيح من 0 إلى …).
categoryUnknown422فئة غير معروفة «…».
categoryIncomplete422الفئة «…» غير مكتملة – يُرجى تحديدها حتى أدنى مستوى.
categoryNotOffered422الفئة «…» لم تعد متاحة.
colorUnknown422لون غير معروف «…».
sizeUnknown422مقاس غير معروف «…».
sizeNotInCategory422المقاس «…» غير متاح في «…».
duplicateCombination422التركيبة … موجودة بالفعل في ⁦varianten[…]⁩.
priceVariesByColor422سعر … يختلف عن ⁦varianten[…]⁩. يمكن أن تختلف الأسعار حسب المقاس فقط، لا حسب اللون.
discountAboveBase422سعر الخصم (… €) أعلى من أدنى سعر (… €).
imageUrlInvalid422«…» ليس عنوان صورة صالحًا (https://…).
tooManyImages422… صورة – بحد أقصى … لكل منتج.
noImages422يُرجى إدخال عنوان صورة واحد على الأقل لكل منتج.
skuDuplicateInFile422رمز SKU «…» مستخدم بالفعل في ⁦varianten[…]⁩.
skuTaken409رمز SKU «…» يخص منتجًا آخر من منتجاتك.
eanInvalid422«…» ليس رمز EAN صالحًا (8 أو 12 أو 13 أو 14 رقمًا مع رقم تحقق صحيح).
ambiguousMatch409«…» يطابق أكثر من منتج موجود (رقم المنتج …).
parentSkuLocked409للمنتج … بالفعل Übergeordnete SKU «…». غيّر Übergeordnete SKU الموجود من نموذج المنتج.
parentSkuOfOther409«…» يخص بالفعل منتجك …، لكن eveyamin-Artikelnummer يخص …. يُرجى استخدام Übergeordnete SKU آخر.
categoryFixedملاحظةاعتُمدت الفئة بصيغة «…».
colorFixedملاحظةاعتُمد اللون «…» بصيغة «…».
sizeFixedملاحظةاعتُمد المقاس «…» بصيغة «…».
imageFailedملاحظةلم تُعتمد الصورة (…): …

المرجع

كل الاستدعاءات بمعاملاتها وحقولها، مولَّدة مباشرةً من الواجهة نفسها؛ والأوصاف بالألمانية مثل الواجهة البرمجية. ولأدوات Postman أو Insomnia أو مولّدات الشيفرة يوجد ملف OpenAPI.

Allgemein

Schlüssel prüfen und die deutschen Werte des Shops abrufen.

GET/api/v1/ping

Schlüssel prüfen

Antwortet mit dem Händler und den Berechtigungen des Schlüssels.

الصلاحية: أي مفتاح صالح

الردود

  • 200 Der Schlüssel gilt. – Ping
    الحقلالنوعإلزاميالوصف
    oktrueنعم
    umgebungstringنعمlive = Shop, test = Testumgebung.القيم: live, test
    haendler_idstringنعمDeine Händler-ID bei eveyamin.
    schluesselobjectنعم
    schluessel.namestringنعم
    schluessel.praefixstringنعمAnfang des Schlüssels, z. B. evy_live_Ab3x.
    schluessel.berechtigungenstring[]نعمالقيم: produkte:schreiben, bestand:schreiben, bestellungen:lesen, bestellungen:versenden
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
GET/api/v1/taxonomy

Kategorien, Größen und Farben

Die Werte, die Produkte und Bestand verwenden – zum Zuordnen der eigenen Werte. Dieselben Listen wie in der Import-Vorlage.

الصلاحية: أي مفتاح صالح

الردود

  • 200 Die aktuellen Listen. – Taxonomie
    الحقلالنوعإلزاميالوصف
    kategorienobject[]نعمJede Kategorie, unter der ein Produkt stehen kann.
    kategorien[].pfadstringنعمVollständiger Kategoriepfad, mit „ > “ getrennt, z. B. „eve-Home > Bettwäsche > Bettwäsche-Sets“.
    kategorien[].groessenstring[]نعمGrößen, die diese Kategorie anbietet.
    farbenstring[]نعمAlle Farben, z. B. „Weiß“ oder „Ohne Farbe“.
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.

Produkte

Produkte anlegen, ersetzen, lesen und archivieren (WP2).

POST/api/v1/products

Produkt anlegen

Ein Produkt mit allen Farbe-×-Größe-Kombinationen (varianten, höchstens 500), geprüft nach denselben Regeln wie der Katalog-Import und das Produktformular, mit denselben Fehlercodes. Den Bestand bestehender Kombinationen ändert nur PATCH /products/{id}/stock: ein abweichender lagerbestand bleibt unberücksichtigt (Hinweis stockIgnored); neue Produkte und neue Kombinationen übernehmen ihn. Fehlende Kombinationen werden archiviert. Fehlen sku oder ean bei einer Variante, bleiben die gespeicherten. Bilder werden zu eveyamin geladen; eine schon geladene Adresse wird nicht erneut geladen, ein geändertes Bild braucht also eine neue Adresse. Dauert das Laden zu lange, antwortet der Aufruf mit 202 und einem Auftrag (/jobs/{id}); das Produkt wird geschrieben, sobald die Bilder da sind. Ein unverändertes Produkt wird nicht geschrieben und nicht neu übersetzt (unveraendert). Neue und geänderte Titel und Beschreibungen werden übersetzt, bevor das Produkt sichtbar wird. uebergeordnete_sku ist hier Pflicht; gibt es sie schon: 409 productExists mit dem Produkt.

الصلاحية: produkte:schreiben

المحتوى – ProduktAnfrage
الحقلالنوعإلزاميالوصف
uebergeordnete_skustring | nullلاDeine Produktnummer, eindeutig in deinem Shop, max. 100 Zeichen. Pflicht beim Anlegen.
titelstringنعمMax. 100 Zeichen.
beschreibungstringنعم10 bis 10.000 Zeichen.
kategoriestringنعمVollständiger Pfad, z. B. „eve-Home > Bettwäsche > Bettwäsche-Sets“ (siehe /taxonomy).
rabattpreisnumber | string | nullلا
versandkostennumber | string | nullلا
variantenProduktVarianteEingabe[]نعم
varianten[].farbestringنعمFarbe wie im Shop, z. B. „Weiß“ (siehe /taxonomy).
varianten[].groessestringنعمGröße aus der Größenliste der Kategorie, z. B. „M“ oder „200 x 200 cm“.
varianten[].preisnumber | stringنعمPreis dieser Variante in EUR, brutto. Preise dürfen sich nur je Größe unterscheiden; der niedrigste ist der Grundpreis.
varianten[].lagerbestandnumber | stringنعمBestand, 0 bis 10.000. Gilt nur für neue Produkte und neue Kombinationen; den Bestand bestehender Kombinationen änderst du über /products/{id}/stock.
varianten[].skustring | nullلاDeine SKU dieser Kombination, eindeutig in deinem Shop, max. 64 Zeichen.
varianten[].eanstring | nullلاEAN / GTIN (8, 12, 13 oder 14 Ziffern mit Prüfziffer). Fehlt der Schlüssel, bleibt die gespeicherte EAN; null löscht sie.
varianten[].bild_urlsstring[]لاÖffentliche https-Bildadressen. Ein Bild nur bei Varianten bestimmter Farben gehört zu diesen Farben, eines bei allen Farben gilt für alle; stehen alle Bilder nur bei einer Farbe (z. B. nur bei der ersten Variante), gelten sie für alle. Bekannte Adressen werden nicht neu geladen – ein geändertes Bild braucht eine neue Adresse.

الردود

  • 201 Angelegt (Location: /api/v1/products/{id}). – ProduktErgebnis
    الحقلالنوعإلزاميالوصف
    ergebnisstringنعمunveraendert: Das Produkt war schon so; nichts wurde geschrieben oder neu übersetzt.القيم: angelegt, aktualisiert, unveraendert
    produktProduktنعم
    produkt.idstringنعمeveyamin-Produkt-ID.
    produkt.artikelnummerstringنعمeveyamin-Artikelnummer.
    produkt.uebergeordnete_skustring | nullنعم
    produkt.statusstringنعمNeue und geänderte Texte werden erst übersetzt; ohne eingerichteten Zahlungsanbieter bleibt das Produkt verborgen.القيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    produkt.titelstringنعم
    produkt.beschreibungstringنعم
    produkt.kategoriestringنعم
    produkt.rabattpreisnumber | nullنعم
    produkt.versandkostennumber | nullنعم
    produkt.geaendert_amstringنعمLetzte Änderung am Produkt, auch am Bestand. ISO 8601, UTC.
    produkt.variantenobject[]نعم
    produkt.varianten[].variant_idstringنعم
    produkt.varianten[].farbestringنعم
    produkt.varianten[].groessestringنعم
    produkt.varianten[].preisnumberنعم
    produkt.varianten[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    produkt.varianten[].skustring | nullنعم
    produkt.varianten[].eanstring | nullنعم
    produkt.varianten[].bild_urlsstring[]نعمDie Bilder dieser Farbe, bei eveyamin gespeichert.
    hinweiseobject[]نعمZ. B. korrigierte Schreibweisen, nicht geladene Bilder, ignorierter Bestand.
    hinweise[].codestringنعم
    hinweise[].feldstring | nullنعم
    hinweise[].nachrichtstringنعم
  • 202 Die Bilder werden noch geladen (Location: /api/v1/jobs/{id}). – ProduktInArbeit
    الحقلالنوعإلزاميالوصف
    ergebnis"in_arbeit"نعم
    auftragAuftragنعم
    auftrag.idstringنعم
    auftrag.statusstringنعمersetzt: Eine neuere Anfrage für dasselbe Produkt kam dazwischen; dieser Auftrag wird nicht mehr geschrieben.القيم: wartet, in_arbeit, fertig, fehlgeschlagen, ersetzt
    auftrag.aktionstringنعمالقيم: anlegen, aktualisieren
    auftrag.schluesselstringنعمÜbergeordnete SKU des Produkts, oder seine Artikelnummer, wenn es keine hat.
    auftrag.bilderobjectنعم
    auftrag.bilder.gesamtintegerنعم(-9007199254740991–9007199254740991)
    auftrag.bilder.geladenintegerنعم(-9007199254740991–9007199254740991)
    auftrag.bilder.fehlgeschlagenintegerنعم(-9007199254740991–9007199254740991)
    auftrag.produktobject | nullنعمSobald das Produkt geschrieben ist.
    auftrag.produkt.idstringنعم
    auftrag.produkt.artikelnummerstringنعم
    auftrag.produkt.uebergeordnete_skustring | nullنعم
    auftrag.produkt.statusstringنعمالقيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    auftrag.fehlerstring | nullنعمWarum der Auftrag fehlgeschlagen ist.
    auftrag.hinweiseobject[]نعم
    auftrag.hinweise[].codestringنعم
    auftrag.hinweise[].feldstring | nullنعم
    auftrag.hinweise[].nachrichtstringنعم
    auftrag.erstellt_amstringنعمEingang der Anfrage. ISO 8601, UTC.
    auftrag.abgeschlossen_amstring | nullنعم
    hinweiseobject[]نعم
    hinweise[].codestringنعم
    hinweise[].feldstring | nullنعم
    hinweise[].nachrichtstringنعم
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 409 Schlüssel- oder Zustandskonflikt: productExists, productArchived, productBlocked, productMeterware, skuTaken, parentSkuLocked, parentSkuOfOther, ambiguousMatch.
  • 422 Ungültige Angaben, mit den Codes des Katalog-Imports (z. B. required, colorUnknown, sizeNotInCategory, priceVariesByColor, noImages, eanInvalid) und dem JSON-Pfad in feld.
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
GET/api/v1/products

Produkte

Deine Produkte, älteste Änderung zuerst, auch archivierte (status Archiviert), damit dein System Löschungen sieht. Meterware fehlt. Mit geaendert_seit nur seither geänderte – auch Bestandsänderungen zählen.

الصلاحية: produkte:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
seite (query)integerلاSeite, ab 1.
pro_seite (query)integerلاProdukte pro Seite, höchstens 100.
geaendert_seit (query)string (date-time)لاNur Produkte, die danach geändert wurden (ISO 8601 mit Zeitzone).

الردود

  • 200 Eine Seite Produkte. – ProduktListe
    الحقلالنوعإلزاميالوصف
    seiteintegerنعم(-9007199254740991–9007199254740991)
    pro_seiteintegerنعم(-9007199254740991–9007199254740991)
    gesamtintegerنعمProdukte insgesamt (mit geaendert_seit: seither geänderte). (-9007199254740991–9007199254740991)
    produkteProdukt[]نعم
    produkte[].idstringنعمeveyamin-Produkt-ID.
    produkte[].artikelnummerstringنعمeveyamin-Artikelnummer.
    produkte[].uebergeordnete_skustring | nullنعم
    produkte[].statusstringنعمNeue und geänderte Texte werden erst übersetzt; ohne eingerichteten Zahlungsanbieter bleibt das Produkt verborgen.القيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    produkte[].titelstringنعم
    produkte[].beschreibungstringنعم
    produkte[].kategoriestringنعم
    produkte[].rabattpreisnumber | nullنعم
    produkte[].versandkostennumber | nullنعم
    produkte[].geaendert_amstringنعمLetzte Änderung am Produkt, auch am Bestand. ISO 8601, UTC.
    produkte[].variantenobject[]نعم
    produkte[].varianten[].variant_idstringنعم
    produkte[].varianten[].farbestringنعم
    produkte[].varianten[].groessestringنعم
    produkte[].varianten[].preisnumberنعم
    produkte[].varianten[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    produkte[].varianten[].skustring | nullنعم
    produkte[].varianten[].eanstring | nullنعم
    produkte[].varianten[].bild_urlsstring[]نعمDie Bilder dieser Farbe, bei eveyamin gespeichert.
  • 400 geaendert_seit, seite oder pro_seite ungültig (invalidQuery).
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
GET/api/v1/products/{id}

Ein Produkt

In der Form, die PUT annimmt: den Inhalt kannst du unverändert zurückschicken (dann: unveraendert).

الصلاحية: produkte:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Produkt-ID, Übergeordnete SKU oder Artikelnummer.

الردود

  • 200 Das Produkt. – Produkt
    الحقلالنوعإلزاميالوصف
    idstringنعمeveyamin-Produkt-ID.
    artikelnummerstringنعمeveyamin-Artikelnummer.
    uebergeordnete_skustring | nullنعم
    statusstringنعمNeue und geänderte Texte werden erst übersetzt; ohne eingerichteten Zahlungsanbieter bleibt das Produkt verborgen.القيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    titelstringنعم
    beschreibungstringنعم
    kategoriestringنعم
    rabattpreisnumber | nullنعم
    versandkostennumber | nullنعم
    geaendert_amstringنعمLetzte Änderung am Produkt, auch am Bestand. ISO 8601, UTC.
    variantenobject[]نعم
    varianten[].variant_idstringنعم
    varianten[].farbestringنعم
    varianten[].groessestringنعم
    varianten[].preisnumberنعم
    varianten[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    varianten[].skustring | nullنعم
    varianten[].eanstring | nullنعم
    varianten[].bild_urlsstring[]نعمDie Bilder dieser Farbe, bei eveyamin gespeichert.
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Kein solches Produkt von dir (productNotFound).
  • 409 Meterware wird über die API noch nicht unterstützt (productMeterware).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
PUT/api/v1/products/{id}

Produkt ersetzen

Ein Produkt mit allen Farbe-×-Größe-Kombinationen (varianten, höchstens 500), geprüft nach denselben Regeln wie der Katalog-Import und das Produktformular, mit denselben Fehlercodes. Den Bestand bestehender Kombinationen ändert nur PATCH /products/{id}/stock: ein abweichender lagerbestand bleibt unberücksichtigt (Hinweis stockIgnored); neue Produkte und neue Kombinationen übernehmen ihn. Fehlende Kombinationen werden archiviert. Fehlen sku oder ean bei einer Variante, bleiben die gespeicherten. Bilder werden zu eveyamin geladen; eine schon geladene Adresse wird nicht erneut geladen, ein geändertes Bild braucht also eine neue Adresse. Dauert das Laden zu lange, antwortet der Aufruf mit 202 und einem Auftrag (/jobs/{id}); das Produkt wird geschrieben, sobald die Bilder da sind. Ein unverändertes Produkt wird nicht geschrieben und nicht neu übersetzt (unveraendert). Neue und geänderte Titel und Beschreibungen werden übersetzt, bevor das Produkt sichtbar wird. Gibt es {id} noch nicht und ist es die uebergeordnete_sku des Inhalts, wird das Produkt angelegt. Ein Produkt ohne Übergeordnete SKU bekommt sie über seine Artikelnummer als {id}; eine vorhandene ändert nur das Produktformular.

الصلاحية: produkte:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Produkt-ID, Übergeordnete SKU oder Artikelnummer.
المحتوى – ProduktAnfrage
الحقلالنوعإلزاميالوصف
uebergeordnete_skustring | nullلاDeine Produktnummer, eindeutig in deinem Shop, max. 100 Zeichen. Pflicht beim Anlegen.
titelstringنعمMax. 100 Zeichen.
beschreibungstringنعم10 bis 10.000 Zeichen.
kategoriestringنعمVollständiger Pfad, z. B. „eve-Home > Bettwäsche > Bettwäsche-Sets“ (siehe /taxonomy).
rabattpreisnumber | string | nullلا
versandkostennumber | string | nullلا
variantenProduktVarianteEingabe[]نعم
varianten[].farbestringنعمFarbe wie im Shop, z. B. „Weiß“ (siehe /taxonomy).
varianten[].groessestringنعمGröße aus der Größenliste der Kategorie, z. B. „M“ oder „200 x 200 cm“.
varianten[].preisnumber | stringنعمPreis dieser Variante in EUR, brutto. Preise dürfen sich nur je Größe unterscheiden; der niedrigste ist der Grundpreis.
varianten[].lagerbestandnumber | stringنعمBestand, 0 bis 10.000. Gilt nur für neue Produkte und neue Kombinationen; den Bestand bestehender Kombinationen änderst du über /products/{id}/stock.
varianten[].skustring | nullلاDeine SKU dieser Kombination, eindeutig in deinem Shop, max. 64 Zeichen.
varianten[].eanstring | nullلاEAN / GTIN (8, 12, 13 oder 14 Ziffern mit Prüfziffer). Fehlt der Schlüssel, bleibt die gespeicherte EAN; null löscht sie.
varianten[].bild_urlsstring[]لاÖffentliche https-Bildadressen. Ein Bild nur bei Varianten bestimmter Farben gehört zu diesen Farben, eines bei allen Farben gilt für alle; stehen alle Bilder nur bei einer Farbe (z. B. nur bei der ersten Variante), gelten sie für alle. Bekannte Adressen werden nicht neu geladen – ein geändertes Bild braucht eine neue Adresse.

الردود

  • 200 Aktualisiert, oder unveraendert. – ProduktErgebnis
    الحقلالنوعإلزاميالوصف
    ergebnisstringنعمunveraendert: Das Produkt war schon so; nichts wurde geschrieben oder neu übersetzt.القيم: angelegt, aktualisiert, unveraendert
    produktProduktنعم
    produkt.idstringنعمeveyamin-Produkt-ID.
    produkt.artikelnummerstringنعمeveyamin-Artikelnummer.
    produkt.uebergeordnete_skustring | nullنعم
    produkt.statusstringنعمNeue und geänderte Texte werden erst übersetzt; ohne eingerichteten Zahlungsanbieter bleibt das Produkt verborgen.القيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    produkt.titelstringنعم
    produkt.beschreibungstringنعم
    produkt.kategoriestringنعم
    produkt.rabattpreisnumber | nullنعم
    produkt.versandkostennumber | nullنعم
    produkt.geaendert_amstringنعمLetzte Änderung am Produkt, auch am Bestand. ISO 8601, UTC.
    produkt.variantenobject[]نعم
    produkt.varianten[].variant_idstringنعم
    produkt.varianten[].farbestringنعم
    produkt.varianten[].groessestringنعم
    produkt.varianten[].preisnumberنعم
    produkt.varianten[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    produkt.varianten[].skustring | nullنعم
    produkt.varianten[].eanstring | nullنعم
    produkt.varianten[].bild_urlsstring[]نعمDie Bilder dieser Farbe, bei eveyamin gespeichert.
    hinweiseobject[]نعمZ. B. korrigierte Schreibweisen, nicht geladene Bilder, ignorierter Bestand.
    hinweise[].codestringنعم
    hinweise[].feldstring | nullنعم
    hinweise[].nachrichtstringنعم
  • 201 Angelegt. – ProduktErgebnis
    الحقلالنوعإلزاميالوصف
    ergebnisstringنعمunveraendert: Das Produkt war schon so; nichts wurde geschrieben oder neu übersetzt.القيم: angelegt, aktualisiert, unveraendert
    produktProduktنعم
    produkt.idstringنعمeveyamin-Produkt-ID.
    produkt.artikelnummerstringنعمeveyamin-Artikelnummer.
    produkt.uebergeordnete_skustring | nullنعم
    produkt.statusstringنعمNeue und geänderte Texte werden erst übersetzt; ohne eingerichteten Zahlungsanbieter bleibt das Produkt verborgen.القيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    produkt.titelstringنعم
    produkt.beschreibungstringنعم
    produkt.kategoriestringنعم
    produkt.rabattpreisnumber | nullنعم
    produkt.versandkostennumber | nullنعم
    produkt.geaendert_amstringنعمLetzte Änderung am Produkt, auch am Bestand. ISO 8601, UTC.
    produkt.variantenobject[]نعم
    produkt.varianten[].variant_idstringنعم
    produkt.varianten[].farbestringنعم
    produkt.varianten[].groessestringنعم
    produkt.varianten[].preisnumberنعم
    produkt.varianten[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    produkt.varianten[].skustring | nullنعم
    produkt.varianten[].eanstring | nullنعم
    produkt.varianten[].bild_urlsstring[]نعمDie Bilder dieser Farbe, bei eveyamin gespeichert.
    hinweiseobject[]نعمZ. B. korrigierte Schreibweisen, nicht geladene Bilder, ignorierter Bestand.
    hinweise[].codestringنعم
    hinweise[].feldstring | nullنعم
    hinweise[].nachrichtstringنعم
  • 202 Die Bilder werden noch geladen (Location: /api/v1/jobs/{id}). – ProduktInArbeit
    الحقلالنوعإلزاميالوصف
    ergebnis"in_arbeit"نعم
    auftragAuftragنعم
    auftrag.idstringنعم
    auftrag.statusstringنعمersetzt: Eine neuere Anfrage für dasselbe Produkt kam dazwischen; dieser Auftrag wird nicht mehr geschrieben.القيم: wartet, in_arbeit, fertig, fehlgeschlagen, ersetzt
    auftrag.aktionstringنعمالقيم: anlegen, aktualisieren
    auftrag.schluesselstringنعمÜbergeordnete SKU des Produkts, oder seine Artikelnummer, wenn es keine hat.
    auftrag.bilderobjectنعم
    auftrag.bilder.gesamtintegerنعم(-9007199254740991–9007199254740991)
    auftrag.bilder.geladenintegerنعم(-9007199254740991–9007199254740991)
    auftrag.bilder.fehlgeschlagenintegerنعم(-9007199254740991–9007199254740991)
    auftrag.produktobject | nullنعمSobald das Produkt geschrieben ist.
    auftrag.produkt.idstringنعم
    auftrag.produkt.artikelnummerstringنعم
    auftrag.produkt.uebergeordnete_skustring | nullنعم
    auftrag.produkt.statusstringنعمالقيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    auftrag.fehlerstring | nullنعمWarum der Auftrag fehlgeschlagen ist.
    auftrag.hinweiseobject[]نعم
    auftrag.hinweise[].codestringنعم
    auftrag.hinweise[].feldstring | nullنعم
    auftrag.hinweise[].nachrichtstringنعم
    auftrag.erstellt_amstringنعمEingang der Anfrage. ISO 8601, UTC.
    auftrag.abgeschlossen_amstring | nullنعم
    hinweiseobject[]نعم
    hinweise[].codestringنعم
    hinweise[].feldstring | nullنعم
    hinweise[].nachrichtstringنعم
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Kein solches Produkt von dir, und der Inhalt nennt {id} nicht als uebergeordnete_sku (productNotFound).
  • 409 Schlüssel- oder Zustandskonflikt: productExists, productArchived, productBlocked, productMeterware, skuTaken, parentSkuLocked, parentSkuOfOther, ambiguousMatch.
  • 422 Ungültige Angaben, mit den Codes des Katalog-Imports (z. B. required, colorUnknown, sizeNotInCategory, priceVariesByColor, noImages, eanInvalid) und dem JSON-Pfad in feld.
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
DELETE/api/v1/products/{id}

Produkt archivieren

Archiviert das Produkt; es wird nicht gelöscht und kann im Dashboard wiederhergestellt werden. Wiederholbar (bereits_archiviert).

الصلاحية: produkte:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Produkt-ID, Übergeordnete SKU oder Artikelnummer.

الردود

  • 200 Archiviert. – ProduktArchiviert
    الحقلالنوعإلزاميالوصف
    ergebnisstringنعمالقيم: archiviert, bereits_archiviert
    produktobjectنعم
    produkt.idstringنعم
    produkt.artikelnummerstringنعم
    produkt.uebergeordnete_skustring | nullنعم
    produkt.statusstringنعمالقيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Kein solches Produkt von dir (productNotFound).
  • 409 Das Produkt ist gesperrt (productBlocked).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
GET/api/v1/jobs/{id}

Auftrag

Stand eines Produktaufrufs, der mit 202 geantwortet hat: wartet, in_arbeit, fertig (mit dem Produkt), fehlgeschlagen (mit dem Grund) oder ersetzt (eine neuere Anfrage für dasselbe Produkt kam dazwischen).

الصلاحية: produkte:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمAuftrags-ID aus der 202-Antwort.

الردود

  • 200 Der Auftrag. – Auftrag
    الحقلالنوعإلزاميالوصف
    idstringنعم
    statusstringنعمersetzt: Eine neuere Anfrage für dasselbe Produkt kam dazwischen; dieser Auftrag wird nicht mehr geschrieben.القيم: wartet, in_arbeit, fertig, fehlgeschlagen, ersetzt
    aktionstringنعمالقيم: anlegen, aktualisieren
    schluesselstringنعمÜbergeordnete SKU des Produkts, oder seine Artikelnummer, wenn es keine hat.
    bilderobjectنعم
    bilder.gesamtintegerنعم(-9007199254740991–9007199254740991)
    bilder.geladenintegerنعم(-9007199254740991–9007199254740991)
    bilder.fehlgeschlagenintegerنعم(-9007199254740991–9007199254740991)
    produktobject | nullنعمSobald das Produkt geschrieben ist.
    produkt.idstringنعم
    produkt.artikelnummerstringنعم
    produkt.uebergeordnete_skustring | nullنعم
    produkt.statusstringنعمالقيم: Aktiv, Wird übersetzt, Wartet auf Zahlungsanbieter, Gesperrt, Archiviert
    fehlerstring | nullنعمWarum der Auftrag fehlgeschlagen ist.
    hinweiseobject[]نعم
    hinweise[].codestringنعم
    hinweise[].feldstring | nullنعم
    hinweise[].nachrichtstringنعم
    erstellt_amstringنعمEingang der Anfrage. ISO 8601, UTC.
    abgeschlossen_amstring | nullنعم
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Kein solcher Auftrag von dir (jobNotFound).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.

Bestand

Bestand lesen und setzen, ohne das Produkt anzufassen (WP3).

GET/api/v1/stock

Bestand aller Varianten

Jede aktive Variante mit Artikelnummer, Übergeordneter SKU, SKU, Farbe, Größe, gespeichertem Bestand und offenen Stück – zum Zuordnen deiner Artikel und zum Abgleich. Meterware fehlt (noch nicht in der API).

الصلاحية: bestand:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
seite (query)integerلاSeite, ab 1.
pro_seite (query)integerلاVarianten pro Seite, höchstens 500.

الردود

  • 200 Eine Seite Varianten. – BestandListe
    الحقلالنوعإلزاميالوصف
    seiteintegerنعم(-9007199254740991–9007199254740991)
    pro_seiteintegerنعم(-9007199254740991–9007199254740991)
    gesamtintegerنعمVarianten insgesamt. (-9007199254740991–9007199254740991)
    positionenobject[]نعم
    positionen[].produkt_idstringنعم
    positionen[].artikelnummerstringنعم
    positionen[].uebergeordnete_skustring | nullنعم
    positionen[].skustring | nullنعم
    positionen[].eanstring | nullنعمEAN / GTIN der Variante, sonst null.
    positionen[].farbestringنعم
    positionen[].groessestringنعم
    positionen[].titelstringنعم
    positionen[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    positionen[].offenintegerنعمStück in offenen eveyamin-Bestellungen. (-9007199254740991–9007199254740991)
    positionen[].standstring | nullنعمZuletzt übernommener stand.
    positionen[].gesperrtbooleanنعمDas Produkt ist gesperrt; sein Bestand kann nicht geändert werden.
  • 400 seite oder pro_seite ungültig (invalidQuery).
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
PATCH/api/v1/stock

Bestand mehrerer Produkte setzen

Bis zu 500 Zeilen über alle Produkte, je über sku oder produkt + farbe + groesse. Gespeichert wird lagerbestand minus der Stück in offenen eveyamin-Bestellungen (reserviert, noch nicht erledigt und von deinem System noch nicht bestätigt), mindestens 0 – so werden Bestellungen, die dein System noch nicht kennt, nicht doppelt verkauft. Eine Bestellung, die du nach dem stand der Zeile bestätigt hast, zählt noch als offen: deine Zählung war älter. Sende daher stand mit. Jede Zeile hat ihr eigenes Ergebnis; eine fehlerhafte Zeile hält die anderen nicht auf. Unveränderte Werte werden nicht geschrieben.

الصلاحية: bestand:schreiben

المحتوى – BestandAnfrage
الحقلالنوعإلزاميالوصف
positionenBestandZeile[]نعم
positionen[].skustringلاDeine SKU der Variante. Alternativ: produkt + farbe + groesse.
positionen[].farbestringلاFarbe wie im Shop, z. B. „Weiß“.
positionen[].groessestringلاGröße wie im Shop, z. B. „M“ oder „200 x 200 cm“.
positionen[].lagerbestandintegerنعمDein Bestand der Variante. Gespeichert wird dieser Wert abzüglich der offenen eveyamin-Bestellungen (siehe offen). (0–10000)
positionen[].standstring (date-time)لاZeitpunkt deiner Zählung (ISO 8601 mit Zeitzone). Eine Zeile mit älterem stand als dem zuletzt übernommenen wird ignoriert (veraltet).
positionen[].produktstringلاeveyamin-Produkt-ID, Übergeordnete SKU oder Artikelnummer.

الردود

  • 200 Ergebnis je Zeile. – BestandErgebnis
    الحقلالنوعإلزاميالوصف
    zusammenfassungobjectنعم
    zusammenfassung.okintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.unveraendertintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.veraltetintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.fehlerintegerنعم(-9007199254740991–9007199254740991)
    positionenobject[]نعم
    positionen[].zeileintegerنعمIndex der Zeile in positionen, ab 0. (-9007199254740991–9007199254740991)
    positionen[].statusstringنعمok = gespeichert, unveraendert = war schon so, veraltet = älterer stand, fehler = siehe fehler.القيم: ok, unveraendert, veraltet, fehler
    positionen[].produkt_idstringلا
    positionen[].artikelnummerstringلا
    positionen[].uebergeordnete_skustring | nullلا
    positionen[].skustring | nullلا
    positionen[].eanstring | nullلاEAN / GTIN der Variante, sonst null.
    positionen[].farbestringلا
    positionen[].groessestringلا
    positionen[].gesendetintegerلاDein lagerbestand. (-9007199254740991–9007199254740991)
    positionen[].offenintegerلاStück in offenen eveyamin-Bestellungen, die abgezogen wurden. (-9007199254740991–9007199254740991)
    positionen[].vorherintegerلاGespeicherter Bestand vor dieser Anfrage. (-9007199254740991–9007199254740991)
    positionen[].lagerbestandintegerلاGespeicherter Bestand jetzt: gesendet − offen, mindestens 0. (-9007199254740991–9007199254740991)
    positionen[].fehlerobjectلا
    positionen[].fehler.codestringنعم
    positionen[].fehler.feldstring | nullنعم
    positionen[].fehler.nachrichtstringنعم
    positionen[].hinweiseobject[]لاZ. B. eine korrigierte Schreibweise.
    positionen[].hinweise[].codestringنعم
    positionen[].hinweise[].feldstring | nullنعم
    positionen[].hinweise[].nachrichtstringنعم
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 422 Kein { positionen: [...] }, leer, oder mehr als 500 Zeilen.
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
  • 503 Der Bestand wird gerade an anderer Stelle geändert (busy); nichts wurde gespeichert, bitte wiederholen.
GET/api/v1/products/{id}/stock

Bestand eines Produkts

الصلاحية: bestand:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Produkt-ID, Übergeordnete SKU oder Artikelnummer.
seite (query)integerلاSeite, ab 1.
pro_seite (query)integerلاVarianten pro Seite, höchstens 500.

الردود

  • 200 Die Varianten des Produkts. – BestandListe
    الحقلالنوعإلزاميالوصف
    seiteintegerنعم(-9007199254740991–9007199254740991)
    pro_seiteintegerنعم(-9007199254740991–9007199254740991)
    gesamtintegerنعمVarianten insgesamt. (-9007199254740991–9007199254740991)
    positionenobject[]نعم
    positionen[].produkt_idstringنعم
    positionen[].artikelnummerstringنعم
    positionen[].uebergeordnete_skustring | nullنعم
    positionen[].skustring | nullنعم
    positionen[].eanstring | nullنعمEAN / GTIN der Variante, sonst null.
    positionen[].farbestringنعم
    positionen[].groessestringنعم
    positionen[].titelstringنعم
    positionen[].lagerbestandintegerنعمGespeicherter, kaufbarer Bestand. (-9007199254740991–9007199254740991)
    positionen[].offenintegerنعمStück in offenen eveyamin-Bestellungen. (-9007199254740991–9007199254740991)
    positionen[].standstring | nullنعمZuletzt übernommener stand.
    positionen[].gesperrtbooleanنعمDas Produkt ist gesperrt; sein Bestand kann nicht geändert werden.
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Kein solches Produkt bei dir (productNotFound).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
PATCH/api/v1/products/{id}/stock

Bestand eines Produkts setzen

Zeilen dieses Produkts, je über sku oder farbe + groesse. Gespeichert wird lagerbestand minus der Stück in offenen eveyamin-Bestellungen (reserviert, noch nicht erledigt und von deinem System noch nicht bestätigt), mindestens 0 – so werden Bestellungen, die dein System noch nicht kennt, nicht doppelt verkauft. Eine Bestellung, die du nach dem stand der Zeile bestätigt hast, zählt noch als offen: deine Zählung war älter. Sende daher stand mit. Jede Zeile hat ihr eigenes Ergebnis; eine fehlerhafte Zeile hält die anderen nicht auf. Unveränderte Werte werden nicht geschrieben.

الصلاحية: bestand:schreiben

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Produkt-ID, Übergeordnete SKU oder Artikelnummer.
المحتوى – ProduktBestandAnfrage
الحقلالنوعإلزاميالوصف
positionenobject[]نعم
positionen[].skustringلاDeine SKU der Variante. Alternativ: produkt + farbe + groesse.
positionen[].farbestringلاFarbe wie im Shop, z. B. „Weiß“.
positionen[].groessestringلاGröße wie im Shop, z. B. „M“ oder „200 x 200 cm“.
positionen[].lagerbestandintegerنعمDein Bestand der Variante. Gespeichert wird dieser Wert abzüglich der offenen eveyamin-Bestellungen (siehe offen). (0–10000)
positionen[].standstring (date-time)لاZeitpunkt deiner Zählung (ISO 8601 mit Zeitzone). Eine Zeile mit älterem stand als dem zuletzt übernommenen wird ignoriert (veraltet).

الردود

  • 200 Ergebnis je Zeile. – BestandErgebnis
    الحقلالنوعإلزاميالوصف
    zusammenfassungobjectنعم
    zusammenfassung.okintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.unveraendertintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.veraltetintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.fehlerintegerنعم(-9007199254740991–9007199254740991)
    positionenobject[]نعم
    positionen[].zeileintegerنعمIndex der Zeile in positionen, ab 0. (-9007199254740991–9007199254740991)
    positionen[].statusstringنعمok = gespeichert, unveraendert = war schon so, veraltet = älterer stand, fehler = siehe fehler.القيم: ok, unveraendert, veraltet, fehler
    positionen[].produkt_idstringلا
    positionen[].artikelnummerstringلا
    positionen[].uebergeordnete_skustring | nullلا
    positionen[].skustring | nullلا
    positionen[].eanstring | nullلاEAN / GTIN der Variante, sonst null.
    positionen[].farbestringلا
    positionen[].groessestringلا
    positionen[].gesendetintegerلاDein lagerbestand. (-9007199254740991–9007199254740991)
    positionen[].offenintegerلاStück in offenen eveyamin-Bestellungen, die abgezogen wurden. (-9007199254740991–9007199254740991)
    positionen[].vorherintegerلاGespeicherter Bestand vor dieser Anfrage. (-9007199254740991–9007199254740991)
    positionen[].lagerbestandintegerلاGespeicherter Bestand jetzt: gesendet − offen, mindestens 0. (-9007199254740991–9007199254740991)
    positionen[].fehlerobjectلا
    positionen[].fehler.codestringنعم
    positionen[].fehler.feldstring | nullنعم
    positionen[].fehler.nachrichtstringنعم
    positionen[].hinweiseobject[]لاZ. B. eine korrigierte Schreibweise.
    positionen[].hinweise[].codestringنعم
    positionen[].hinweise[].feldstring | nullنعم
    positionen[].hinweise[].nachrichtstringنعم
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Kein solches Produkt bei dir (productNotFound).
  • 422 Kein { positionen: [...] }, leer, oder mehr als 500 Zeilen.
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
  • 503 Der Bestand wird gerade an anderer Stelle geändert (busy); nichts wurde gespeichert, bitte wiederholen.

Bestellungen

Bezahlte Bestellungen abrufen und bestätigen (WP4).

GET/api/v1/orders/new

Neue Bestellungen

Bezahlte Bestellungen mit Positionen in Bearbeitung, die dein System noch nicht bestätigt hat, älteste zuerst. Nur deine Positionen und nur bezahlte Bestellungen. Eine Bestellung bleibt in /orders/new, bis dein System sie mit /orders/{id}/acknowledge bestätigt – geht eine Antwort verloren, kommt sie beim nächsten Abruf wieder. Gleiche Bestellungen erkennst du an der bestellnummer.

الصلاحية: bestellungen:lesen

المعاملات

الحقلالنوعإلزاميالوصف
seite (query)integerلاSeite, ab 1.
pro_seite (query)integerلاBestellungen pro Seite, höchstens 100.

الردود

  • 200 Eine Seite Bestellungen. – BestellListe
    الحقلالنوعإلزاميالوصف
    seiteintegerنعم(-9007199254740991–9007199254740991)
    pro_seiteintegerنعم(-9007199254740991–9007199254740991)
    gesamtintegerنعمBestellungen insgesamt. (-9007199254740991–9007199254740991)
    bestellungenBestellung[]نعم
    bestellungen[].idstringنعمeveyamin-Bestell-ID; in Pfaden geht auch die Bestellnummer.
    bestellungen[].bestellnummerintegerنعم(-9007199254740991–9007199254740991)
    bestellungen[].bestelldatumstringنعمWann der Käufer bestellt hat. ISO 8601, UTC.
    bestellungen[].statusstringنعمالقيم: Bezahlt, Versendet, Abgeschlossen, Storniert, Erstattet, Rückbuchung
    bestellungen[].versandartstringنعمالقيم: Standardversand, Expressversand
    bestellungen[].bestaetigt_amstring | nullنعم
    bestellungen[].geaendert_amstringنعمLetzte Änderung eines Status deiner Positionen oder der Bestellung. ISO 8601, UTC.
    bestellungen[].lieferadresseLieferadresseنعمWohin das Paket geht. Die E-Mail-Adresse des Käufers wird nicht weitergegeben.
    bestellungen[].lieferadresse.vornamestringنعم
    bestellungen[].lieferadresse.nachnamestringنعم
    bestellungen[].lieferadresse.firmastring | nullنعم
    bestellungen[].lieferadresse.strassestringنعمStraße und Hausnummer.
    bestellungen[].lieferadresse.plzstringنعم
    bestellungen[].lieferadresse.ortstringنعم
    bestellungen[].lieferadresse.landstringنعمWie vom Käufer eingegeben, z. B. „Deutschland“ (noch kein Ländercode).
    bestellungen[].lieferadresse.telefonstring | nullنعمFür den Versanddienstleister; optional beim Kauf.
    bestellungen[].summenobjectنعمNur deine Positionen, in EUR, brutto.
    bestellungen[].summen.warennumberنعم
    bestellungen[].summen.versandkostennumberنعم
    bestellungen[].summen.gesamtnumberنعم
    bestellungen[].positionenBestellPosition[]نعمNur deine Positionen; andere Händler derselben Bestellung fehlen.
    bestellungen[].positionen[].position_idstringنعمeveyamin-ID der Bestellposition.
    bestellungen[].positionen[].produkt_idstringنعم
    bestellungen[].positionen[].variant_idstring | nullنعم
    bestellungen[].positionen[].artikelnummerstring | nullنعم
    bestellungen[].positionen[].uebergeordnete_skustring | nullنعمAktuelle Übergeordnete SKU des Produkts.
    bestellungen[].positionen[].skustring | nullنعمAktuelle SKU der Variante, sonst die beim Kauf gespeicherte.
    bestellungen[].positionen[].eanstring | nullنعمAktuelle EAN / GTIN der Variante, sonst null.
    bestellungen[].positionen[].titelstringنعمProdukttitel zum Zeitpunkt des Kaufs.
    bestellungen[].positionen[].farbestring | nullنعم
    bestellungen[].positionen[].groessestring | nullنعمGröße wie im Shop, oder „Maßanfertigung“.
    bestellungen[].positionen[].mengenumberنعمStückzahl, bei Meterware Meter.
    bestellungen[].positionen[].einheitstringنعمالقيم: Stück, Meter
    bestellungen[].positionen[].einzelpreisnumberنعمBezahlter Preis je Stück bzw. Meter in EUR, brutto.
    bestellungen[].positionen[].summenumberنعمBezahlter Warenwert der Position in EUR, brutto, ohne Versand.
    bestellungen[].positionen[].versandkostennumberنعمVersandkosten in EUR, brutto. Sie stehen bei einer Position je Bestellung.
    bestellungen[].positionen[].lieferstatusstringنعمالقيم: In Bearbeitung, Versendet, Abgeschlossen, Storniert, Zahlung ausstehend, Erstattet, Fehlgeschlagen
    bestellungen[].positionen[].bestaetigt_amstring | nullنعم
    bestellungen[].positionen[].sendung_idstring | nullنعمDas Paket, in dem die Position versendet wurde (sendungen[].id), sonst null.
    bestellungen[].positionen[].versendet_amstring | nullنعم
    bestellungen[].positionen[].massanfertigungMassanfertigung | nullنعمDie Körpermaße bei einer Maßanfertigung, sonst null.
    bestellungen[].positionen[].massanfertigung.einheitstringنعمSo, wie der Käufer gemessen hat; nicht umgerechnet.القيم: cm, Zoll
    bestellungen[].positionen[].massanfertigung.brustumfangnumberنعم
    bestellungen[].positionen[].massanfertigung.taillenumfangnumberنعم
    bestellungen[].positionen[].massanfertigung.hueftumfangnumberنعم
    bestellungen[].positionen[].massanfertigung.koerpergroessenumberنعمBarfuß.
    bestellungen[].positionen[].massanfertigung.schluesselbein_bodennumberنعمVom Schlüsselbein bis zum Boden.
    bestellungen[].positionen[].massanfertigung.schulterlaengenumberنعم
    bestellungen[].positionen[].massanfertigung.extralaengenumber | nullنعم
    bestellungen[].sendungenSendung[]نعمDeine Pakete dieser Bestellung, ältestes zuerst.
    bestellungen[].sendungen[].idstringنعم
    bestellungen[].sendungen[].versanddienstleisterstringنعمالقيم: DHL, DPD, Hermes, GLS, UPS, Deutsche Post, Sonstige
    bestellungen[].sendungen[].sendungsnummerstringنعمOhne Leerzeichen, in Großbuchstaben.
    bestellungen[].sendungen[].tracking_urlstring | nullنعمLink zur Sendungsverfolgung; null bei „Sonstige“ ohne eigenen Link.
    bestellungen[].sendungen[].versendet_amstringنعمWann das Paket gemeldet wurde. ISO 8601, UTC.
    bestellungen[].sendungen[].positionenstring[]نعمposition_id der Positionen in diesem Paket.
  • 400 seite oder pro_seite ungültig (invalidQuery).
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
GET/api/v1/orders

Geänderte Bestellungen

Deine Bestellungen, deren Status oder Lieferstatus sich nach geaendert_seit geändert hat (ohne Parameter alle), älteste Änderung zuerst – so erfährt dein System nach dem Import von Stornierungen und Erstattungen. Merke dir das letzte geaendert_am und frage mit etwas Überlappung erneut. Nur deine Positionen und nur bezahlte Bestellungen. Eine Bestellung bleibt in /orders/new, bis dein System sie mit /orders/{id}/acknowledge bestätigt – geht eine Antwort verloren, kommt sie beim nächsten Abruf wieder. Gleiche Bestellungen erkennst du an der bestellnummer.

الصلاحية: bestellungen:lesen

المعاملات

الحقلالنوعإلزاميالوصف
geaendert_seit (query)string (date-time)لاZeitpunkt nach ISO 8601 mit Zeitzone, z. B. 2026-10-07T09:15:00Z.
seite (query)integerلاSeite, ab 1.
pro_seite (query)integerلاBestellungen pro Seite, höchstens 100.

الردود

  • 200 Eine Seite Bestellungen. – BestellListe
    الحقلالنوعإلزاميالوصف
    seiteintegerنعم(-9007199254740991–9007199254740991)
    pro_seiteintegerنعم(-9007199254740991–9007199254740991)
    gesamtintegerنعمBestellungen insgesamt. (-9007199254740991–9007199254740991)
    bestellungenBestellung[]نعم
    bestellungen[].idstringنعمeveyamin-Bestell-ID; in Pfaden geht auch die Bestellnummer.
    bestellungen[].bestellnummerintegerنعم(-9007199254740991–9007199254740991)
    bestellungen[].bestelldatumstringنعمWann der Käufer bestellt hat. ISO 8601, UTC.
    bestellungen[].statusstringنعمالقيم: Bezahlt, Versendet, Abgeschlossen, Storniert, Erstattet, Rückbuchung
    bestellungen[].versandartstringنعمالقيم: Standardversand, Expressversand
    bestellungen[].bestaetigt_amstring | nullنعم
    bestellungen[].geaendert_amstringنعمLetzte Änderung eines Status deiner Positionen oder der Bestellung. ISO 8601, UTC.
    bestellungen[].lieferadresseLieferadresseنعمWohin das Paket geht. Die E-Mail-Adresse des Käufers wird nicht weitergegeben.
    bestellungen[].lieferadresse.vornamestringنعم
    bestellungen[].lieferadresse.nachnamestringنعم
    bestellungen[].lieferadresse.firmastring | nullنعم
    bestellungen[].lieferadresse.strassestringنعمStraße und Hausnummer.
    bestellungen[].lieferadresse.plzstringنعم
    bestellungen[].lieferadresse.ortstringنعم
    bestellungen[].lieferadresse.landstringنعمWie vom Käufer eingegeben, z. B. „Deutschland“ (noch kein Ländercode).
    bestellungen[].lieferadresse.telefonstring | nullنعمFür den Versanddienstleister; optional beim Kauf.
    bestellungen[].summenobjectنعمNur deine Positionen, in EUR, brutto.
    bestellungen[].summen.warennumberنعم
    bestellungen[].summen.versandkostennumberنعم
    bestellungen[].summen.gesamtnumberنعم
    bestellungen[].positionenBestellPosition[]نعمNur deine Positionen; andere Händler derselben Bestellung fehlen.
    bestellungen[].positionen[].position_idstringنعمeveyamin-ID der Bestellposition.
    bestellungen[].positionen[].produkt_idstringنعم
    bestellungen[].positionen[].variant_idstring | nullنعم
    bestellungen[].positionen[].artikelnummerstring | nullنعم
    bestellungen[].positionen[].uebergeordnete_skustring | nullنعمAktuelle Übergeordnete SKU des Produkts.
    bestellungen[].positionen[].skustring | nullنعمAktuelle SKU der Variante, sonst die beim Kauf gespeicherte.
    bestellungen[].positionen[].eanstring | nullنعمAktuelle EAN / GTIN der Variante, sonst null.
    bestellungen[].positionen[].titelstringنعمProdukttitel zum Zeitpunkt des Kaufs.
    bestellungen[].positionen[].farbestring | nullنعم
    bestellungen[].positionen[].groessestring | nullنعمGröße wie im Shop, oder „Maßanfertigung“.
    bestellungen[].positionen[].mengenumberنعمStückzahl, bei Meterware Meter.
    bestellungen[].positionen[].einheitstringنعمالقيم: Stück, Meter
    bestellungen[].positionen[].einzelpreisnumberنعمBezahlter Preis je Stück bzw. Meter in EUR, brutto.
    bestellungen[].positionen[].summenumberنعمBezahlter Warenwert der Position in EUR, brutto, ohne Versand.
    bestellungen[].positionen[].versandkostennumberنعمVersandkosten in EUR, brutto. Sie stehen bei einer Position je Bestellung.
    bestellungen[].positionen[].lieferstatusstringنعمالقيم: In Bearbeitung, Versendet, Abgeschlossen, Storniert, Zahlung ausstehend, Erstattet, Fehlgeschlagen
    bestellungen[].positionen[].bestaetigt_amstring | nullنعم
    bestellungen[].positionen[].sendung_idstring | nullنعمDas Paket, in dem die Position versendet wurde (sendungen[].id), sonst null.
    bestellungen[].positionen[].versendet_amstring | nullنعم
    bestellungen[].positionen[].massanfertigungMassanfertigung | nullنعمDie Körpermaße bei einer Maßanfertigung, sonst null.
    bestellungen[].positionen[].massanfertigung.einheitstringنعمSo, wie der Käufer gemessen hat; nicht umgerechnet.القيم: cm, Zoll
    bestellungen[].positionen[].massanfertigung.brustumfangnumberنعم
    bestellungen[].positionen[].massanfertigung.taillenumfangnumberنعم
    bestellungen[].positionen[].massanfertigung.hueftumfangnumberنعم
    bestellungen[].positionen[].massanfertigung.koerpergroessenumberنعمBarfuß.
    bestellungen[].positionen[].massanfertigung.schluesselbein_bodennumberنعمVom Schlüsselbein bis zum Boden.
    bestellungen[].positionen[].massanfertigung.schulterlaengenumberنعم
    bestellungen[].positionen[].massanfertigung.extralaengenumber | nullنعم
    bestellungen[].sendungenSendung[]نعمDeine Pakete dieser Bestellung, ältestes zuerst.
    bestellungen[].sendungen[].idstringنعم
    bestellungen[].sendungen[].versanddienstleisterstringنعمالقيم: DHL, DPD, Hermes, GLS, UPS, Deutsche Post, Sonstige
    bestellungen[].sendungen[].sendungsnummerstringنعمOhne Leerzeichen, in Großbuchstaben.
    bestellungen[].sendungen[].tracking_urlstring | nullنعمLink zur Sendungsverfolgung; null bei „Sonstige“ ohne eigenen Link.
    bestellungen[].sendungen[].versendet_amstringنعمWann das Paket gemeldet wurde. ISO 8601, UTC.
    bestellungen[].sendungen[].positionenstring[]نعمposition_id der Positionen in diesem Paket.
  • 400 geaendert_seit, seite oder pro_seite ungültig (invalidQuery).
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
GET/api/v1/orders/{id}

Eine Bestellung

الصلاحية: bestellungen:lesen

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Bestell-ID oder Bestellnummer.

الردود

  • 200 Die Bestellung mit deinen Positionen. – Bestellung
    الحقلالنوعإلزاميالوصف
    idstringنعمeveyamin-Bestell-ID; in Pfaden geht auch die Bestellnummer.
    bestellnummerintegerنعم(-9007199254740991–9007199254740991)
    bestelldatumstringنعمWann der Käufer bestellt hat. ISO 8601, UTC.
    statusstringنعمالقيم: Bezahlt, Versendet, Abgeschlossen, Storniert, Erstattet, Rückbuchung
    versandartstringنعمالقيم: Standardversand, Expressversand
    bestaetigt_amstring | nullنعم
    geaendert_amstringنعمLetzte Änderung eines Status deiner Positionen oder der Bestellung. ISO 8601, UTC.
    lieferadresseLieferadresseنعمWohin das Paket geht. Die E-Mail-Adresse des Käufers wird nicht weitergegeben.
    lieferadresse.vornamestringنعم
    lieferadresse.nachnamestringنعم
    lieferadresse.firmastring | nullنعم
    lieferadresse.strassestringنعمStraße und Hausnummer.
    lieferadresse.plzstringنعم
    lieferadresse.ortstringنعم
    lieferadresse.landstringنعمWie vom Käufer eingegeben, z. B. „Deutschland“ (noch kein Ländercode).
    lieferadresse.telefonstring | nullنعمFür den Versanddienstleister; optional beim Kauf.
    summenobjectنعمNur deine Positionen, in EUR, brutto.
    summen.warennumberنعم
    summen.versandkostennumberنعم
    summen.gesamtnumberنعم
    positionenBestellPosition[]نعمNur deine Positionen; andere Händler derselben Bestellung fehlen.
    positionen[].position_idstringنعمeveyamin-ID der Bestellposition.
    positionen[].produkt_idstringنعم
    positionen[].variant_idstring | nullنعم
    positionen[].artikelnummerstring | nullنعم
    positionen[].uebergeordnete_skustring | nullنعمAktuelle Übergeordnete SKU des Produkts.
    positionen[].skustring | nullنعمAktuelle SKU der Variante, sonst die beim Kauf gespeicherte.
    positionen[].eanstring | nullنعمAktuelle EAN / GTIN der Variante, sonst null.
    positionen[].titelstringنعمProdukttitel zum Zeitpunkt des Kaufs.
    positionen[].farbestring | nullنعم
    positionen[].groessestring | nullنعمGröße wie im Shop, oder „Maßanfertigung“.
    positionen[].mengenumberنعمStückzahl, bei Meterware Meter.
    positionen[].einheitstringنعمالقيم: Stück, Meter
    positionen[].einzelpreisnumberنعمBezahlter Preis je Stück bzw. Meter in EUR, brutto.
    positionen[].summenumberنعمBezahlter Warenwert der Position in EUR, brutto, ohne Versand.
    positionen[].versandkostennumberنعمVersandkosten in EUR, brutto. Sie stehen bei einer Position je Bestellung.
    positionen[].lieferstatusstringنعمالقيم: In Bearbeitung, Versendet, Abgeschlossen, Storniert, Zahlung ausstehend, Erstattet, Fehlgeschlagen
    positionen[].bestaetigt_amstring | nullنعم
    positionen[].sendung_idstring | nullنعمDas Paket, in dem die Position versendet wurde (sendungen[].id), sonst null.
    positionen[].versendet_amstring | nullنعم
    positionen[].massanfertigungMassanfertigung | nullنعمDie Körpermaße bei einer Maßanfertigung, sonst null.
    positionen[].massanfertigung.einheitstringنعمSo, wie der Käufer gemessen hat; nicht umgerechnet.القيم: cm, Zoll
    positionen[].massanfertigung.brustumfangnumberنعم
    positionen[].massanfertigung.taillenumfangnumberنعم
    positionen[].massanfertigung.hueftumfangnumberنعم
    positionen[].massanfertigung.koerpergroessenumberنعمBarfuß.
    positionen[].massanfertigung.schluesselbein_bodennumberنعمVom Schlüsselbein bis zum Boden.
    positionen[].massanfertigung.schulterlaengenumberنعم
    positionen[].massanfertigung.extralaengenumber | nullنعم
    sendungenSendung[]نعمDeine Pakete dieser Bestellung, ältestes zuerst.
    sendungen[].idstringنعم
    sendungen[].versanddienstleisterstringنعمالقيم: DHL, DPD, Hermes, GLS, UPS, Deutsche Post, Sonstige
    sendungen[].sendungsnummerstringنعمOhne Leerzeichen, in Großbuchstaben.
    sendungen[].tracking_urlstring | nullنعمLink zur Sendungsverfolgung; null bei „Sonstige“ ohne eigenen Link.
    sendungen[].versendet_amstringنعمWann das Paket gemeldet wurde. ISO 8601, UTC.
    sendungen[].positionenstring[]نعمposition_id der Positionen in diesem Paket.
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Keine solche bezahlte Bestellung mit Positionen von dir (orderNotFound).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
POST/api/v1/orders/{id}/acknowledge

Bestellung bestätigen

Dein System hat die Bestellung übernommen: Sie verschwindet aus /orders/new und wird bei Bestandsmeldungen nicht mehr abgezogen. Wiederholbar; ein zweiter Aufruf ändert nichts (bereits_bestaetigt).

الصلاحية: bestellungen:lesen

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Bestell-ID oder Bestellnummer.

الردود

  • 200 Bestätigt. – Bestaetigung
    الحقلالنوعإلزاميالوصف
    idstringنعم
    bestellnummerintegerنعم(-9007199254740991–9007199254740991)
    bestaetigt_amstringنعمWann die Bestellung zum ersten Mal bestätigt wurde. ISO 8601, UTC.
    bereits_bestaetigtbooleanنعمtrue: war schon bestätigt; nichts hat sich geändert.
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Keine solche bezahlte Bestellung mit Positionen von dir (orderNotFound).
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.
POST/api/v1/orders/acknowledge

Mehrere Bestellungen bestätigen

Bis zu 100 Bestellungen auf einmal, je über Bestell-ID oder Bestellnummer; ein Ergebnis je Eintrag.

الصلاحية: bestellungen:lesen

المحتوى – BestaetigungAnfrage
الحقلالنوعإلزاميالوصف
bestellungenstring | integer[]نعمBestell-IDs oder Bestellnummern.

الردود

  • 200 Ergebnis je Eintrag. – BestaetigungErgebnis
    الحقلالنوعإلزاميالوصف
    zusammenfassungobjectنعم
    zusammenfassung.okintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.bereits_bestaetigtintegerنعم(-9007199254740991–9007199254740991)
    zusammenfassung.fehlerintegerنعم(-9007199254740991–9007199254740991)
    bestellungenobject[]نعم
    bestellungen[].zeileintegerنعمIndex in bestellungen, ab 0. (-9007199254740991–9007199254740991)
    bestellungen[].statusstringنعمالقيم: ok, bereits_bestaetigt, fehler
    bestellungen[].idstringلا
    bestellungen[].bestellnummerintegerلا(-9007199254740991–9007199254740991)
    bestellungen[].bestaetigt_amstringلاWann die Bestellung zum ersten Mal bestätigt wurde. ISO 8601, UTC.
    bestellungen[].fehlerobjectلا
    bestellungen[].fehler.codestringنعم
    bestellungen[].fehler.feldstring | nullنعم
    bestellungen[].fehler.nachrichtstringنعم
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 422 Kein { bestellungen: [...] }, leer, oder mehr als 100 Einträge.
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.

Versand

Pakete mit Sendungsnummer melden; die Bestellung wird „Versendet“ (WP5).

POST/api/v1/orders/{id}/fulfill

Versand melden

Ein Paket deiner Positionen: Versanddienstleister, Sendungsnummer und die Positionen darin (ohne positionen: alle deine Positionen „In Bearbeitung“). Die Positionen werden „Versendet“, der Käufer bekommt eine E-Mail mit dem Link zur Sendungsverfolgung, und die Bestellung gilt als bestätigt. Mehrere Pakete: ein Aufruf je Sendungsnummer. Dieselbe Sendungsnummer noch einmal ist dasselbe Paket: Nichts passiert doppelt, neue Positionen kommen hinzu. Geht eine Position nicht, wird nichts versendet.

الصلاحية: bestellungen:versenden

المعاملات

الحقلالنوعإلزاميالوصف
id (path)stringنعمeveyamin-Bestell-ID oder Bestellnummer.
المحتوى – VersandAnfrage
الحقلالنوعإلزاميالوصف
versanddienstleisterstringنعمالقيم: DHL, DPD, Hermes, GLS, UPS, Deutsche Post, Sonstige
sendungsnummerstringنعمGespeichert ohne Leerzeichen und in Großbuchstaben: 4–40 Zeichen aus A–Z, 0–9 und -.
tracking_urlstring | nullلاEigener https-Link. Ohne ihn baut eveyamin den Link des Versanddienstleisters (bei „Sonstige“ gibt es keinen).
positionenstring[]لاposition_id der Positionen im Paket. Ohne: alle deine Positionen „In Bearbeitung“.

الردود

  • 200 Gemeldet, oder schon so gemeldet (bereits_erfasst). – VersandErgebnis
    الحقلالنوعإلزاميالوصف
    bereits_erfasstbooleanنعمtrue: Dieses Paket war mit diesen Positionen schon gemeldet; nichts hat sich geändert, keine Mail.
    sendungSendungنعمEin Paket: ganze Positionen, eine Sendungsnummer.
    sendung.idstringنعم
    sendung.versanddienstleisterstringنعمالقيم: DHL, DPD, Hermes, GLS, UPS, Deutsche Post, Sonstige
    sendung.sendungsnummerstringنعمOhne Leerzeichen, in Großbuchstaben.
    sendung.tracking_urlstring | nullنعمLink zur Sendungsverfolgung; null bei „Sonstige“ ohne eigenen Link.
    sendung.versendet_amstringنعمWann das Paket gemeldet wurde. ISO 8601, UTC.
    sendung.positionenstring[]نعمposition_id der Positionen in diesem Paket.
    bestellungBestellungنعم
    bestellung.idstringنعمeveyamin-Bestell-ID; in Pfaden geht auch die Bestellnummer.
    bestellung.bestellnummerintegerنعم(-9007199254740991–9007199254740991)
    bestellung.bestelldatumstringنعمWann der Käufer bestellt hat. ISO 8601, UTC.
    bestellung.statusstringنعمالقيم: Bezahlt, Versendet, Abgeschlossen, Storniert, Erstattet, Rückbuchung
    bestellung.versandartstringنعمالقيم: Standardversand, Expressversand
    bestellung.bestaetigt_amstring | nullنعم
    bestellung.geaendert_amstringنعمLetzte Änderung eines Status deiner Positionen oder der Bestellung. ISO 8601, UTC.
    bestellung.lieferadresseLieferadresseنعمWohin das Paket geht. Die E-Mail-Adresse des Käufers wird nicht weitergegeben.
    bestellung.lieferadresse.vornamestringنعم
    bestellung.lieferadresse.nachnamestringنعم
    bestellung.lieferadresse.firmastring | nullنعم
    bestellung.lieferadresse.strassestringنعمStraße und Hausnummer.
    bestellung.lieferadresse.plzstringنعم
    bestellung.lieferadresse.ortstringنعم
    bestellung.lieferadresse.landstringنعمWie vom Käufer eingegeben, z. B. „Deutschland“ (noch kein Ländercode).
    bestellung.lieferadresse.telefonstring | nullنعمFür den Versanddienstleister; optional beim Kauf.
    bestellung.summenobjectنعمNur deine Positionen, in EUR, brutto.
    bestellung.summen.warennumberنعم
    bestellung.summen.versandkostennumberنعم
    bestellung.summen.gesamtnumberنعم
    bestellung.positionenBestellPosition[]نعمNur deine Positionen; andere Händler derselben Bestellung fehlen.
    bestellung.positionen[].position_idstringنعمeveyamin-ID der Bestellposition.
    bestellung.positionen[].produkt_idstringنعم
    bestellung.positionen[].variant_idstring | nullنعم
    bestellung.positionen[].artikelnummerstring | nullنعم
    bestellung.positionen[].uebergeordnete_skustring | nullنعمAktuelle Übergeordnete SKU des Produkts.
    bestellung.positionen[].skustring | nullنعمAktuelle SKU der Variante, sonst die beim Kauf gespeicherte.
    bestellung.positionen[].eanstring | nullنعمAktuelle EAN / GTIN der Variante, sonst null.
    bestellung.positionen[].titelstringنعمProdukttitel zum Zeitpunkt des Kaufs.
    bestellung.positionen[].farbestring | nullنعم
    bestellung.positionen[].groessestring | nullنعمGröße wie im Shop, oder „Maßanfertigung“.
    bestellung.positionen[].mengenumberنعمStückzahl, bei Meterware Meter.
    bestellung.positionen[].einheitstringنعمالقيم: Stück, Meter
    bestellung.positionen[].einzelpreisnumberنعمBezahlter Preis je Stück bzw. Meter in EUR, brutto.
    bestellung.positionen[].summenumberنعمBezahlter Warenwert der Position in EUR, brutto, ohne Versand.
    bestellung.positionen[].versandkostennumberنعمVersandkosten in EUR, brutto. Sie stehen bei einer Position je Bestellung.
    bestellung.positionen[].lieferstatusstringنعمالقيم: In Bearbeitung, Versendet, Abgeschlossen, Storniert, Zahlung ausstehend, Erstattet, Fehlgeschlagen
    bestellung.positionen[].bestaetigt_amstring | nullنعم
    bestellung.positionen[].sendung_idstring | nullنعمDas Paket, in dem die Position versendet wurde (sendungen[].id), sonst null.
    bestellung.positionen[].versendet_amstring | nullنعم
    bestellung.positionen[].massanfertigungMassanfertigung | nullنعمDie Körpermaße bei einer Maßanfertigung, sonst null.
    bestellung.positionen[].massanfertigung.einheitstringنعمSo, wie der Käufer gemessen hat; nicht umgerechnet.القيم: cm, Zoll
    bestellung.positionen[].massanfertigung.brustumfangnumberنعم
    bestellung.positionen[].massanfertigung.taillenumfangnumberنعم
    bestellung.positionen[].massanfertigung.hueftumfangnumberنعم
    bestellung.positionen[].massanfertigung.koerpergroessenumberنعمBarfuß.
    bestellung.positionen[].massanfertigung.schluesselbein_bodennumberنعمVom Schlüsselbein bis zum Boden.
    bestellung.positionen[].massanfertigung.schulterlaengenumberنعم
    bestellung.positionen[].massanfertigung.extralaengenumber | nullنعم
    bestellung.sendungenSendung[]نعمDeine Pakete dieser Bestellung, ältestes zuerst.
    bestellung.sendungen[].idstringنعم
    bestellung.sendungen[].versanddienstleisterstringنعمالقيم: DHL, DPD, Hermes, GLS, UPS, Deutsche Post, Sonstige
    bestellung.sendungen[].sendungsnummerstringنعمOhne Leerzeichen, in Großbuchstaben.
    bestellung.sendungen[].tracking_urlstring | nullنعمLink zur Sendungsverfolgung; null bei „Sonstige“ ohne eigenen Link.
    bestellung.sendungen[].versendet_amstringنعمWann das Paket gemeldet wurde. ISO 8601, UTC.
    bestellung.sendungen[].positionenstring[]نعمposition_id der Positionen in diesem Paket.
  • 401 Kein, ungültiger oder widerrufener Schlüssel (keyMissing, keyInvalid, keyWrongEnvironment).
  • 403 Dem Schlüssel fehlt die Berechtigung (scopeMissing), der Shop ist dafür noch nicht freigegeben (registrationNotApproved) oder die API ist für deinen Shop noch nicht freigeschaltet (apiNotEnabled).
  • 404 Keine solche bezahlte Bestellung mit Positionen von dir (orderNotFound).
  • 409 Die Bestellung ist nicht mehr bezahlt, z. B. erstattet (orderNotShippable), oder keine deiner Positionen ist mehr „In Bearbeitung“ (nothingToShip).
  • 422 Ungültige Angaben (invalidCarrier, invalidTrackingNumber, invalidTrackingUrl, invalidBody) oder Positionen, die sich nicht versenden lassen (lineNotFound, lineNotShippable, lineInOtherShipment) – dann wurde nichts versendet.
  • 429 Mehr als 120 Anfragen pro Minute und Schlüssel (rateLimited). Siehe Header Retry-After.

الإصدارات والتواصل

الواجهة البرمجية مرقّمة الإصدارات (/api/v1). تُضاف الحقول والاستدعاءات الجديدة ضمن v1 – لذا تجاهل الحقول التي لا تعرفها. وكل ما قد يعطّل الربط القائم لا يأتي إلا في v2، ويُعلن عنه مسبقًا بوقت كافٍ.

أسئلة حول الربط: info@eveyamin.com.

الدعم الفني

يُفترض أن تمكّن المعلومات الواردة أعلاه فريقك التقني من إتمام عملية التكامل. وإذا احتجت إلى دعم إضافي، فإن شريكنا التقني يسعده مساعدتك في التكامل.

واجهة البائعين البرمجية: ربط المنتجات والمخزون والطلبات | eveyamin