Skip to content

Order Servisi API Dökümantasyonu (v3)

Sistemdeki siparişlerin (order) yönetimi bu servis üzerinden yapılır. Sipariş oluşturma, güncelleme, silme, teslim, iptal işlemleri ve siparişe bağlı alt kaynaklar (yükler, irsaliyeler, giderler, gelirler, operasyonlar, faturalar, sürücüler, ödemeler, teklifler, dokümanlar) bu uç noktalar üzerinden yönetilir.

Base URL: /v3/orders


Enum Referansları

Order Type (order_type)

DeğerAçıklama
deliveryTeslimat
logisticLojistik
cargoKargo

Order Status (order_status)

DeğerAçıklama
cancelledİptal edildi
createdOluşturuldu
offeringTeklifte
pendingBekleniyor
assignedAtandı
to-pickingToplama aşamasında
pickedToplandı
to-departureÇıkışa hazır
in-departureÇıkışta
to-arrivalVarışa hazır
in-arrivalVarışta
handoverTeslimatta
on-deliveryDağıtımda
deliveredTeslim edildi

Transport Mode (transport_mode)

complete (FTL), partial (LTL), standart, fast, pick

Transport Type (transport_type)

land, air, sea

Content Type (content_type)

document, eat, gift, food, flower, other

Vehicle Type (vehicle_type)

bicycle, walker, scooter, motorbike, car, centipede, truck, ten-wheeler, van, six-wheel, other

Vehicle Body (vehicle_body)

open, awning-roof, awning-curation, frigo, awning-stabil, steel

Upload Type (upload_type)

hand, hand-ramp, forklift-ramp, side-forklift, crane

Container Type (container_type)

standart20, standart40, high20, high40, open20, open40

Pen Type (pen_type)

ld1, ld2, ld3, ld4, ld5, ld6, ld7, ld8, ld9

Shipping Type (shipping_type)

standart, express

Assign Type (assign_type)

pool, auto

Payment Type (payment_type)

cash, receiver, prevailing, prepaid

Payment Method (payment_method)

online, wallet, cash, card, transfer

Load Type (load_type)

pallet, ibc, parcel, pipe, sack, bigbag, barrel, drum, envelope, package, roll, tire, crate, logistics, other

Route Type (route_type)

origin, destination, departure, arrival, transfer

Customer Type (customer_type)

sender, receiver, other

Service Type (service_type)

insurance, duty, porterage, storage, forklift, big-box, medium-box, small-box, handling

Address Type (address_type)

individual, invoice

Company Type (company_type)

person, limited, anonymous


