Skip to content

User Servisi API Dökümantasyonu (v3)

Kullanıcı yönetimi bu servis üzerinden yapılır. Sürücüler, yöneticiler, operatörler ve diğer tüm kullanıcı tipleri bu servis altında oluşturulur ve yönetilir. Alt kaynaklar olarak adresler, araçlar, belgeler, bakiyeler, para çekme talepleri, konumlar, transfer merkezleri ve banka hesapları yönetilebilir.

Base URL: /v3/users


Enum Referansları

User Type (user_type)

DeğerAçıklama
super-adminSüper yönetici
adminYönetici
subadminAlt yönetici
driverSürücü
shipperGönderi sahibi
branchŞube
customerMüşteri
franchiseFranchise
partnerPartner
fleetFilo
operationOperasyon
accountingMuhasebe
transfer-centerTransfer merkezi
region-officerBölge sorumlusu
branch-userŞube kullanıcısı
centers-officerMerkezler sorumlusu

User Status (status)

DeğerAçıklama
passivePasif
activeAktif
pendingBeklemede
removedSilindi

Work Status (work_status)

DeğerAçıklama
activeÇalışıyor
passiveÇalışmıyor

Role (role_type)

DeğerAçıklama
individualBireysel
corporateKurumsal

Company Type (company_type)

DeğerAçıklama
personŞahıs
limitedLimited şirket
anonymousAnonim şirket

Source Type (source_type)

DeğerAçıklama
insourceİç kaynak
outsourceDış kaynak
rentedKiralık
contractedSözleşmeli
individualBireysel

Address Type (address_type)

DeğerAçıklama
individualBireysel adres
invoiceFatura adresi

Vehicle Type (vehicle_type)

DeğerAçıklama
bicycleBisiklet
walkerYaya
scooterScooter
motorbikeMotosiklet
carOtomobil
centipedeKırkayak (TIR)
truckKamyon
ten-wheelerOn tekerlekli
vanMinivan
six-wheelAltı tekerlekli
otherDiğer

Vehicle Body (vehicle_body)

DeğerAçıklama
openAçık kasa
awning-roofTırlı çatı
awning-curationTırlı perdeli
frigoFrigorifik
awning-stabilTırlı sabit
steelÇelik kasa

Vehicle Source (vehicle_source)

DeğerAçıklama
insourceİç kaynak
outsourceDış kaynak
rentedKiralık
contractedSözleşmeli
individualBireysel

Withdraw Status (withdraw_status)

DeğerAçıklama
rejectedReddedildi
pendingBeklemede
approvedOnaylandı

Balance Type (balance_type)

DeğerAçıklama
earningKazanç
withdrawÇekim
addEkleme
paymentÖdeme

Balance Status (balance_status)

DeğerAçıklama
unpaidÖdenmedi
paidÖdendi

Bank Account Type (bank_account_type)

DeğerAçıklama
individualBireysel hesap
corporateKurumsal hesap

Doc Type (doc_type)

DeğerAçıklama
deliveryTeslimat belgesi
driving-licence-frontEhliyet ön yüz
driving-licence-backEhliyet arka yüz
vehicle-licenceRuhsat
trailer-licenceDorse ruhsatı
criminal-licenceSabıka kaydı
src-frontSRC ön yüz
src-backSRC arka yüz
transportTaşıma belgesi
sales-invoiceSatış faturası
transport-invoiceTaşıma faturası
otherDiğer

Doc Status (doc_status)

DeğerAçıklama
createdOluşturuldu
rejectedReddedildi
approvedOnaylandı

1. Create User (Kullanıcı Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "firstname": "Ad",
      "lastname": "Soyad",
      "fullname": "Ad Soyad",
      "identity": "TC Kimlik No",
      "birthday": "1990-01-15",
      "email": "user@example.com",
      "password": "şifre",
      "country_code": "+90",
      "phone": "5554443322",
      "user_type": "driver (default)",
      "role_type": "individual (default)",
      "company": {
        "title_legal": "Yasal ünvan",
        "title_brand": "Marka ünvan",
        "tax_no": "Vergi no",
        "tax_office": "Vergi dairesi",
        "address": "Şirket adresi",
        "company_type": "person | limited | anonymous"
      },
      "status": "active (default)",
      "source_type": "insource | outsource | ...",
      "customer_id": "uuid",
      "supplier_id": "uuid",
      "branch_id": "uuid",
      "transfer_center_id": "uuid",
      "work_status": "passive (default)"
    }

