ساخت سفارش

حرفه‌ایکلید خواندن و نوشتن

در پلن حرفه‌ای و سازمانی در دسترس است (بتا).

POST…/public/orders

یک سفارش تازه در کسب‌وکار صاحب کلید می‌سازد و رویداد order.created را برای وب‌هوک‌های شما می‌فرستد. پاسخ همان رکورد است.

درخواست
curl https://app.reshta.ir/api/v1/public/orders \​  -X POST \​  -H "Authorization: Bearer $RESHTA_API_KEY" \​  -H "Idempotency-Key: 7f3c2b1e-4a5d-4c6f-9e1a-2b3c4d5e6f70" \​  -H "Content-Type: application/json" \​  -d '{"contact_id":"0192c4e8-7b1a-7c3e-9f20-5d6a1b2c3d4e","status":"paid","source":"api","currency":"IRR","total_amount":24500000,"items":[{"name_snapshot":"کاپشن پاییزه","qty":1,"unit_price":24500000}]}'​

سرآیندها

AuthorizationstringالزامیBearer و کلید API کسب‌وکار (rk_live_…).
Idempotency-Keystringالزامیشناسهٔ یکتای همین عملیات، مثلاً یک UUID تازه؛ تکرار با همان کلید چیزی را دوبار انجام نمی‌دهد.
Content-Typeapplication/jsonالزامیبدنه JSON با UTF-8 است.

پارامترهای بدنه

numberstringاختیاریشمارهٔ سفارش.
contact_iduuid | nullاختیاریفقط سفارش‌های این مخاطب.
deal_iduuid | nullاختیاریمعاملهٔ مرتبط.
statusstringاختیاریپیش‌فرض: "paid"وضعیت سفارش.مقدارها:pendingpaidpreparingshippeddeliveredcancelledrefundedpartially_refunded
total_amountintegerاختیاریمبلغ کل، عدد صحیح به ریال.
currencystringاختیاریپیش‌فرض: "IRR"واحد پول، مثلاً IRR.
sourcestringاختیاریپیش‌فرض: "manual"از API فقط manual یا api پذیرفته می‌شود؛ بقیه را خود اتصال‌ها می‌گذارند.مقدارها:manualapiwoocommercesnappshopbasalamdigikaladuza
external_idstring | nullاختیاریفقط اتصال‌ها می‌گذارند؛ از API رد می‌شود.
provider_connection_iduuid | nullاختیاریفقط اتصال‌ها می‌گذارند؛ از API رد می‌شود.
placed_atstringاختیاریزمان ثبت سفارش، ISO 8601.
customobjectاختیاریپیش‌فرض: {}فیلدهای سفارشی، با کلید هر فیلد.
owner_iduuid | nullاختیاریفقط رکوردهای این همکار.
itemsobject[]اختیاریردیف‌های سفارش.
items[].product_iduuid | nullاختیاریمحصول در کاتالوگ.
items[].name_snapshotstringالزامینام کالا در همین سفارش.
items[].qtynumberاختیاریپیش‌فرض: 1تعداد؛ پیش‌فرض ۱.
items[].unit_priceintegerالزامیقیمت واحد به ریال.
items[].discount_pctnumberاختیاریپیش‌فرض: 0درصد تخفیف.
items[].discount_amountintegerاختیاریتخفیف ردیف به ریال؛ با discount_pct با هم نه.
payment_termsstringاختیاریprepay یا cod (پرداخت در محل).مقدارها:prepaycod
sales_source_codestringاختیاری
shipping_addressobjectاختیارینشانی ارسال.
shipping_address.statestring | nullاختیاری
shipping_address.citystring | nullاختیاری
shipping_address.linestring | nullاختیاری
shipping_address.postal_codestring | nullاختیاری

پاسخ‌ها و خطاها

201—ساخته شد؛ بدنه همان رکورد است.
400validation_errorبدنه نادرست است یا Idempotency-Key نیامده؛ details می‌گوید کدام فیلد.
401unauthorizedکلید نیست، نادرست یا باطل است، یا سازنده‌اش دیگر فعال نیست.
403forbiddenکلید دسترسی نوشتن ندارد.
409conflictهمین Idempotency-Key با بدنهٔ دیگری آمده یا هنوز در جریان است.
429rate_limitedبیش از ۱۲۰ درخواست در دقیقه؛ Retry-After می‌گوید چند ثانیه صبر کنید.
پاسخ
400
{​  "error": {​    "code": "validation_error",​    "message": "Idempotency-Key header is required",​    "details": [​      {​        "field": "idempotency_key",​        "message": "idempotency_key_required"​      }​    ]​  }​}​
وب‌هوک مرتبط: order.created

کلید API بسازید و اولین درخواست را بفرستید

کلید در اپ رشتا ساخته می‌شود و فقط یک بار نشان داده می‌شود. API و وب‌هوک (بتا) در پلن حرفه‌ای و سازمانی است و کلید را فقط مدیر کسب‌وکار می‌سازد.

  1. ۱ورود به app.reshta.ir
  2. ۲اتصال ← توسعه‌دهنده
  3. ۳ساخت کلید API