1. Create Order (Sipariş Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "order_type": "delivery (zorunlu)",
      "transport_mode": "complete | partial | standart | fast | pick",
      "transport_type": "land | air | sea",
      "content_type": "document | eat | gift | food | flower | other",
      "vehicle_type": "car | truck | van | ...",
      "vehicle_body": "open | frigo | ...",
      "upload_type": "hand | crane | ...",
      "container_type": "standart20 | ...",
      "pen_type": "ld1 | ...",
      "shipping_type": "standart | express",
      "assign_type": "pool | auto",
      "order_status": "created (default)",
      "third_party_channel": "string",
      "vehicle_quantity": 1,
      "note": "Sipariş notu",
      "is_suborder": false,
      "prev_order_id": "uuid",
      "is_draft": false,
      "distance": 150.5,
      "sales_manager_id": "uuid",
      "operation_manager_id": "uuid",
      "receipt_number": "string (max 51 karakter)",
      "send_sms_to_sender": true,
      "send_sms_to_receiver": true,
      "payment_type": "cash | receiver | prevailing | prepaid",
      "payment_method": "online | wallet | cash | card | transfer",
      "dates": {
        "departure_date": "2024-01-01",
        "departure_hour": "08:00",
        "arrival_date": "2024-01-02",
        "arrival_hour": "18:00"
      },
      "pricing": {
        "base_amount": 1000,
        "commission": 100,
        "services_amount": 50,
        "delivery_amount": 200,
        "discount_amount": 0,
        "coupon_code": "INDIRIM10",
        "sub_total_amount": 1350,
        "vat": 18,
        "vat_amount": 243,
        "total_amount": 1593,
        "est_amount": 1500,
        "holding_amount": 0
      },
      "services": [
        {
          "service_type": "insurance | duty | porterage | ...",
          "pricing": {
            "base_amount": 100,
            "vat": 18,
            "vat_amount": 18,
            "total_amount": 118,
            "quantity": 1
          }
        }
      ],
      "routes": [
        {
          "route_type": "origin | destination | departure | arrival | transfer",
          "address": {
            "latitude": 41.0082,
            "longitude": 28.9784,
            "tag": "Ev",
            "description": "Açıklama",
            "note": "Not",
            "country_id": 1,
            "city_id": 34,
            "district_id": 100,
            "quarter_id": 500,
            "apartment": "A Blok",
            "floor": "3",
            "flat": "12",
            "zip_code": "34000",
            "full_address": "Tam adres metni",
            "address_type": "individual | invoice"
          },
          "person": {
            "firstname": "Ali",
            "lastname": "Yılmaz",
            "fullname": "Ali Yılmaz",
            "identity": "12345678901",
            "phone": "5551234567",
            "email": "ali@email.com",
            "company": {
              "title_legal": "ABC Ltd. Şti.",
              "title_brand": "ABC Lojistik",
              "tax_no": "1234567890",
              "tax_office": "Beyoğlu VD",
              "address": "Şirket adresi",
              "company_type": "person | limited | anonymous"
            }
          },
          "includes": {
            "address_id": "uuid",
            "customer_id": "uuid",
            "user_id": "uuid"
          }
        }
      ],
      "customers": [
        {
          "customer_id": "uuid (zorunlu)",
          "customer_type": "sender | receiver | other (zorunlu)",
          "has_invoice": false
        }
      ],
      "branches": [
        {
          "branch_id": "uuid (zorunlu)",
          "route_type": "origin | destination (zorunlu)",
          "in_branch": false
        }
      ],
      "loads": [
        {
          "load_type": "parcel | pallet | ...",
          "height": 50,
          "width": 40,
          "length": 60,
          "weight": 10,
          "quantity": 2,
          "stackable": false,
          "density": "düşük",
          "load_no": "YUK-001",
          "pricing": {
            "base_amount": 100,
            "postal_service_amount": 10,
            "sub_total_amount": 110,
            "vat": 18,
            "vat_amount": 19.8,
            "total_amount": 129.8
          }
        }
      ]
    }
  • Response:
    json
    {
      "success": true,
      "data": { "order_id": "uuid", "order_no": "ORD-0001", "..." : "..." },
      "error": null
    }

2. List Orders (Siparişleri Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index]: Sayfa indexi (default: 0)
    • page[size]: Sayfa boyutu (default: 20)
    • search: Arama metni
    • sort[id]: Sıralama alanı
    • sort[type]: asc / desc
    • Filtreler (filter[...]):
      • start_date, end_date, created_at, min_date, max_date: Tarih filtreleri
      • customer_id, user_id, driver_id, branch_id: UUID filtreleri
      • order_type, transport_mode, content_type, transport_type: Tip filtreleri
      • vehicle_type, vehicle_body, upload_type, container_type, pen_type: Araç/yükleme filtreleri
      • shipping_type, assign_type: Gönderim/atama filtreleri
      • status: Sipariş durumu filtresi
      • payment_type: Ödeme tipi filtresi (dizi olarak gönderilebilir)
      • has_invoice: Fatura durumu filtresi (boolean)
      • invoice_status: Fatura durumu (dizi olarak gönderilebilir)
      • collection_status: Tahsilat durumu (dizi olarak gönderilebilir)
      • transfer_center_id: Transfer merkezi filtresi (dizi olarak gönderilebilir)
    • Derin Arama (deep_search[...]):
      • sender_customer: Gönderici müşteri
      • receiver_customer: Alıcı müşteri
      • origin_branch: Çıkış şubesi
      • destination_branch: Varış şubesi
      • order_no: Sipariş numarası
      • invoice_customer: Fatura müşterisi
      • created_by: Oluşturan kullanıcı
  • Response:
    json
    {
      "success": true,
      "data": {
        "items": 100,
        "page": 0,
        "data": [ { "order_id": "uuid", "order_no": "ORD-0001", "..." : "..." } ]
      },
      "error": null
    }

