Kontentga o'tish

Sotuv sanasini o'zgartirish

PATCH
/v2/order/{id}
curl --request PATCH \
--url 'https://api-admin.billz.ai/v2/order/5f6d2c0e-8a39-4c77-9a42-1d0a6d6f7a11?Billz-Response-Channel=HTTP' \
--header 'Authorization: Bearer <token>' \
--header 'Billz-Response-Channel: HTTP' \
--header 'Content-Type: application/json' \
--header 'platform-id: 7d4a4c38-dd84-4902-b744-0488b80a4c01' \
--data '{ "sold_at": "2023-05-14 18:32:10" }'

Asinxron metod. Natijani HTTP orqali sinxron olish uchun Billz-Response-Channel: HTTP sarlavhasini yuboring — aks holda javob 200 {"message": "<correlation_id>"} bo’ladi. Maksimal kutish vaqti — 600 soniya, so’ngra error.code = TIMEOUT bilan 408.

Faqat yakunlangan sotuv, qaytarish yoki almashtirishning sanasini (sold_at) o’zgartiradi. Mahsulotlar, summalar, to’lovlar, mijoz va hujjat holati o’zgarmaydi.

Yangi sana kompaniya vaqt mintaqasida yuboriladi va quyidagi qoidalarga mos bo’lishi kerak:

  • joriy paytdan kech emas va 2000-01-01 00:00:00 dan oldin emas;
  • qaytarish yoki almashtirish asl sotuvdan oldin emas, sotuv o’zining birinchi qaytarishi yoki almashtirishidan kech emas;
  • kompaniyada moliya yoqilgan va hujjat kassa smenasiga tegishli bo’lsa — shu smena chegarasida, eski sanalar uchun ham.

Xuddi shu sana bilan takroriy chaqiruv changed: false bilan 200 qaytaradi.

Javobdagi sanalar so’rovdagidek kompaniya vaqtida emas, UTC da (RFC 3339).

Xato kodlari: 408 — asinxron javobni kutish taym-auti; 401, 403, 429, 500 — barcha metodlar uchun umumiy. Tana formatlari va semantikasi: Javob kodlari va xatolar.

id
required
string format: uuid

Sotuv, qaytarish yoki almashtirish IDsi

Example
5f6d2c0e-8a39-4c77-9a42-1d0a6d6f7a11
platform-id
string
default: 7d4a4c38-dd84-4902-b744-0488b80a4c01

Platforma identifikatori. Integratsiyalar uchun statik qiymat ishlatiladi.

Billz-Response-Channel
string
Allowed values: HTTP

HTTP — hodisani qayta ishlash natijasini kutib, uni HTTP javobida qaytarish. Sarlavhasiz metod faqat e’lon qilingan hodisaning correlation_id sini qaytaradi.

Billz-Response-Channel
string
Allowed values: HTTP

Billz-Response-Channel sarlavhasi bilan bir xil — o’z sarlavhasini yubora olmaydigan mijozlar uchun. Ikkalasi ham uzatilsa, sarlavha amal qiladi.

Media typeapplication/json
object
sold_at
required

Kompaniya vaqt mintaqasidagi yangi sana va vaqt, format YYYY-MM-DD HH:MM:SS

string
Example
{
"sold_at": "2023-05-14 18:32:10"
}

Muvaffaqiyat. Billz-Response-Channel: HTTP sarlavhasi bilan — asinxron javob konverti, usiz — {"message": "<correlation_id>"}.

Media typeapplication/json
One of:
object
session_id

Mijoz sessiyasi identifikatori

string format: uuid
status_code

Yakuniy HTTP kodi, 200

integer
correlation_id

So’rov identifikatori

string format: uuid
topic

Javob hodisasining turi, masalan <event_type>.success

string
id

Sotuv, qaytarish yoki almashtirish IDsi

string format: uuid
data
object
order_id

Sotuv, qaytarish yoki almashtirish IDsi

string format: uuid
order_type

Hujjat turi: sotuv, qaytarish yoki almashtirish

string
Allowed values: SALE RETURN EXCHANGE
old_sold_at

O’zgarishdan oldingi sana, UTC

string format: date-time
sold_at

O’zgarishdan keyingi sana, UTC

string format: date-time
changed

false, agar yuborilgan sana joriy sana bilan bir xil bo’lib, hujjat o’zgarmagan bo’lsa

boolean
Example
{
"session_id": "7c2a0f3e-3c52-4a4a-9d0e-5d3a8f1b2c11",
"status_code": 200,
"id": "5f6d2c0e-8a39-4c77-9a42-1d0a6d6f7a11",
"topic": "v2.order_service.order.patch.success",
"data": {
"order_id": "5f6d2c0e-8a39-4c77-9a42-1d0a6d6f7a11",
"order_type": "SALE",
"old_sold_at": "2026-03-10T12:00:00Z",
"sold_at": "2026-01-05T05:00:00Z",
"changed": true
}
}

Sana qabul qilinmadi. sold_at siz, tanada boshqa maydonlar bilan yoki noto’g’ri JSON bilan — darhol 400, konvertsiz. Boshqa sabablar konvertda keladi, kod — data.error_code da:

  • 20127 — hujjat yakunlanmagan;
  • 20128 — sold_at YYYY-MM-DD HH:MM:SS formatida emas;
  • 20129 — sana kelajakda yoki 2000-01-01 dan oldin;
  • 20130 — qaytarish yoki almashtirish asl sotuvdan oldin; data.data da — parent_order_id va parent_sold_at (UTC, YYYY-MM-DD HH:MM:SS);
  • 20131 — sotuv o’zining birinchi qaytarishi yoki almashtirishidan keyin; data.data da — child_order_id va child_sold_at (UTC, YYYY-MM-DD HH:MM:SS);
  • 20132, 20133 — sana hujjat tegishli bo’lgan kassa smenasidan tashqarida.
Media typeapplication/json
One of:

Xato tanasi. API da xato tanasining bir nechta formati mavjud; barcha formatlar va kodlar «Javob kodlari va xatolar» bo’limida tavsiflangan.

object
code

HTTP kodi yoki ichki raqamli xato kodi

integer
message

Inson o’qiy oladigan xabar

string
error
One of:
string
data

Foydali yuk (xato bo’lganda odatda null)

object
Example
{
"session_id": "7c2a0f3e-3c52-4a4a-9d0e-5d3a8f1b2c11",
"status_code": 400,
"topic": "v2.order_service.order.patch.failed",
"data": {
"error_code": 20130,
"message": "return or exchange can't be dated earlier than its sale",
"data": {
"parent_order_id": "a1000000-0000-4000-8000-000000000001",
"parent_sold_at": "2026-03-10 12:00:00"
}
}
}

Hujjat kompaniyada topilmadi, data.error_code = 20088.

Media typeapplication/json
One of:

Xato tanasi. API da xato tanasining bir nechta formati mavjud; barcha formatlar va kodlar «Javob kodlari va xatolar» bo’limida tavsiflangan.

object
code

HTTP kodi yoki ichki raqamli xato kodi

integer
message

Inson o’qiy oladigan xabar

string
error
One of:
string
data

Foydali yuk (xato bo’lganda odatda null)

object
Examplegenerated
{
"code": 1,
"message": "example",
"error": {
"code": "example",
"message": "example"
},
"data": {}
}