Sotuv sanasini o'zgartirish
const url = 'https://api-admin.billz.ai/v2/order/5f6d2c0e-8a39-4c77-9a42-1d0a6d6f7a11?Billz-Response-Channel=HTTP';const options = { method: 'PATCH', headers: { 'platform-id': '7d4a4c38-dd84-4902-b744-0488b80a4c01', 'Billz-Response-Channel': 'HTTP', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"sold_at":"2023-05-14 18:32:10"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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:00dan 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.
Authorizations
“Authorizations” bo'limiParameters
“Parameters” bo'limiPath Parameters
“Path Parameters” bo'limiSotuv, qaytarish yoki almashtirish IDsi
Example
5f6d2c0e-8a39-4c77-9a42-1d0a6d6f7a11Header Parameters
“Header Parameters” bo'limiPlatforma identifikatori. Integratsiyalar uchun statik qiymat ishlatiladi.
HTTP — hodisani qayta ishlash natijasini kutib, uni HTTP javobida qaytarish. Sarlavhasiz metod faqat e’lon qilingan hodisaning correlation_id sini qaytaradi.
Query Parameters
“Query Parameters” bo'limiBillz-Response-Channel sarlavhasi bilan bir xil — o’z sarlavhasini yubora olmaydigan mijozlar uchun. Ikkalasi ham uzatilsa, sarlavha amal qiladi.
Request Bodyrequired
“Request Bodyrequired” bo'limiobject
Kompaniya vaqt mintaqasidagi yangi sana va vaqt, format YYYY-MM-DD HH:MM:SS
Example
{ "sold_at": "2023-05-14 18:32:10"}Responses
“Responses” bo'limiMuvaffaqiyat. Billz-Response-Channel: HTTP sarlavhasi bilan — asinxron javob konverti, usiz — {"message": "<correlation_id>"}.
object
Mijoz sessiyasi identifikatori
Yakuniy HTTP kodi, 200
So’rov identifikatori
Javob hodisasining turi, masalan <event_type>.success
Sotuv, qaytarish yoki almashtirish IDsi
object
Sotuv, qaytarish yoki almashtirish IDsi
Hujjat turi: sotuv, qaytarish yoki almashtirish
O’zgarishdan oldingi sana, UTC
O’zgarishdan keyingi sana, UTC
false, agar yuborilgan sana joriy sana bilan bir xil bo’lib, hujjat o’zgarmagan bo’lsa
Billz-Response-Channel sarlavhasisiz asinxron metod javobi — hodisa e’lon qilindi.
object
E’lon qilingan hodisaning correlation_id si
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_atYYYY-MM-DD HH:MM:SSformatida emas;20129— sana kelajakda yoki2000-01-01dan oldin;20130— qaytarish yoki almashtirish asl sotuvdan oldin;data.datada —parent_order_idvaparent_sold_at(UTC,YYYY-MM-DD HH:MM:SS);20131— sotuv o’zining birinchi qaytarishi yoki almashtirishidan keyin;data.datada —child_order_idvachild_sold_at(UTC,YYYY-MM-DD HH:MM:SS);20132,20133— sana hujjat tegishli bo’lgan kassa smenasidan tashqarida.
Xato tanasi. API da xato tanasining bir nechta formati mavjud; barcha formatlar va kodlar «Javob kodlari va xatolar» bo’limida tavsiflangan.
Asinxron javob konverti. Billz-Response-Channel: HTTP sarlavhasi uzatilganda qaytariladi. So’rovning yakuniy HTTP kodi status_code maydonidan olinadi.
object
Mijoz sessiyasi identifikatori
Hodisani qayta ishlash holati (u yakuniy HTTP javob kodi hamdir)
object
Xato kodi, xato bo’lmasa bo’sh satr
Xato matni, xato bo’lmasa — bo’sh satr
So’rov identifikatori, e’lon qilingan hodisa ID si bilan mos keladi
Javob hodisasining turi, masalan <event_type>.success
Operatsiya natijasi, agar metod uni qaytarsa
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.
Xato tanasi. API da xato tanasining bir nechta formati mavjud; barcha formatlar va kodlar «Javob kodlari va xatolar» bo’limida tavsiflangan.
Asinxron javob konverti. Billz-Response-Channel: HTTP sarlavhasi uzatilganda qaytariladi. So’rovning yakuniy HTTP kodi status_code maydonidan olinadi.
object
Mijoz sessiyasi identifikatori
Hodisani qayta ishlash holati (u yakuniy HTTP javob kodi hamdir)
object
Xato kodi, xato bo’lmasa bo’sh satr
Xato matni, xato bo’lmasa — bo’sh satr
So’rov identifikatori, e’lon qilingan hodisa ID si bilan mos keladi
Javob hodisasining turi, masalan <event_type>.success
Operatsiya natijasi, agar metod uni qaytarsa
object
Examplegenerated
{ "code": 1, "message": "example", "error": { "code": "example", "message": "example" }, "data": {}}