3. Order Details (Sipariş Detayı)

  • URL: GET /:order_id
  • Auth: ClientSecret + User
  • Response: Siparişin tüm alanları + ilişkili rotalar, yükler, müşteriler, şubeler, fiyatlandırma bilgileri ile döner.

4. Update Order (Sipariş Güncelle)

  • URL: PUT /:order_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı yapı)
    • order_type, transport_mode, transport_type, content_type, vehicle_type, vehicle_body
    • upload_type, container_type, pen_type, shipping_type, assign_type
    • third_party_channel, vehicle_quantity, note, is_suborder, prev_order_id, is_draft
    • order_status, pricing, services, routes, customers, branches, loads
    • payment_type, payment_method, distance, sales_manager_id, operation_manager_id
    • receipt_number (max 51 karakter)
  • Response: success: true

5. Delete Order (Sipariş Sil)

  • URL: DELETE /:order_id
  • Auth: ClientSecret + User
  • Response: success: true

6. Cancel Order (Sipariş İptal Et)

  • URL: GET /:order_id/cancel
  • Auth: ClientSecret + User
  • Response: Sipariş durumu cancelled olarak güncellenir.

7. Cancel Delivery (Teslim İptal Et)

Teslim edilmiş bir siparişin teslimini geri alır.

  • URL: POST /:order_id/cancel-delivery
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "cancel_reason": "İptal sebebi (opsiyonel)"
    }
  • Response: success: true

8. Deliver Loads (Yükleri Teslim Et)

Siparişteki yükleri toplu olarak teslim edildi olarak işaretler.

  • URL: POST /:order_id/deliver-loads
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "loads": ["LOAD-001", "LOAD-002"],
      "recipient_name": "Alıcı adı (opsiyonel)",
      "recipient_phone": "Alıcı telefon (opsiyonel)"
    }
  • Response: success: true

9. Notice Loads (Yük Tutanağı Oluştur)

Hasarlı, yanlış veya eksik yükler için tutanak oluşturur.

  • URL: POST /:order_id/notice-loads
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "loads": ["LOAD-001"],
      "notice_reason": "damaged | wrong | missing | confused",
      "description": "Hasar açıklaması"
    }
  • Response: success: true

10. Handover Create (Devir Oluştur)

Siparişi bir devir (handover) durumuna alır.

  • URL: POST /:order_no/handovers
  • Auth: ClientSecret + User
  • Params: order_no (UUID değil, sipariş numarası)
  • Request Body:
    json
    {
      "handover_reason": "away | unreachable | other"
    }
  • Response: success: true

11. Export (Dışa Aktar)

Siparişleri filtrelere göre dışa aktarır (excel/csv).

  • URL: GET /:order_id/export
  • Auth: ClientSecret + User
  • Query Params: List endpoint'i ile aynı filtre ve deep_search parametrelerini kabul eder.
  • Response: Dosya indirme yanıtı.

12. Report (Rapor)

Aylık/yıllık sipariş raporlarını döner.

  • URL: GET /:order_id/report
  • Auth: ClientSecret + User
  • Query Params:
    • filter[customer_id]: Müşteri filtresi
    • filter[has_invoice]: Fatura durumu
    • filter[branch_id]: Şube filtresi
    • filter[report_year]: Rapor yılı (default: 2025)
    • filter[status]: Durum filtresi (dizi olarak gönderilebilir)
    • filter[min_date], filter[max_date]: Tarih aralığı
  • Response: Rapor verisi.

13. Suspended Report (Askıda Rapor)

Askıda olan siparişlerin raporunu döner.

  • URL: GET /:order_id/suspended-report
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size]: Sayfalama
    • search: Arama metni
  • Response: Standart sayfalı liste.

