LASTSIS API Dokümantasyonu
3. parti yazılımlar ile entegrasyon kılavuzu
API'mız JSON olarak çalışır ve Authorization header'da Bearer Token kullanır.
Güvenli Entegrasyon
Token tabanlı kimlik doğrulama
Açıklama
Lastsis'in API'si, işletmelerin kendi sistemlerine entegre ederek Lastsis'in sunduğu geniş özelliklerden yararlanmasını sağlar. Bu dokümantasyon; adımlar, endpoint'ler, parametreler ve dönüş değerleri konusunda rehberlik eder.
https://panel.lastsis.com/api
Müşteriler
a) Müşteri Listesi
GET /customers
Açıklama: Müşteri tipi "legal" ise kurumsal, "private" ise bireysel müşteridir. Kurumsal müşterilerde, şirket bilgileri company parametresinden alınabilir.
company: Kurumsal müşterilerde kurum bilgilerini içerir. Eğer is_fleet parametresi true dönerse, müşteri aynı zamanda bir filodur.
Path Parameters
query (optional): Müşteri adı, soyadı, TCKN, firma ünvanı ve firma VKN bilgilerine göre filtreleme yapmak için kullanılır.
b) Müşteri Oluşturma/Güncelleme
POST /customers/create
Açıklama: Bu endpoint, yeni bir müşteri oluşturur veya var olan müşteri bilgilerini günceller. Eğer halihazırda, gönderilen external_id ile aynı external_id'ye sahip bir müşteri varsa güncelleme işlemi yapılır, yoksa yeni müşteri oluşturulur.
{
"type": 1,
"external_id": "123456",
"title": "Example Corp",
"tax_office": "Example Tax Office",
"tax_no": "1234567890",
"phone": "555-555-5555",
"email": "example@example.com",
"name": "John",
"surname": "Doe",
"address": "Example Street, No: 1",
"city": "Example City",
"county": "Example County"
}Validation Kuralları
type:
external_id:
title:
tax_office:
tax_no:
phone:
email:
name:
surname:
address:
city:
county:
tc_no:
Ürünler
a) Ürün Listesi
GET /products
Açıklama: Ürün listesini içerir.
Response Fields
- id: Ürün ID bilgisi.
- title: Ürün adı.
- product_category_id: Kategori ID bilgisi.
- brand: Marka bilgisi.
- barcode: Barkod bilgisi.
- reference_code: Referans (Stok) kodu bilgisi.
- image: Görsel bilgisi.
- price: Vergi hariç fiyatı.
- vat: Vergi oranı.
- total_vat: Toplam vergi tutarı.
- discount_rate: İndirim oranı.
- quantity: Ürünün mevcut stok bilgisi.
- quantity_type: Stok tipi.
- is_tire: Ürünün lastik olup olmadığını belirtir.
- season: Ürün mevsim bilgisi.
- dot: Üretim yılı bilgisi.
- is_active: Ürünün satışta olup olmadığını belirtir.
- new_price: Vergi dahil satış tutarı.
- category: Ürünün kategori bilgileri
- id: Kategori ID bilgisi.
- title: Kategori adı.
- description: Kategori açıklaması.
b) Ürün Oluşturma/Güncelleme
POST /products/create
Açıklama: Bu endpoint, yeni bir ürün oluşturur veya var olan ürün bilgilerini günceller. Eğer halihazırda, gönderilen external_id ile aynı external_id'ye sahip bir ürün varsa güncelleme işlemi yapılır, yoksa yeni ürün oluşturulur.
{
"is_tire": 1,
"external_id": "example_external_id",
"title": "Example Product",
"description": "This is an example product.",
"barcode": "1234567890123",
"reference_code": "REF123",
"oem_code": "OEM123",
"product_category_id": 1,
"tire_brand": 1,
"product_brand_id": 1,
"product_supplier_id": 1,
"save_flowing": true,
"dispatch_list": "DISPATCH123",
"season": "Dört Mevsim",
"dot": "2023",
"noise_level": 70,
"energy_class": "A",
"brake_performance": "B",
"price_currency": "TRY",
"cost": 100.0,
"cost_with_tax": 118.0,
"cost_vat": 18.0,
"price": 120.0,
"price_with_tax": 141.6,
"price_vat": 21.6,
"discount_rate": 5.0,
"quantity": 50,
"quantity_type": "Adet",
"min_stock": 10,
"address_id": 1,
"is_second_hand": 0
}Validation Kuralları
is_tire:
external_id:
title:
description:
barcode:
reference_code:
oem_code:
product_category_id:
tire_brand:
product_brand_id:
product_supplier_id:
save_flowing:
dispatch_list:
season:
dot:
noise_level:
energy_class:
brake_performance:
price_currency:
cost:
cost_with_tax:
cost_vat:
price:
price_with_tax:
price_vat:
discount_rate:
quantity:
quantity_type:
min_stock:
address_id:
is_second_hand:
c) Ürün Stok Güncelleme
POST /products/stock-exchange
Açıklama: Bu endpoint, belirtilen ürünün stok miktarını günceller.
{
"external_id": "82919",
"address_id": 40,
"quantity": 110,
"cost": 3000,
"vat": 20,
"total_vat": 2500,
"note": "satış nedeniyle yapılan güncelleme",
"date": "2024-12-05"
}Validation Kuralları
external_id:
address_id:
quantity:
cost:
vat:
total_vat:
note:
date:
Hizmetler
a) Hizmetler Listesi
GET /services
Açıklama: Ürünlerden ayrı olarak hizmet bilgilerini içerir. Fiyatlama bilgileri products ile aynıdır.
b) Hizmet Oluşturma/Güncelleme
POST /services/create
Açıklama: Bu endpoint, yeni bir hizmet oluşturur veya var olan hizmeti günceller. Eğer halihazırda, gönderilen external_id ile aynı external_id'ye sahip bir hizmet varsa güncelleme işlemi yapılır, yoksa yeni hizmet oluşturulur.
{
"name": "Servis Adı",
"external_id": "Harici ID",
"category_id": 1,
"price": 100.0,
"vat": 20,
"total_vat": 20.0
}Validation Kuralları
name:
external_id:
category_id:
price:
vat:
total_vat:
Tedarikçiler
GET /suppliers
Açıklama: Tedarikçi bilgilerini içerir.
Örnek Response Body:
{
"id": "Tedarikçi unique ID bilgisi",
"firm_id": "Tedarikçinin ait olduğu firmanın unique ID bilgisi",
"title": "Tedarikçi ünvan bilgisi",
"name": "Tedarikçi yetkisinin isim bilgisi",
"surname": "Tedarikçi yetkisinin soyisim bilgisi",
"phone": "Tedarikçi telefon bilgisi",
"phone_2": "Tedarikçi alternatif telefon bilgisi",
"email": "Tedarikçi email bilgisi",
"city": "Tedarikçi il bilgisi",
"county": "Tedarikçi ilçe bilgisi",
"county_id": "Tedarikçi ilçe unique ID bilgisi",
"city_id": "Tedarikçi il unique ID bilgisi",
"address": "Tedarikçi adres bilgisi",
"tax_office": "Tedarikçi vergi dairesi bilgisi",
"tax_no": "Tedarikçi vergi no bilgisi",
"photo": "Tedarikçi görseli dosya adı bilgisi",
"flowing_customer_id": "Tedarikçinin cari olarak bağlı olduğu müşterinin unique ID bilgisi",
"created_at": "Tedarikçinin oluşturulduğu tarih bilgisi",
"updated_at": "Tedarikçinin son güncellendiği tarih bilgisi"
}İş Emirleri
GET /orders
Açıklama: Müşteri-şirket, araç, verilen hizmet & satılan ürünler bilgilerini içerir.
İş Emri Durumları:
- Açık İş Emri:
status=0,is_offer=0 - Teklif İş Emri:
status=0,is_offer=1 - Tamamlanmış İş Emri:
status=1
Basket parametresi, sipariş içeriğini belirtir. Eğer "product" değeri boşsa, "service" değerine bakılabilir.
Örnek Response Body:
{
"id": "Siparişin unique ID bilgisi",
"customer": "Siparişin ait olduğu müşteri bilgisi",
"vehicle": "Siparişin ait olduğu aracın bilgisi",
"basket": "Siparişin sepet içeriğinin bilgisi",
"total": "Siparişin KDV hariç tutar bilgisi",
"vat": "Siparişin KDV tutarı bilgisi",
"discount": "Siparişin KDV hariç indirim tutarı bilgisi",
"discount_vat": "Siparişte yapılan indirimin KDV tutarı bilgisi",
"status": "Siparişin tamamlanıp tamamlanmadığının bilgisi",
"net_worth": "Siparişin KDV dahil toplam tutar bilgisi",
"payment_type": "Siparişin ödeme türü bilgisi",
"main_name": "Siparişin ait olduğu müşteri ünvan/ad-soyad bilgisi",
"sub_name": "Siparişin ait olduğu müşterinin yetkili ad/soyad bilgisi",
"created_at": "Sipariş tarih bilgisi",
"year_formatted": "Sipariş tarih bilgisi (d-m-Y formatında)",
"hour_formatted": "Sipariş saat bilgisi (H:i formatında)",
"is_formalized": "Sipariş için Lastsis üzerinden e-fatura kesilip kesilmediğinin bilgisi",
"invoice_id": "Sipariş için kesilen faturanın unique ID bilgisi",
"note": "Sipariş için alınmış not bilgisi"
}Filtreleme Parametreleri
- customer_id
- company_id
- start_at: Girilen değerden sonraki tarihlerde oluşturulmuş siparişleri filtreler.
- end_at: Girilen değerden önceki tarihlerde oluşturulmuş siparişleri filtreler.
* Tarih filtreleri, belirli bir tarih aralığındaki siparişleri filtrelemek için birlikte kullanılabilir.
Cari Hesaplar
GET /transactions
Açıklama: Cari hareket listesini içerir.
Örnek Response Body:
{
"id": "Hareket unique ID bilgisi",
"firm_id": "Hareketin ait olduğu firmanın unique ID bilgisi",
"customer_id": "Hareketin ait olduğu müşterinin unique ID bilgisi",
"company_id": "Hareketin ait olduğu şirketin unique ID bilgisi",
"order_id": "Hareketin ait olduğu siparişin unique ID bilgisi",
"product_supplier_id": "Hareketin ait olduğu tedarikçinin unique ID bilgisi",
"cost_id": "Hareketin ait olduğu giderin unique ID bilgisi",
"debt": "Hareketin borç tutar bilgisi",
"due": "Hareketin ödeme tutar bilgisi",
"total_vat": "Hareketin ödeme/borç vergi tutarı bilgisi",
"payment_date": "Hareketin gerçekleştiği tarih bilgisi",
"payment_type": "Hareketin ödeme türü bilgisi",
"description": "Hareketin açıklaması",
"payment_description": "Harekete ait ödeme açıklaması",
"created_at": "Hareket kaydının oluşturulduğu tarih bilgisi",
"updated_at": "Hareket kaydının en son güncellendiği tarih bilgisi",
"invoice_id": "Hareketin ait olduğu faturanın unique ID bilgisi",
"bank_transaction_id": "Hareketin ait olduğu faturanın unique ID bilgisi",
"is_tevkifat": "Hareketin tevkifatlı faturaya ait olup olmadığının bilgisi",
"paid_invoice_id": "Hareketin gider fatura unique ID bilgisi",
"is_manuel_payment": "Hareketin kullanıcı tarafından manuel olarak eklenip eklenmediğinin bilgisi",
"is_transfer": "Hareketin virman hareketine ait olup olmadığının bilgisi",
"payment_id": "Hareketin bağlı olduğu sanal pos hareketininin unique ID bilgisi",
"dispatch_list_id": "Hareketin bağlı olduğu irsaliyenin unique ID bilgisi",
"firm_pos_info_id": "Hareketin bağlı olduğu pos unique ID bilgisi",
"receivable_id": "Hareketin bağlı olduğu vadeli ödeme/alacak unique ID bilgisi",
"user_id": "Hareketi oluşturan kullanıcının unique ID bilgisi",
"cash_box_flowing_id": "Hareketin bağlı olduğu kasa hareketinin unique ID bilgisi",
"transfer_flowing_id": "Hareketin bağlı olduğu virman banka hareketinin unique ID bilgisi",
"transfer_cash_box_flowing_id": "Hareketin bağlı olduğu virman kasa hareketinin unique ID bilgisi",
"customer": "Hareketin bağlı olduğu müşteri bilgileri",
"company": "Hareketin bağlı olduğu şirket bilgileri",
"order": "Hareketin bağlı olduğu sipariş bilgileri",
"firm_pos_info": "Hareketin bağlı olduğu pos bilgileri",
"cost": "Hareketin bağlı olduğu gider bilgileri",
"dispatch_list": "Hareketin bağlı olduğu irsaliye bilgileri"
}Filtreleme Parametreleri
- customer_id
- company_id
Stok Hareketleri
GET /inventory-transactions
Açıklama: Stok hareketlerini içerir.
Response Fields
- changing: Stok hareketini temsil eder. Örneğin; 20 adet ürün girişi için 20, çıkış için -20.
- quantity: Stok hareketi sonrası kalan toplam sayı.
- product: İşlem yapılan ürün.
- product_supplier: İşlem yapılan tedarikçi.
- dispatch_list: İşlem yapılan irsaliye bilgisi.
Stok hareketi türü, quantity_type bölümünden alınabilir. Sebep bilgisi reason parametresindedir.
Ürün Kategorileri
GET /product-categories
Açıklama: Ürün kategorileri bilgilerini içerir.
Örnek Response Body:
{
"id": "Ürün kategorisi unique ID bilgisi",
"title": "Ürün kategorisi isim bilgisi",
"description": "Ürün kategorisi açıklaması"
}Hizmet Kategorileri
GET /service-categories
Açıklama: Hizmet kategorileri bilgilerini içerir.
Örnek Response Body:
{
"id": "Hizmet kategorisi unique ID bilgisi",
"name": "Hizmet kategorisi isim bilgisi"
}Lastik Markaları
GET /tires/brands
Açıklama: Lastik markaları bilgilerini içerir.
Örnek Response Body:
{
"id": "Lastik markası unique ID bilgisi",
"title": "Lastik markası isim bilgisi"
}Ürün Markaları
GET /product-brands
Açıklama: Ürün markaları bilgilerini içerir.
Örnek Response Body:
{
"id": "Ürün markası unique ID bilgisi",
"title": "Ürün markası isim bilgisi"
}Depolar
GET /addresses
Açıklama: Firmaya ait depo bilgilerini içerir.
Örnek Response Body:
{
"id": "Depo unique ID bilgisi",
"name": "Depo isim bilgisi",
"address": "Depo adres bilgisi",
"city": "Depo il bilgisi",
"county": "Depo ilçe bilgisi"
}Faturalar
GET /invoices
Açıklama: Firmaya ait faturaları listeler.
Filtreleme
Response'daki tüm alanlar için filtreleme yapılabilir. Örneğin ?filter[issue_date]=2024-10-16 ile belirli tarihteki faturalar, veya ?filter[issue_date][start]=2024-01-01&filter[issue_date][end]=2024-12-31 ile belirli tarih aralığı filtrelenebilir.
Response Fields
- type: faturanın yön tipini belirtir. "incoming" gelen fatura, "outgoing" giden faturayı temsil eder.
- sender: Gönderici TCKN/VKN
- receiver: Alıcı TCKN/VKN
- supplier: Gönderici ünvanı
- customer: Alıcı ünvanı
- issue_date: Fatura tarihi
- cdate: Fatura oluşturma tarihi.
- rows: Fatura kalemleri.
- discount_without_tax: vergi hariç indirim tutarı.
- buyer_item_identification: ürün stok kodu.
- seller_item_identification: alternatif ürün stok kodu.
- manufacturer_item_identification: alternatif ürün stok kodu.
Banka Hareketleri
POST /bank/create-transaction
Açıklama: Bu endpoint, yeni bir banka hareketi oluşturur.
{
"sender_iban": "TR330006100519786457841326",
"sender_bank_name": "Ziraat Bankası",
"sender_bank_code": "0010",
"sender_account_code": "12345678",
"sender_urf": "URF20250110",
"sender_currency": "TRY",
"sender_currency_code": "949",
"receiver_title": "Ahmet Yılmaz",
"receiver_iban": "TR220006100519786457841325",
"receiver_bank_code": "0004",
"receiver_bank_name": "Halkbank",
"receiver_account_number": "87654321",
"amount": 1500.50,
"balance": 25000.75,
"transaction_description": "Fatura ödemesi",
"transaction_mt940_function_code": "NMSC",
"transaction_direction": 1,
"transaction_reference_code": "TRX20250110",
"transaction_date": "2025-01-01 15:48:53"
}Validation Kuralları
sender_iban:
sender_bank_name:
sender_bank_code:
sender_account_code:
sender_urf:
sender_currency:
sender_currency_code:
receiver_title:
receiver_iban:
receiver_bank_code:
receiver_bank_name:
receiver_account_number:
amount:
balance:
transaction_description:
transaction_mt940_function_code:
transaction_direction:
transaction_reference_code:
transaction_date:
Önemli
Önemli : Entegrasyonda kullanılacak Token, 3.Parti Yazılım Entegrasyon Modüne sahip olan firmalarda, Firmanın Kullanıcı ayarları altında, Entegrasyon Kullanıcı açarak ve bu kullanıcıya bağlı olarak üretilebilir.