2. List Users (Kullanıcıları Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size]
    • search, include
    • filter[user_type], filter[status], filter[branch_id], filter[supplier_id], filter[transfer_center_id], filter[customer_id]
    • sort[id], sort[type]

3. User Details (Kullanıcı Detayı)

  • URL: GET /:user_id
  • Auth: ClientSecret + User

4. Update User (Kullanıcı Güncelle)

  • URL: PUT /:user_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı alanlar + onesignal_id)
    json
    {
      "firstname": "Yeni ad",
      "lastname": "Yeni soyad",
      "fullname": "Yeni tam ad",
      "identity": "TC Kimlik No",
      "birthday": "1990-01-15",
      "email": "yeni@example.com",
      "password": "yeni_şifre",
      "country_code": "+90",
      "phone": "5554443322",
      "user_type": "driver",
      "role_type": "individual",
      "company": { "..." : "..." },
      "customer_id": "uuid",
      "supplier_id": "uuid",
      "branch_id": "uuid",
      "transfer_center_id": "uuid",
      "status": "active",
      "source_type": "insource",
      "work_status": "active",
      "onesignal_id": "string"
    }

5. Delete User (Kullanıcı Sil)

  • URL: DELETE /:user_id
  • Auth: ClientSecret + User


Withdraws (Para Çekme Talepleri)

Base URL: /v3/users/:user_id/withdraws


6. Create Withdraw (Çekim Talebi Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "amount": 150.00,
      "withdraw_status": "pending (zorunlu — sadece pending gönderilebilir)",
      "prev_balance": 500.00,
      "after_balance": 350.00
    }

7. List Withdraws (Çekim Taleplerini Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search
    • filter[withdraw_status]: Tekli veya dizi
    • sort[id], sort[type]

8. Withdraw Details (Çekim Detayı)

  • URL: GET /:user_withdraw_id
  • Auth: ClientSecret + User

9. Update Withdraw (Çekim Güncelle)

  • URL: PUT /:user_withdraw_id
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "withdraw_status": "approved | rejected | pending (zorunlu)"
    }

10. Delete Withdraw (Çekim Sil)

  • URL: DELETE /:user_withdraw_id
  • Auth: ClientSecret + User


Addresses (Adresler)

Base URL: /v3/users/:user_id/addresses


11. Create Address (Adres Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "latitude": 41.0082,
      "longitude": 28.9784,
      "tag": "Ev",
      "description": "Cadde/Sokak açıklaması",
      "note": "Kapıcıya bırakın",
      "country_id": 1,
      "city_id": 34,
      "district_id": 100,
      "quarter_id": 500,
      "apartment": "Bina adı",
      "floor": "3",
      "flat": "12",
      "zip_code": "34000",
      "full_address": "Tam adres metni",
      "address_type": "individual | invoice (zorunlu)"
    }

12. List Addresses (Adresleri Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search
    • filter[country_id], filter[city_id], filter[district_id], filter[quarter_id], filter[address_type]: Tekli veya dizi
    • sort[id], sort[type]

13. Address Details

  • URL: GET /:user_address_id
  • Auth: ClientSecret + User

14. Update Address

  • URL: PUT /:user_address_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı alanlar)

15. Delete Address

  • URL: DELETE /:user_address_id
  • Auth: ClientSecret + User


Vehicles (Araçlar)

Base URL: /v3/users/:user_id/vehicles


16. Create Vehicle (Araç Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "plate": "34ABC123 (zorunlu)",
      "vehicle_type": "car | truck | van | ... (zorunlu)",
      "vehicle_body": "open | frigo | ... (default: null)",
      "licence_no": "Ruhsat no",
      "trailer_plate": "Dorse plakası",
      "density": "Tonaj / yoğunluk",
      "source_type": "insource | outsource | ...",
      "supplier_id": "uuid"
    }

17. List Vehicles (Araçları Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search
    • filter[vehicle_type]: Tekli veya dizi
    • sort[id], sort[type]

18. Vehicle Details

  • URL: GET /:user_vehicle_id
  • Auth: ClientSecret + User

19. Update Vehicle

  • URL: PUT /:user_vehicle_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı alanlar)

20. Delete Vehicle

  • URL: DELETE /:user_vehicle_id
  • Auth: ClientSecret + User