14. Print Load Barcode (Yük Barkodu Yazdır)

Siparişe ait yük barkodlarının yazdırılabilir çıktısını döner. Auth gerektirmez.

  • URL: GET /:order_id/print-load-barcode
  • Query Params:
    • barcodes: Yazdırılacak barkod numaraları (zorunlu, string)
  • Response: HTML formatında barkod çıktısı.

15. Print Receipt (Makbuz Yazdır)

Siparişe ait makbuzun yazdırılabilir çıktısını döner. Auth gerektirmez.

  • URL: GET /:order_id/print-receipt
  • Response: HTML formatında makbuz çıktısı.

16. Order Logs (Sipariş Logları)

Siparişe ait işlem geçmişini döner.

  • URL: GET /:order_id/logs
  • Auth: ClientSecret + User
  • Response: Sipariş log kayıtları listesi.

17. Calculate Order Price (Sipariş Fiyatı Hesapla)

Başlangıç ve bitiş koordinatlarına göre tahmini fiyat hesaplar.

  • URL: POST /calculate-order-price
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "origin": {
        "latitude": 41.0082,
        "longitude": 28.9784
      },
      "destination": {
        "latitude": 39.9334,
        "longitude": 32.8597
      },
      "vehicle_type": "truck (zorunlu)",
      "weight": 1500
    }
  • Response:
    json
    {
      "success": true,
      "data": { "estimated_price": 2500, "..." : "..." },
      "error": null
    }

18. Calculate Balance — Customers

  • URL: GET /calculate-balances/customers
  • Response: Müşteri bazında bakiye hesaplaması.

19. Calculate Balance — Branches

  • URL: GET /calculate-balances/branches
  • Response: Şube bazında bakiye hesaplaması.


Alt Kaynaklar (Sub-Resources)

Aşağıdaki tüm alt kaynaklar /v3/orders/:order_id/ altında yer alır ve aksi belirtilmedikçe ClientSecret + User yetkisi gerektirir.


20. Waybills (İrsaliyeler)

Siparişe ait irsaliye kayıtlarının yönetimi.

  • Base URL: /v3/orders/:order_id/waybills

20.1 Create Waybill

  • URL: POST /
  • Request Body:
    json
    {
      "serial_no": "SER-001",
      "sequence_no": "001 (zorunlu)",
      "waybill_type": "shipment | transportation (default: shipment)",
      "shipment_date": "2024-01-15",
      "shipment_hour": "08:00",
      "currency": "TRY",
      "amount": 5000
    }
  • Response: success: true, data: { order_waybill_id: "uuid", ... }

20.2 List Waybills

  • URL: GET /
  • Query Params:
    • page[index], page[size]: Sayfalama
    • search: Arama
    • filter[waybill_type]: shipment / transportation (tekli veya dizi)
    • sort[id], sort[type]

20.3 Waybill Details

  • URL: GET /:order_waybill_id

20.4 Update Waybill

  • URL: PUT /:order_waybill_id
  • Request Body: (tüm alanlar opsiyonel)
    • serial_no, sequence_no, waybill_type, shipment_date, shipment_hour, currency, amount

20.5 Delete Waybill

  • URL: DELETE /:order_waybill_id

21. Expenses (Giderler)

Siparişe ait gider kalemlerinin yönetimi.

  • Base URL: /v3/orders/:order_id/expenses

21.1 Create Expense

  • URL: POST /
  • Request Body:
    json
    {
      "supplier_id": "uuid (zorunlu)",
      "expense_type": "freight | porterage | transport | spot (default: freight)",
      "description": "Gider açıklaması",
      "date": "2024-01-15",
      "pricing": {
        "unit_type": "piece (zorunlu)",
        "quantity": 1,
        "unit_price": "1000",
        "vat": "18",
        "total_price": "1180",
        "vat_price": "180",
        "holding_price": "0",
        "currency": "TRY"
      }
    }

21.2 List Expenses

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[expense_type]: freight / porterage / transport / spot (tekli veya dizi)
    • sort[id], sort[type]

21.3 Expense Details

  • URL: GET /:order_expense_id

21.4 Update Expense

  • URL: PUT /:order_expense_id
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı yapı)

21.5 Delete Expense

  • URL: DELETE /:order_expense_id

22. Incomes (Gelirler)

Siparişe ait gelir kalemlerinin yönetimi.

  • Base URL: /v3/orders/:order_id/incomes

22.1 Create Income

  • URL: POST /
  • Request Body:
    json
    {
      "supplier_id": "uuid (opsiyonel)",
      "customer_id": "uuid (opsiyonel)",
      "income_type": "freight | porterage | transport | spot (default: freight)",
      "description": "Gelir açıklaması",
      "date": "2024-01-15",
      "pricing": {
        "unit_type": "piece (zorunlu)",
        "quantity": 1,
        "unit_price": "2000",
        "vat": "18",
        "total_price": "2360",
        "vat_price": "360",
        "holding_price": "0",
        "currency": "TRY"
      }
    }

22.2 List Incomes

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[income_type]: freight / porterage / transport / spot (tekli veya dizi)
    • sort[id], sort[type]

22.3 Income Details

  • URL: GET /:order_income_id

22.4 Update Income

  • URL: PUT /:order_income_id
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı yapı)

22.5 Delete Income

  • URL: DELETE /:order_income_id

23. Loads (Yükler)

Siparişe ait yük birimlerinin yönetimi.

  • Base URL: /v3/orders/:order_id/loads

23.1 Create Load

  • URL: POST /
  • Request Body:
    json
    {
      "load_type": "parcel (zorunlu) | pallet | ibc | pipe | sack | bigbag | barrel | drum | envelope | package | roll | tire | crate | logistics | other",
      "height": 50,
      "width": 40,
      "length": 60,
      "weight": 10,
      "quantity": 2,
      "stackable": false,
      "density": "düşük",
      "load_no": "YUK-001",
      "pricing": {
        "base_amount": 100,
        "postal_service_amount": 10,
        "sub_total_amount": 110,
        "vat": 18,
        "vat_amount": 19.8,
        "total_amount": 129.8
      }
    }

23.2 List Loads

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[load_no]: Yük numarası
    • filter[branch_id]: Şube filtresi
    • sort[id], sort[type]

23.3 Load Details

  • URL: GET /:order_load_id

23.4 Update Load

  • URL: PUT /:order_load_id
  • Request Body: (tüm alanlar opsiyonel)
    • load_type, height, width, length, weight, quantity, stackable, density, load_no

23.5 Delete Load

  • URL: DELETE /:order_load_id

23.6 Export Load

Yüke ait detayları dışa aktarır.

  • URL: GET /:order_load_id/export
  • Query Params: List ile aynı filtre parametreleri.

24. Load Logs (Yük Logları)

Yük birimlerinin hareket/durum log kayıtlarının yönetimi.

  • Base URL: /v3/orders/:order_id/loads/:order_load_id/logs

24.1 Create Load Log

  • URL: POST /
  • Request Body:
    json
    {
      "load_no": "YUK-001 (zorunlu)",
      "load_type": "parcel (zorunlu) | pallet | ...",
      "load_status": "created | loaded | unloaded | distribution | delivered | not-delivered | missing | cancelled (zorunlu)",
      "load_action_type": "saved | load | unload | delivered (zorunlu)",
      "leg_id": "uuid (opsiyonel)"
    }

24.2 List Load Logs

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[load_no]: Yük numarası (tekli veya dizi)
    • sort[id], sort[type]

24.3 Load Log Details

  • URL: GET /:order_load_log_id

24.4 Update Load Log

  • URL: PUT /:order_load_log_id
  • Request Body: (tüm alanlar opsiyonel)
    • load_no, load_type, load_status, load_action_type, leg_id

24.5 Delete Load Log

  • URL: DELETE /:order_load_log_id

25. Operations (Operasyonlar)