Transfer Centers (Transfer Merkezleri)

Kullanıcıyı bir transfer merkezine atamak/çıkarmak için kullanılır.

Base URL: /v3/users/:user_id/transfer-centers


21. Create Transfer Center Assignment (Transfer Merkezi Ata)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "transfer_center_id": "uuid (zorunlu)"
    }

22. List Transfer Centers (Transfer Merkezlerini Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search
    • sort[id], sort[type]

23. Delete Transfer Center Assignment (Transfer Merkezi Çıkar)

  • URL: DELETE /:transfer_center_id
  • Auth: ClientSecret + User


Locations (Konumlar)

Kullanıcının konum geçmişi (GPS takibi).

Base URL: /v3/users/:user_id/locations


24. Create Location (Konum Kaydet)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "latitude": 41.0082,
      "longitude": 28.9784
    }

25. List Locations (Konumları Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search, sort[id], sort[type]

26. Location Details

  • URL: GET /:user_location_id
  • Auth: ClientSecret + User

27. Update Location

  • URL: PUT /:user_location_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel)
    json
    {
      "latitude": 41.0082,
      "longitude": 28.9784
    }

28. Delete Location

  • URL: DELETE /:user_location_id
  • Auth: ClientSecret + User


Balances (Bakiye İşlemleri)

Base URL: /v3/users/:user_id/balances


29. Create Balance (Bakiye Kaydı Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "amount": 100,
      "description": "Açıklama",
      "balance_type": "earning | withdraw | add | payment (zorunlu)",
      "balance_status": "unpaid | paid (zorunlu)",
      "order_id": "uuid",
      "user_withdraw_id": "uuid"
    }

30. List Balances (Bakiye Listesi)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search, sort[id], sort[type]

31. Balance Details

  • URL: GET /:user_balance_id
  • Auth: ClientSecret + User

32. Update Balance

  • URL: PUT /:user_balance_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel)
    json
    {
      "amount": 200,
      "description": "Güncelleme açıklaması",
      "balance_type": "earning | withdraw | add | payment",
      "balance_status": "unpaid | paid",
      "includes": {
        "order_id": "uuid",
        "user_withdraw_id": "uuid"
      }
    }

33. Delete Balance

  • URL: DELETE /:user_balance_id
  • Auth: ClientSecret + User


Bank Accounts (Banka Hesapları)

Base URL: /v3/users/:user_id/bank-accounts


34. Create Bank Account (Banka Hesabı Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "number": "TR12 3456 7890 1234 5678 9012 34 (zorunlu — IBAN)",
      "tag": "Ana hesap",
      "description": "Maaş hesabı",
      "bank_id": "banka_kodu (zorunlu)",
      "holder": "Hesap sahibi adı",
      "bank_account_type": "individual | corporate (zorunlu)"
    }

35. List Bank Accounts (Banka Hesaplarını Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search
    • filter[bank_account_type]: Tekli veya dizi
    • sort[id], sort[type]

36. Bank Account Details

  • URL: GET /:user_bank_account_id
  • Auth: ClientSecret + User

37. Update Bank Account

  • URL: PUT /:user_bank_account_id
  • Auth: ClientSecret + User
  • Request Body: (tüm alanlar opsiyonel — Create ile aynı alanlar)

38. Delete Bank Account

  • URL: DELETE /:user_bank_account_id
  • Auth: ClientSecret + User


Documents (Belgeler)

Base URL: /v3/users/:user_id/docs


39. Create Document (Belge Oluştur)

  • URL: POST /
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "doc_type": "delivery | driving-licence-front | ... (zorunlu)",
      "doc_status": "created (default)",
      "title": "Belge başlığı",
      "description": "Açıklama"
    }

40. List Documents (Belgeleri Listele)

  • URL: GET /
  • Auth: ClientSecret + User
  • Query Params:
    • page[index], page[size], search
    • filter[doc_type]: Tekli veya dizi
    • filter[doc_status]: Tekli veya dizi
    • sort[id], sort[type]

41. Document Details

  • URL: GET /:user_doc_id
  • Auth: ClientSecret + User

42. Update Document

  • URL: PUT /:user_doc_id
  • Auth: ClientSecret + User
  • Request Body:
    json
    {
      "doc_status": "approved | rejected (opsiyonel)"
    }

43. Delete Document

  • URL: DELETE /:user_doc_id
  • Auth: ClientSecret + User

berke@lojimod.com