Siparişe ait operasyon kayıtlarının yönetimi (toplama, taşıma, dağıtım).

  • Base URL: /v3/orders/:order_id/operations

25.1 Create Operation

  • URL: POST /
  • Request Body:
    json
    {
      "operation_type": "picking | transport | delivery (zorunlu)",
      "source_type": "insource | outsource (zorunlu)",
      "vehicle_id": "uuid",
      "order_id": "uuid",
      "user_id": "uuid",
      "supplier_id": "uuid"
    }

25.2 List Operations

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[operation_type]: picking / transport / delivery (tekli veya dizi)
    • filter[source_type]: insource / outsource (tekli veya dizi)
    • sort[id], sort[type]

25.3 Operation Details

  • URL: GET /:order_operation_id

25.4 Update Operation

  • URL: PUT /:order_operation_id
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı yapı)

25.5 Delete Operation

  • URL: DELETE /:order_operation_id

26. Invoices (Faturalar)

Siparişe ait fatura kayıtlarının yönetimi.

  • Base URL: /v3/orders/:order_id/invoices

26.1 Create Invoice

  • URL: POST /
  • Request Body:
    json
    {
      "issue_date": "2024-01-15 (zorunlu)",
      "quantity": 1,
      "unit_price": 1000,
      "vat": 18,
      "title": "Fatura başlığı",
      "description": "Fatura açıklaması",
      "note": "Not",
      "due_date": "2024-02-15",
      "invoice_series": "FTR",
      "invoice_sequence": "001",
      "currency": "TRY",
      "invoice_platform": "parasut | arf (zorunlu)"
    }

26.2 List Invoices

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[invoice_platform]: parasut / arf (tekli veya dizi)
    • sort[id], sort[type]

26.3 Invoice Details

  • URL: GET /:order_invoice_id

26.4 Update Invoice

  • URL: PUT /:order_invoice_id
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı yapı)

26.5 Delete Invoice

  • URL: DELETE /:order_invoice_id

27. Drivers (Sürücüler)

Siparişe atanan sürücülerin yönetimi.

  • Base URL: /v3/orders/:order_id/drivers

27.1 Assign Driver

  • URL: POST /
  • Request Body:
    json
    {
      "user_id": "uuid (zorunlu)",
      "driver_status": "approved (default) | cancelled | rejected | atandı | completed"
    }
  • Driver Status Değerleri:
    DeğerAçıklama
    cancelledİptal edildi
    rejectedReddedildi
    atandıAtandı
    approvedKabul edildi
    completedTamamlandı

27.2 List Drivers

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[driver_status]: Durum filtresi (tekli veya dizi)
    • sort[id], sort[type]

27.3 Driver Details

  • URL: GET /:user_id

27.4 Update Driver

  • URL: PUT /:user_id
  • Request Body:
    json
    {
      "driver_status": "completed (zorunlu)"
    }

27.5 Remove Driver

  • URL: DELETE /:user_id

28. Payments (Ödemeler)

Siparişe ait ödeme işlemlerinin yönetimi. Kredi kartı ile ödeme, sanal pos callback'leri dahil.

  • Base URL: /v3/orders/:order_id/payments

28.1 Create Payment

  • URL: POST /
  • Request Body:
    json
    {
      "payment_method": "online | wallet | cash | card | transfer (zorunlu)",
      "card_token": "Kayıtlı kart token'ı",
      "due_date": "2024-02-15",
      "payment_status": "pending (default) | cancelled | fail | paid",
      "card": {
        "holder": "ALI YILMAZ",
        "number": "4111111111111111",
        "expire_year": "2025",
        "expire_month": "12",
        "code": "123"
      }
    }
  • Payment Status Değerleri: cancelled, fail, pending, paid

28.2 List Payments

  • URL: GET / (Not: Router'da GET /paymets olarak tanımlı — typo)
  • Query Params:
    • page[index], page[size], search
    • filter[payment_method]: Ödeme yöntemi filtresi (tekli veya dizi)
    • filter[payment_status]: Ödeme durumu filtresi (tekli veya dizi)
    • sort[id], sort[type]

28.3 Payment Details

  • URL: GET /:order_payment_id

28.4 Update Payment

  • URL: PUT /:order_payment_id
  • Request Body:
    json
    {
      "payment_status": "paid"
    }

28.5 Delete Payment

  • URL: DELETE /:order_payment_id

28.6 Payment Success Callback (Sanal POS)

Sanal POS başarılı ödeme callback'i. Auth gerektirmez.

  • URL: POST /:order_payment_id/success veya GET /:order_payment_id/success
  • Body/Query: Banka tarafından gönderilen POS yanıt verileri:
    • RESPONSE_CODE, RESPONSE_DATA, USE_3D, MERCHANT_NO, AUTH_CODE
    • CLIENT_REFERANCE_CODE, TIMESTAMP, TRANSACTION_AMOUNT, AUTHORIZATION_AMOUNT
    • COMMISION, COMMISION_RATE, INSTALLMENT, RND, hashData, hashDataV2, BANK_RESULT

28.7 Payment Fail Callback (Sanal POS)

Sanal POS başarısız ödeme callback'i. Auth gerektirmez.

  • URL: POST /:order_payment_id/fail

29. Offers (Teklifler)

Sipariş için fiyat teklifi yönetimi.

  • Base URL: /v3/orders/:order_id/offers

29.1 Create Offer

  • URL: POST /

  • Request Body:

    json
    {
      "prev_price": 1000,
      "price": 1200,
      "users": [
        {
          "user_id": "uuid (zorunlu)",
          "user_type": "admin | driver | shipper | ... (zorunlu)",
          "side": "sender | receiver (zorunlu)"
        },
        {
          "user_id": "uuid (zorunlu)",
          "user_type": "admin | driver | shipper | ... (zorunlu)",
          "side": "sender | receiver (zorunlu)"
        }
      ]
    }

    users dizisi tam 2 eleman içermelidir (gönderici ve alıcı taraf).

  • Offer Status Değerleri: cancelled, created, approved, rejected

  • User Side Değerleri: sender, receiver

29.2 List Offers

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[offer_status]: cancelled / created / approved / rejected (tekli veya dizi)
    • filter[user_type]: Kullanıcı tipi filtresi (tekli veya dizi)
    • filter[user_id]: Kullanıcı filtresi (tekli veya dizi)
    • sort[id], sort[type]

29.3 Offer Details

  • URL: GET /:order_offer_id

29.4 Update Offer

  • URL: PUT /:order_offer_id
  • Request Body:
    json
    {
      "offer_status": "approved"
    }

29.5 Delete Offer

  • URL: DELETE /:order_offer_id

30. Documents (Dokümanlar)

Siparişe ait doküman/belge yönetimi (ehliyet, ruhsat, fatura vb.).

  • Base URL: /v3/orders/:order_id/docs

30.1 Create Document

  • URL: POST /

  • Request Body:

    json
    {
      "doc_type": "delivery (zorunlu) | driving-licence-front | driving-licence-back | vehicle-licence | trailer-licence | criminal-licence | src-front | src-back | transport | sales-invoice | transport-invoice | other",
      "doc_status": "created (default) | rejected | approved",
      "title": "Doküman başlığı",
      "description": "Doküman açıklaması",
      "user_types": ["admin"]
    }

    user_types: Dokümanı görebilecek kullanıcı tipleri dizisi. Default: ["admin"]

  • Doc Status Değerleri: rejected, created, approved

30.2 List Documents

  • URL: GET /
  • Query Params:
    • page[index], page[size], search
    • filter[doc_type]: Doküman tipi filtresi (tekli veya dizi)
    • filter[doc_status]: Doküman durumu filtresi (tekli veya dizi)
    • sort[id], sort[type]

30.3 Document Details

  • URL: GET /:order_doc_id

30.4 Update Document

  • URL: PUT /:order_doc_id
  • Request Body:
    json
    {
      "doc_status": "approved"
    }

30.5 Delete Document

  • URL: DELETE /:order_doc_id

berke@lojimod.com