API Hesap Açılışı
API kullanımına başvurmak ve test ortamının password, clientName, clientSecretKey bilgilerini almak için bu sayfada sağ alttaki mavi konuşma ikonundan (chat ikonu) talebinizi iletmeniz yeterli. Farmazon kullanıcı adınızı (username) belirtmeyi ve varsa entegrasyon firmanızın adını eklemeyi unutmayın.
API Kullanımı
Test ortamına bağlanabilmeniz için gerekli bilgileri aşağıda bulabilirsiniz. Başarılı testlerden sonra canlı ortam bilgileri sizlerle paylaşılacaktır. İşlemlere başlamak için bu dokümanı yazılımcınız ya da servis sağlayıcınız ile paylaşabilirsiniz.
Test için BaseUrl: https://staging.lab.farmazon.com.tr/
Canlı için BaseUrl: lab.farmazon.com.tr
Not: Farmazon staging ortamı haftaiçi 08:00-20:00 saatleri arasında açıktır. İlgili saatler dışında işlem yapmak istediğinizde erişim sağlanamayacaktır.
Not: Farmazon API'lerine yapılan her bir istekte headers'ta User-Agent kısmına API_[KULLANICI_ADI] girilmesi gerekmektedir (ör. API_merkezeczanesi)
Tüm endpointler için request 'form-data' şeklinde atılmalıdır.
Cevaplarda karşılaşılacak Sipariş Durum (orderStateID) bilgileri aşağıdaki gibidir.
1 - Satıcı Onayı Bekliyor
2 - Kargolanması Bekleniyor
4 - Kargoda
32 - Tamamlandı
64 - İptal Edildi
512 - Alıcı Onayı Bekleniyor
1024 - Ön Sipariş (Ödeme Alınamadı)
ACCESS TOKEN:
Request Format:
Url: https://staging.lab.farmazon.com.tr/api/v1/account/signin
HTTP METHOD: POST
Request Headers:
Content-Type: application/x-www-form-urlencoded
User-Agent: API_[KULLANICI_ADI]
Request Body Parameters: {
username : "aaaaaa" (string)
password : "bbbbbbb" (string)
clientName :"abbabbababa" (string)
clientSecretKey : "aaaaaaa.bbbbbbbb.ccccccc.ddddddd" (string)
}
Response Body : {
"statusCode": 200, (int)
"statusMessage": "OK", (string)
"result": {
"token": "aaaaaaa.bbbbbbbb.ccccccc" (Json Web Token string),
"tokenExpireDate": "2019-02-12T12:57:52" (string: yyyy-MM-ddTHH:mm:ss)
},
"errors": null
}
Bearer token'ı kullanmak için header'da göndermeniz gerekiyor. İstek sonrası alacağınız token, expire (son kullanma) tarihine dek (yaklaşık 1 hafta) geçerliliğini korur. Bu süre dolana dek aynı token'ı kullanmalısınız.
Lütfen aynı gün içersinde tekrar tekrar token almaya çalışmayın (aksi takdirde istekleriniz bloklanabilir). Aldığınız 1 token'ı yaklaşık 1 hafta boyunca kullanabilirsiniz.
Örnek request;
curl -X GET "https://staging.lab.farmazon.com.tr/api/v1/Orders/GetSoldOrders?page=1&count=50" -H "accept: text/plain" -H "Authorization: Bearer aaaaaaa.bbbbbbbb.ccccccc" -H "User-Agent: API_[KULLANICI_ADI]"
===========================================================================
2. GET SOLD ORDERS
Request Format:
HTTP METHOD: GET
orderState Parameters
0 - Tüm Siparişler
1 - Satıcı Onayı Bekliyor
2 - Kargolanması Bekleniyor
3 - Kargoda
4 - Tamamlandı
5 - İptal Edildi
6 - Alıcı Onayı Bekleniyor
Parametre | Açıklama | Tip |
orderState | sipariş durumu | int |
page | belirtilen sayfa için count parametresi kadar listeleme yapılır | int |
count | bir sayfada listelenecek sipariş sayısını belirtir | int |
startDate | startDate tarihinden sonraki siparişleri listelemek için verilecek başlangıç tarihi | string |
endDate | endDate tarihinden önceki siparişleri listelemek için verilecek bitiş tarihi | string |
Örnek request parametreleri:
orderState = 0 int (optional) page = 1 int (optional) count = 50 int (optional)
startDate = [Default: 30 days] DateTimeStringFormat(yyyy-MM-dd) (optional)
endDate = [Default: Today] DateTimeStringFormat(yyyy-MM-dd) (optional)
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": [
{
"orderId": xxx (int),
"orderDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"orderStateId": 32 (int),
"orderState": "Sipariş Tamamlandı" (string),
"orderIsUpdated": "Sipariş Güncellenmedi" (string),
"orderNote": null (string),
"cancelNote": null (string),
"orderReferenceNo": "REF_AE67FC2D" (string),
"orderPrice": 513,
"orderRefundPrice": 0,
"orderCargoPrice": 0,
"orderCargoRefundPrice": 0,
"orderInitialPrice": 570,
"orderDiscountPrice": 57,
"orderCargoInitialPrice": 0,
"orderCargoDiscountPrice": 0,
"buyerId": xxx (int),
"buyerUsername": "aliciKullaniciAdi" (string),
"sellerId": 150 (int),
"sellerUsername": "saticiKullaniciAdi" (string),
"buyerLastUpdateDate”:2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"sellerLastUpdateDate”:2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"shipmentCompany": "Yurtiçi Kargo" (string),
"shipmentCargoCode": "XXXXXXXXXXX" (string),
"shipmentFollowUpNo": "XXXXXXXXXXX" (string),
"shipmentFollowUpLink": "https://kargotakiplinki.com" (string),
"buyerComment”:”aliciSiparisYorumu”,
"sellerReply”:”saticiYorumCevabi”,
"sellerReplyDate”:2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"sellerRate”:0,(float),
"sellerCargoOK": false(bool)
"sellerExpirationDatesOK" : false(bool)
"sellerProductsAndAmountsOK”: false(bool)
"sellerProductsAndAmountsOK":false(bool)
"buyerFullName": "Alici Tam Adi" (string),
"buyerInvoiceCompanyName": "Alici Fatura Sirket Adi" (string),
"buyerInvoicePhone": "Alici Fatura Telefon Numarasi" (string),
"buyerInvoiceEmail": "Alici Fatura Email Adresi" (string),
"buyerInvoiceTaxOrTcNo": "Alici Fatura Vergi No veya TC NO" (string),
"buyerInvoiceTaxOffice": "Alici Fatura Subesi" (string),
"buyerInvoiceAddress": "Alici Fatura Adresi" (string),
"buyerInvoiceTown": "Alici Fatura Ilcesi" (string),
"buyerInvoiceCity": "Alici Fatura Ili" (string),
"buyerDeliveryAddress": "Alici Gonderim Adresi" (string),
"buyerDeliveryTown": "Alici Gonderim Ilcesi" (string),
"buyerDeliveryCity": "Alici Gonderim Ili" (string),
"orderDetails": [
{
"orderDetailProductId": 77477,
"orderDetailListingId": 1494586,
"orderDetailProductName": "Lifechek Silver GH82 Kan Şekeri Ölçüm Stribi 50 Adet",
"orderDetailProductBarcode": "6936268401997",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 10,
"orderDetailListingOldCount": 10,
"orderDetailListingPrice": 12,
"orderDetailListingExpiration": "2022-07-01T00:00:00",
"orderDetailPrice": 108,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 120,
"orderDetailDiscountPrice": 12
},
{
"orderDetailProductId": 89553,
"orderDetailListingId": 1489777,
"orderDetailProductName": "Biokadin Standardize Solüsyon 100 ml",
"orderDetailProductBarcode": "8699779650121",
"orderDetailProductVAT": 18,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 50,
"orderDetailListingExpiration": "2024-12-01T00:00:00",
"orderDetailPrice": 135,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 150,
"orderDetailDiscountPrice": 15
},
{
"orderDetailProductId": 147201,
"orderDetailListingId": 1492652,
"orderDetailProductName": "Pharmaton Vitality 60 Kapsül",
"orderDetailProductBarcode": "8693203014350",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 100,
"orderDetailListingExpiration": "2026-12-01T00:00:00",
"orderDetailPrice": 270,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 300,
"orderDetailDiscountPrice": 30
}
]
},
........
}
}
3. GET SOLD ORDER
Request Format:
HTTP METHOD: GET
Parametre | Açıklama | Tip |
orderId(required) | sipariş id | int |
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": [
{
"orderId": xxx (int),
"orderDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"orderStateId": 32 (int),
"orderState": "Sipariş Tamamlandı" (string),
"orderIsUpdated": "Sipariş Güncellenmedi" (string),
"orderNote": null (string),
"cancelNote": null (string),
"orderReferenceNo": "REF_XXXXXXX" (string),
"orderPrice": 513,
"orderRefundPrice": 0,
"orderCargoPrice": 0,
"orderCargoRefundPrice": 0,
"orderInitialPrice": 570,
"orderDiscountPrice": 57,
"orderCargoInitialPrice": 0,
"orderCargoDiscountPrice": 0,
"buyerId": xxx (int),
"buyerUsername": "aliciKullaniciAdi" (string),
"sellerId": 150 (int),
"sellerUsername": "saticiKullaniciAdi" (string),
"buyerLastUpdateDate": "2017-08-03T13:16:28" (string:
yyyy-MM-ddTHH:mm:ss),
"sellerLastUpdateDate":"2017-08-03T13:16:28" (string:
yyyy-MM-ddTHH:mm:ss),
"shipmentCompany": "Yurtiçi Kargo" (string),
"shipmentCargoCode": "XXXXXXXXXXX" (string),
"shipmentFollowUpNo": "XXXXXXXXXXX" (string),
"shipmentFollowUpLink": "https://kargotakiplinki.com" (string),
"buyerComment”:”aliciSpiarisYorumu”,
"sellerReply”:”saticiYorumCevabi”,
"sellerReplyDate”:2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"sellerRate”:0,(float),
"sellerCargoOK": false(bool)
"sellerExpirationDatesOK" : false(bool)
"sellerProductsAndAmountsOK”: false(bool)
"sellerProductsAndAmountsOK":false(bool)
"buyerFullName": "Alici Tam Adi" (string),
"buyerInvoiceCompanyName": "Alici Fatura Sirket Adi" (string),
"buyerInvoicePhone": "Alici Fatura Telefon Numarasi" (string),
"buyerInvoiceEmail": "Alici Fatura Email Adresi" (string),
"buyerInvoiceTaxOrTcNo": "Alici Fatura Vergi No veya TC NO" (string),
"buyerInvoiceTaxOffice": "Alici Fatura Subesi" (string),
"buyerInvoiceAddress": "Alici Fatura Adresi" (string),
"buyerInvoiceTown": "Alici Fatura Ilcesi" (string),
"buyerInvoiceCity": "Alici Fatura Ili" (string),
"buyerDeliveryAddress": "Alici Gonderim Adresi" (string),
"buyerDeliveryTown": "Alici Gonderim Ilcesi" (string),
"buyerDeliveryCity": "Alici Gonderim Ili" (string),
"orderDetails": [
{
"orderDetailProductId": 77477,
"orderDetailListingId": 1494586,
"orderDetailProductName": "Lifechek Silver GH82 Kan Şekeri Ölçüm Stribi 50 Adet",
"orderDetailProductBarcode": "6936268401997",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 10,
"orderDetailListingOldCount": 10,
"orderDetailListingPrice": 12,
"orderDetailListingExpiration": "2022-07-01T00:00:00",
"orderDetailPrice": 108,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 120,
"orderDetailDiscountPrice": 12
},
{
"orderDetailProductId": 89553,
"orderDetailListingId": 1489777,
"orderDetailProductName": "Biokadin Standardize Solüsyon 100 ml",
"orderDetailProductBarcode": "8699779650121",
"orderDetailProductVAT": 18,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 50,
"orderDetailListingExpiration": "2024-12-01T00:00:00",
"orderDetailPrice": 135,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 150,
"orderDetailDiscountPrice": 15
},
{
"orderDetailProductId": 147201,
"orderDetailListingId": 1492652,
"orderDetailProductName": "Pharmaton Vitality 60 Kapsül",
"orderDetailProductBarcode": "8693203014350",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 100,
"orderDetailListingExpiration": "2026-12-01T00:00:00",
"orderDetailPrice": 270,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 300,
"orderDetailDiscountPrice": 30
}
]
},
........
},
"errors": null
}
4. GET PURCHASED ORDERS
Request Format:
HTTP METHOD: GET
orderState Parameters
0 - Tüm Siparişler
1 - Satıcı Onayı Bekliyor
2 - Kargolanması Bekleniyor
3 - Kargoda
4 - Tamamlandı
5 - İptal Edildi
6 - Alıcı Onayı Bekleniyor
Parametre | Açıklama | Tip |
orderState | sipariş durumu | int |
page | belirtilen sayfa için count parametresi kadar listeleme yapılır | int |
count | bir sayfada listelenecek sipariş sayısını belirtir | int |
startDate | startDate tarihinden sonraki siparişleri listelemek için verilecek başlangıç tarihi | string |
endDate | endDate tarihinden önceki siparişleri listelemek için verilecek bitiş tarihi | string |
Örnek request parametreleri:
orderState = 0 int (optional) page = 1 int (optional) count = 50 int (optional)
startDate = [Default: 30 days] DateTimeStringFormat(yyyy-MM-dd) (optional)
endDate = [Default: Today] DateTimeStringFormat(yyyy-MM-dd) (optional)
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": [
{
"orderId": xxx (int),
"orderDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"orderStateId": 32 (int),
"orderState": "Sipariş Tamamlandı" (string),
"orderIsUpdated": "Sipariş Güncellenmedi" (string),
"orderNote": null (string),
"cancelNote": null (string),
"orderReferenceNo": "REF_XXXXXXX" (string),
"orderPrice": 515.99,
"orderPaidPrice": 515.99,
"orderRefundPrice": 0,
"orderCargoPrice": 2.99,
"orderCargoPaidPrice": 2.99,
"orderCargoRefundPrice": 0,
"installmentCount": 1,
"orderInitialPrice": 577.99,
"orderDiscountPrice": 62,
"orderCargoInitialPrice": 7.99,
"orderCargoDiscountPrice": 5,
"buyerId": xxx (int),
"buyerUsername": "aliciKullaniciAdi" (string),
"buyerLastUpdateDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"sellerLastUpdateDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"shipmentCompany": "Yurtiçi Kargo" (string),
"shipmentCargoCode": "XXXXXXXXXXX" (string),
"shipmentFollowUpNo": "XXXXXXXXXXX" (string),
"shipmentFollowUpLink": "https://kargotakiplinki.com" (string),
"buyerComment":null,(string)
"sellerReply":null,(string)
"sellerReplyDate":null,(string: yyyy-MM-ddTHH:mm:ss),
"sellerRate":0,(float),
"sellerCargoOK": false(bool)
"sellerExpirationDatesOK" : false(bool)
"sellerProductsAndAmountsOK": false(bool)
"sellerProductsAndAmountsOK":false(bool)
"orderDetails": [
{
"orderDetailProductId": 77477,
"orderDetailProductName": "Lifechek Silver GH82 Kan Şekeri Ölçüm Stribi 50 Adet",
"orderDetailProductBarcode": "6936268401997",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 10,
"orderDetailListingOldCount": 10,
"orderDetailListingPrice": 12,
"orderDetailListingExpiration": "2022-07-01T00:00:00",
"orderDetailPrice": 108,
"orderDetailPaidPrice": 108,
"orderDetailrefundPrice": 0,
"orderDetailInitialPrice": 120,
"orderDetailDiscountPrice": 12
},
{
"orderDetailProductId": 89553,
"orderDetailProductName": "Biokadin Standardize Solüsyon 100 ml",
"orderDetailProductBarcode": "8699779650121",
"orderDetailProductVAT": 18,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 50,
"orderDetailListingExpiration": "2024-12-01T00:00:00",
"orderDetailPrice": 135,
"orderDetailPaidPrice": 135,
"orderDetailrefundPrice": 0,
"orderDetailInitialPrice": 150,
"orderDetailDiscountPrice": 15
},
{
"orderDetailProductId": 147201,
"orderDetailProductName": "Pharmaton Vitality 60 Kapsül",
"orderDetailProductBarcode": "8693203014350",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 100,
"orderDetailListingExpiration": "2026-12-01T00:00:00",
"orderDetailPrice": 270,
"orderDetailPaidPrice": 270,
"orderDetailrefundPrice": 0,
"orderDetailInitialPrice": 300,
"orderDetailDiscountPrice": 30
}
]
},
........
},
"errors": null
}
5. GET PURCHASED ORDER
Request Format:
HTTP METHOD: GET
Parametre | Açıklama | Tip |
orderId(required) | sipariş id | int |
Response Body:
"statusCode": 200,
"statusMessage": "OK",
"result": [
{
"orderId": xxx (int),
"orderDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"orderStateId": 32 (int),
"orderState": "Sipariş Tamamlandı" (string),
"orderIsUpdated": "Sipariş Güncellenmedi" (string),
"orderNote": null (string),
"cancelNote": null (string),
"orderReferenceNo": "REF_XXXXXXX" (string),
"orderPrice": 515.99,
"orderPaidPrice": 515.99,
"orderRefundPrice": 0,
"orderCargoPrice": 2.99,
"orderCargoPaidPrice": 2.99,
"orderCargoRefundPrice": 0,
"installmentCount": 1,
"orderInitialPrice": 577.99,
"orderDiscountPrice": 62,
"orderCargoInitialPrice": 7.99,
"orderCargoDiscountPrice": 5,
"buyerId": xxx (int),
"buyerUsername": "aliciKullaniciAdi" (string),
"buyerLastUpdateDate": "2017-08-03T13:16:28" (string:
yyyy-MM-ddTHH:mm:ss),
"sellerLastUpdateDate": "2017-08-03T13:16:28" (string:
yyyy-MM-ddTHH:mm:ss),
"shipmentCompany": "Yurtiçi Kargo" (string),
"shipmentCargoCode": "XXXXXXXXXXX" (string),
"shipmentFollowUpNo": "XXXXXXXXXXX" (string),
"shipmentFollowUpLink": "https://kargotakiplinki.com" (string),
“buyerComment”:null,(string)
“sellerReply”:null,(string)
“sellerReplyDate”:null,(string: yyyy-MM-ddTHH:mm:ss)
“sellerRate”:0,(float),
“sellerCargoOK": false(bool)
"sellerExpirationDatesOK" : false(bool)
“sellerProductsAndAmountsOK”: false(bool)
"sellerProductsAndAmountsOK":false(bool)
"orderDetails": [
{
"orderDetailProductId": 77477,
"orderDetailProductName": "Lifechek Silver GH82 Kan Şekeri Ölçüm Stribi 50 Adet",
"orderDetailProductBarcode": "6936268401997",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 10,
"orderDetailListingOldCount": 10,
"orderDetailListingPrice": 12,
"orderDetailListingExpiration": "2022-07-01T00:00:00",
"orderDetailPrice": 108,
"orderDetailPaidPrice": 108,
"orderDetailrefundPrice": 0,
"orderDetailInitialPrice": 120,
"orderDetailDiscountPrice": 12
},
{
"orderDetailProductId": 89553,
"orderDetailProductName": "Biokadin Standardize Solüsyon 100 ml",
"orderDetailProductBarcode": "8699779650121",
"orderDetailProductVAT": 18,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 50,
"orderDetailListingExpiration": "2024-12-01T00:00:00",
"orderDetailPrice": 135,
"orderDetailPaidPrice": 135,
"orderDetailrefundPrice": 0,
"orderDetailInitialPrice": 150,
"orderDetailDiscountPrice": 15
},
{
"orderDetailProductId": 147201,
"orderDetailProductName": "Pharmaton Vitality 60 Kapsül",
"orderDetailProductBarcode": "8693203014350",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 100,
"orderDetailListingExpiration": "2026-12-01T00:00:00",
"orderDetailPrice": 270,
"orderDetailPaidPrice": 270,
"orderDetailrefundPrice": 0,
"orderDetailInitialPrice": 300,
"orderDetailDiscountPrice": 30
}
]
"errors": null
}
}
6. CREATE LISTINGS
Request Format:
HTTP METHOD: POST
Request Headers:
Content-Type: application/json
Bu method kullanılarak tek veya çoklu ürün gönderimi ile yeni ilanlar açılabilir.
Koyu renkli belirtilmiş alanlar zorunlu alan olarak istekte gönderilmelidir.
Parametre | Açıklama | Tip |
price (required) | ilan fiyatı | decimal |
stock (required) | ilan stok adedi | int |
expiration (required) | ürünün miad tarihi. -geçmiş bir tarih olamaz | DateTime |
maxCount | maksimum satış adedi. (min 0 ) | int |
isFeatured | öne çıkarılan ilan | bool |
product.id | ürün id | int |
product.psf | ürün psf | decimal |
product.vat | ürün kdv | int |
product.name (required) | ürün adı | string |
product.barcode (required) | ürün barkod numarası | string |
sku | stok kodu | int |
Request Body:
[
{
"price": 12.0,
"stock": 100,
"expiration": null,
"maxCount": 10,
"isFeatured": false,
"product": {
"id": 0,
"psf": 0.0,
"vat": 0,
"name": "Test Ürünü 1",
"barcode": "5444333222111",
"sku":"123456789"
}
},
{
"price": 12.0,
"stock": 100,
"expiration": "2022-10-10",
"maxCount": 10,
"isFeatured": false,
"product": {
"id": 0,
"psf": 0.0,
"vat": 0,
"name": "Test Ürünü 2",
"barcode": "9444333222111",
"image": "string",
"sku":"123456789"
}
}
]
CreateListings (İlan açma) requesti sonrası, dönecek response model örneği aşağıdaki gibidir.
Bir veya birden fazla ilan açmak için yapılan requestlerde, gönderilen her ilan modeli için işlem sonucuna bağlı olarak response farklı statusCode dönecektir.
Response örneğinde görüldüğü gibi request modelde gönderilen liste içerisindeki her ilan modeli için işlem sonucuna göre başarılı olması durumunda “success: true” dönecek, başarısız olması durumunda ise “success: false” ve alınan hata “errors” içinde detaylandırılmış bir şekilde dönecektir.
Ayrıca; errors içeriğindeki statusCode her özel durum için farklı kod numarasıyla dönecektir.
statusCode 207 dönen sonuçlar için response modeli içerisindeki her model için success durumu kontrol edilmelidir.
Response Body:
{
"statusCode": 207,
"statusMessage": "MULTI_STATUS",
"result": [
{
"requestItem": {
"id": 1489349,
"state": false,
"price": 12.0,
"stock": 100,
"expiration": "2022-10-01T00:00:00",
"maxCount": 10,
"description": null,
"isFeatured": false,
"product": {
"id": 0,
"name": "Test Ürünü 2",
"barcode": "9444333222111",
"psf": null,
"vat": 0,
"image": "string",
"sku": "123456789"
}
},
"success": true,
"errors": []
},
{
"requestItem": {
"price": 12.0,
"stock": 100,
"expiration": null,
"maxCount": 10,
"description": null,
"isFeatured": false,
"product": {
"id": 0,
"name": "Test Ürünü 1",
"barcode": "5444333222111",
"psf": 0.0,
"vat": 0,
"image": "string",
"sku":"123456789"
}
},
"success": false,
"errors": [
{
"statusCode": 1550,
"message": "Aynı miad bilgisine sahip ilan bulunmaktadır. Lütfen ilanı
güncelleyiniz.",
"messageGroup": "DUPLICATE_LISTING"
}
]
}
],
"errors": null
}
Create listings için;
Error code: 1688
Message: "İlan ekleme aşamasında hata meydana geldi. Kullanıcının belirtilen ürün/ürünlere ilan ekleme ve güncelleme işlemleri sınırlandırılmıştır." şeklinde hata alıyorsanız kullanıcının açmak istediğiniz ilan için bir kısıtlaması bulunuyor demektir. Detay için müşteri hizmetleri ile iletişime geçebilirsiniz.
7. UPDATE LISTINGS
Request Format:
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Bu method kullanılarak tek veya çoklu ilan gönderimi ile mevcut ilanlar güncellenebilir.
Koyu renkli belirtilmiş alanlar zorunlu alan olarak istekte gönderilmelidir.
Parametre | Açıklama | Tip |
id (required) | ilan id | int |
price (required) | ilan fiyatı | decimal |
buyingPrice | ürün alış fiyatı | decimal |
stock (required) | ilan stok adedi | int |
state (required) | ilan aktiflik durumu (state:1 aktif, state:2 pasif) | int |
expiration | ürün miadı | DateTime |
isFeatured | öne çıkarılan ilan | bool |
description | ilan açıklaması | string |
maxCount | ilan maksimum satış adedi | int |
product.barcode | ürün barkodu | string |
product.psf | ürün psf | decimal |
product.name | ürün adı | string |
Request Body;
[
{
"id": 1488942,
"price": -17.99,
"buyingPrice": null,
"stock": 202,
"maxCount": 500,
"description": "",
"expiration": "2029-04-04",
"isFeatured": true,
"isBestPrice": true,
"state":1,
"product": {
"barcode": "8991179200114",
"psf":15
}
},
{
"id": 1489271,
"price": 17.99,
"buyingPrice": null,
"stock": 202,
"maxCount": 500,
"description": "",
"expiration": "2029-04-04",
"isFeatured": true,
"isBestPrice": true,
"state":1,
"product": {
"barcode": "8699693150011",
"psf":15
}
}
]
İlan güncelleme requesti sonrası, dönecek response model örneği aşağıdaki gibidir. Bir veya birden fazla ilan güncellemek için yapılan requestlerde, gönderilen her ilan modeli için işlem sonucuna bağlı olarak response farklı statulerde dönecektir.
UpdateListings (İlan güncelleme) requesti sonrası, dönecek response model örneği aşağıdaki gibidir.
Bir veya birden fazla ilan güncellemek için yapılan requestlerde, gönderilen her ilan modeli için işlem sonucuna bağlı olarak response farklı statusCode dönecektir.
Response örneğinde görüldüğü gibi request modelde gönderilen liste içerisindeki her ilan modeli için işlem sonucuna göre başarılı olması durumunda “success: true” dönecek, başarısız olması durumunda ise “success: false” ve alınan hatalar “errors” içinde detaylandırılmış bir şekilde dönecektir.
Ayrıca; errors içerisinde statusCode her özel durum için farklı kod numarasıyla dönecektir.
statusCode 207 dönen sonuçlar için response modeli içerisindeki her model için success durumu kontrol edilmelidir.
Response Body:
{
"statusCode": 207,
"statusMessage": "PARTIAL_SUCCESS",
"result": [
{
"requestItem": {
"id": 1488942,
"price": -17.99,
"buyingPrice": null,
"stock": 202,
"state": 1,
"expiration": "2029-04-04T00:00:00",
"isFeatured": true,
"description": "",
"maxCount": 500,
"product": {
"barcode": "7444333222111",
"psf": 15.0
}
},
"success": false,
"errors": [
{
"statusCode": 422,
"message": "price İlanı fiyatı boş veya sıfır olamaz. Lütfen geçerli bir ilan fiyatı
yazınız.",
"messageGroup": "UNPROCESSABLE_ENTITY"
}
]
},
{
"requestItem": {
"id": 1386134,
"price": 15.99,
"buyingPrice": null,
"stock": 202,
"state": 1,
"expiration": "2029-04-04T00:00:00",
"isFeatured": true,
"description": "",
"maxCount": 500,
"product": {
"barcode": "7444333222111",
"psf": 15.0,
"name": "Test Ürünü 3"
}
},
"success": false,
"errors": [
{
"statusCode": 1550,
"message": "Aynı miad bilgisine sahip ilan bulunmaktadır. Lütfen ilanı
güncelleyiniz.",
"messageGroup": "DUPLICATE_LISTING"
}
]
},
{
"requestItem": {
"id": 1489271,
"price": 17.99,
"buyingPrice": null,
"stock": 202,
"state": 1,
"expiration": "2029-04-01T00:00:00",
"isFeatured": true,
"description": "",
"maxCount": 500,
"product": {
"barcode": "8444333222111",
"psf": 15.0
}
},
"success": true,
"errors": []
}
],
"errors": null
}
Message Groups |
|
422 | UNPROCESSABLE_ENTITY |
404 | NON_FOUND |
1550 | DUPLICATE_LISTING |
1801 | REQUEST_DUPLICATE_LISTING |
1802 | RESTRICTED_LISTING |
1605 | INVALID_BARCODE |
207 | MULTI_STATUS |
8. UPDATE LISTING PRICE AND STOCK ONLY (Versiyon: V2. Eklenme tarihi: 2022-08-26)
İlanların yalnızca fiyat ve stok bilgisini güncellemek için kullanılır. Diğer ilan bilgileri değişmiyorsa (miat, mükerrer ilan vb hatalar almamak için) UpdateListing yerine bu fonksiyonu kullanmanızı öneriyoruz.
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Request Body:
[
{
"id": 123,
"price": 456,
"stock":789
},
{
"id": 234,
"price": 567,
"stock": 890
}
]
Response:
{
"statusCode": 0,
"statusMessage": "string"
}
9. SET SHIPMENT INFOS
Request Format:
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Bu method kullanılarak sipariş durumu kargoda olarak güncellenebilir.
Parametre | Açıklama | Tip |
orderId | sipariş id | int |
shipmentCompany | kargo firması adı | string |
followUpNo | kargo takip numarası | string |
followUpLink | kargo takip linki | string |
Örnek request parametreleri:
orderId = xx (int) shipmentCompany == "Yurtiçi Kargo" (string) followUpNo = "xxxxxxxx" (string) followUpLink = "https://www.cargolink.com/abc"
Response Body:
{
{
"statusCode": 200,
"statusMessage": "OK",
"result": true,
"errors": null
}
}
10. GET LISTINGS (Versiyon: V2. Eklenme tarihi: 2022-08-25)
Request Format:
HTTP METHOD: GET
Parametre (Query) | Açıklama | Tip |
orderState | Sipariş durumu | int |
page | Belirtilen sayfa için count parametresi kadar listeleme yapılır. | int (default: 1) |
count | Bir sayfada listelenecek sipariş sayısını belirtir. | int (default: 50) |
startDate | startDate tarihinden sonraki siparişleri listelemek için verilecek başlangıç tarihi. | string |
endDate | endDate tarihinden önceki siparişleri listelemek için verilecek bitiş tarihi. | string
|
listingState | İlan filtresi. | int (1: active, 2: passive) |
Örnek request (query) parametreleri:
.../api/v2/Listings/GetListings?page=1&count=50&listingState=2
Not: "page" parametresini sayfa sayısına göre doğru ayarlamanız gerekiyor. İlk sayfa için page = 1 olmalı. İlk sayfa için istek yaptıktan sonra cevapta gelen totalPageCount bilgisine göre sayfa sayısını belirlemeniz gerekiyor. Toplam sayfa sayısından büyük sayfa talep ederseniz HTTP 416 hatası alırsınız. Örneğin 10 sayfalık ürününüz varken sayfa sayısı en fazla 10 olabilir. 11. sayfayı isterseniz cevap olarak HTTP 416 alırsınız.
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": {
"page": 1,
"pageSize": 50,
"totalPageCount": 1,
"items": [
{
"id": 3350113,
"price": 191.00,
"buyingPrice": null,
"stock": 12,
"maxCount": 500,
"description": "",
"expiration": "2022-12-01T00:00:00",
"isFeatured": false,
"isBestPrice": false,
"product": {
"id": 365185,
"name": "Farmazon Test Ürünü",
"vat": 18,
"listingMinPrice": 0.0,
"sku": "123456789",
"barcodes": [
{
"barcode": "11111111111111",
"isSelected": true
}
]
}
},
{
"id": 3159867,
"price": 1.00,
"buyingPrice": null,
"stock": 21,
"maxCount": 500,
"description": "",
"expiration": "2022-12-01T00:00:00",
"isFeatured": false,
"isBestPrice": false,
"product": {
"id": 365185,
"name": "Farmazon Test Ürünü",
"vat": 18,
"listingMinPrice": 0.0,
"sku": null,
"barcodes": [
{
"barcode": "11111111111111",
"isSelected": true
}
]
}
},
{
"id": 3159865,
"price": 1.00,
"buyingPrice": null,
"stock": 22,
"maxCount": 500,
"description": "",
"expiration": "2022-12-01T00:00:00",
"isFeatured": false,
"isBestPrice": false,
"product": {
"id": 365185,
"name": "Farmazon Test Ürünü",
"vat": 18,
"listingMinPrice": 0.0,
"sku": null,
"barcodes": [
{
"barcode": "11111111111111",
"isSelected": true
}
]
}
},
{
"id": 2859129,
"price": 1.00,
"buyingPrice": null,
"stock": 1,
"maxCount": 500,
"description": "",
"expiration": "2022-08-01T00:00:00",
"isFeatured": false,
"isBestPrice": false,
"product": {
"id": 365185,
"name": "Farmazon Test Ürünü",
"vat": 18,
"listingMinPrice": 0.0,
"sku": null,
"barcodes": [
{
"barcode": "11111111111111",
"isSelected": true
}
]
}
}
]
},
"errors": null
}
11. GET LISTING
Request Format:
HTTP METHOD: GET
Parametre | Açıklama | Tip |
listingId (required) | ilan id | int |
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result":
{
"id": xxx,
"price": 20.5,
"stock": 300,
"maxCount": 108,
"description": "description",
"expiration": "2020-05-01T00:00:00",
"isFeatured": true,
"listingState": 1, (active: 1, passive: 2)
"sku": null,
"product":
{
"id": 123456,
"name": "xxxxxxx",
"barcodes": [
{
"barcode": "123456789",
"isSelected": false
},
{
"barcode": "123456789",
"isSelected": true
}
]
}
}
12.APPROVEORDER (Sipariş Onaylama)
Satıcı olarak aldığınız sipariş için onaylama işlemi yapılır.
Request Format:
HTTP METHOD: PUT
Parametre | Açıklama | Tip |
orderıd(required) | Sipariş Id | int |
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": true,
"errors": null
}
13.UPLOAD INVOICE (Fatura Yükleme)
Satıcı olarak aldığınız sipariş için fatura yükleme işlemi yapılır.
Request Format:
HTTP METHOD: POST
Parametre | Açıklama | Tip |
orderId(required) | Sipariş Id | int |
data(required) | Fatura pdf’inin base64 formatındaki string ifade | string |
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": { "invoiceId": 384164,
"isOverrideExistInvoice": false,
"InvoiceURL": "~/Files/UploadedInvoices/5019/ECZ2022000002161-03f75.pdf", "createdDate": "2022-09-21T17:39:41",
"isInserted": true,
"key": "Files/UploadedInvoices/5019/ECZ2022000002161-03f75.pdf" },
"errors":null
}
14.UPLOAD INVOICE WITH URL (URL ile Fatura Yükleme)
Satıcı olarak aldığınız sipariş için fatura url bilgisi ile yükleme işlemi yapılır. Yükleme yapmak istediğiniz fatura pdf, jpg, png formatında ve max 5 mb boyutunda olmalıdır.
Request Format:
StagingUrl: https://staging.lab.farmazon.com.tr//api/v1/Orders/UploadInvoiceWithUrl
HTTP METHOD: POST
Parametre | Açıklama | Tip |
orderId(required) | Sipariş Id | int |
data(required) | Fatura Url’i | string |
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": { "invoiceId": 384164,
"isOverrideExistInvoice": false,
"InvoiceURL": "~/Files/UploadedInvoices/5019/FRZ2023000002161-03f80.pdf", "createdDate": "2023-09-21T17:39:41",
"isInserted": true,
"key": "Files/UploadedInvoices/5019/FRZ2023000002161-03f80.pdf" },
"errors":null
}
15.GET UPDATED SOLD ORDERS (Tarih Bazlı Sipariş Çekme)- (Versiyon: V2. Eklenme tarihi: 2022-10-17)
Satıcı eczacının fromDate parametresinde belirtilen tarihten itibaren tüm siparişlerini çekebildiği endpoint'tir.
Request Format:
StagingUrl:https://staging.lab.farmazon.com.tr/api/v1/orders/getUpdatedSoldOrders
CanlıUrl: https://lab.farmazon.com.tr/api/v1/orders/getUpdatedSoldOrders
HTTP METHOD: GET
Parametre | Açıklama | Tip | Örnek request parametreleri |
page | Belirtilen sayfa için count parametresi kadar listeleme yapılır | int |
|
count | Bir sayfada listelenecek sipariş sayısını belirtir | int |
|
fromDate | fromDate tarihinden sonraki siparişleri listelemek için verilecek tarih | string | [Default: 5 days] DateTimeStringFormat(yyyy-MM-dd) (optional) |
Response Body:
{
"statusCode": 200,
"statusMessage": "OK",
"result": [
{
"orderId": xxx (int),
"orderDate": "2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"orderStateId": 32 (int),
"orderState": "Sipariş Tamamlandı" (string),
"orderIsUpdated": "Sipariş Güncellenmedi" (string),
"orderNote": null (string),
"cancelNote": null (string),
"orderReferenceNo": "REF_XXXXXXX" (string),
"orderPrice": 513,
"orderRefundPrice": 0,
"orderCargoPrice": 0,
"orderCargoRefundPrice": 0,
"orderInitialPrice": 570,
"orderDiscountPrice": 57,
"orderCargoInitialPrice": 0,
"orderCargoDiscountPrice": 0,
"buyerId": xxx (int),
"buyerUsername": "aliciKullaniciAdi" (string),
"sellerId": 150 (int),
"sellerUsername": "saticiKullaniciAdi" (string),
"buyerLastUpdateDate": "2017-08-03T13:16:28" (string:
yyyy-MM-ddTHH:mm:ss),
"sellerLastUpdateDate":"2017-08-03T13:16:28" (string:
yyyy-MM-ddTHH:mm:ss),
"shipmentCompany": "Yurtiçi Kargo" (string),
"shipmentCargoCode": "XXXXXXXXXXX" (string),
"shipmentFollowUpNo": "XXXXXXXXXXX" (string),
"shipmentFollowUpLink": "https://kargotakiplinki.com" (string),
"buyerComment”:”aliciSpiarisYorumu”,
"sellerReply”:”saticiYorumCevabi”,
"sellerReplyDate”:2017-08-03T13:16:28" (string: yyyy-MM-ddTHH:mm:ss),
"sellerRate”:0,(float),
"sellerCargoOK": false(bool)
"sellerExpirationDatesOK" : false(bool)
"sellerProductsAndAmountsOK”: false(bool)
"sellerProductsAndAmountsOK":false(bool)
"buyerFullName": "Alici Tam Adi" (string),
"buyerInvoiceCompanyName": "Alici Fatura Sirket Adi" (string),
"buyerInvoicePhone": "Alici Fatura Telefon Numarasi" (string),
"buyerInvoiceEmail": "Alici Fatura Email Adresi" (string),
"buyerInvoiceTaxOrTcNo": "Alici Fatura Vergi No veya TC NO" (string),
"buyerInvoiceTaxOffice": "Alici Fatura Subesi" (string),
"buyerInvoiceAddress": "Alici Fatura Adresi" (string),
"buyerInvoiceTown": "Alici Fatura Ilcesi" (string),
"buyerInvoiceCity": "Alici Fatura Ili" (string),
"buyerDeliveryAddress": "Alici Gonderim Adresi" (string),
"buyerDeliveryTown": "Alici Gonderim Ilcesi" (string),
"buyerDeliveryCity": "Alici Gonderim Ili" (string),
"orderDetails": [
{
"orderDetailProductId": 77477,
"orderDetailListingId": 1494586,
"orderDetailProductName": "Lifechek Silver GH82 Kan Şekeri Ölçüm Stribi 50 Adet",
"orderDetailProductBarcode": "6936268401997",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 10,
"orderDetailListingOldCount": 10,
"orderDetailListingPrice": 12,
"orderDetailListingExpiration": "2022-07-01T00:00:00",
"orderDetailPrice": 108,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 120,
"orderDetailDiscountPrice": 12
},
{
"orderDetailProductId": 89553,
"orderDetailListingId": 1489777,
"orderDetailProductName": "Biokadin Standardize Solüsyon 100 ml",
"orderDetailProductBarcode": "8699779650121",
"orderDetailProductVAT": 18,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 50,
"orderDetailListingExpiration": "2024-12-01T00:00:00",
"orderDetailPrice": 135,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 150,
"orderDetailDiscountPrice": 15
},
{
"orderDetailProductId": 147201,
"orderDetailListingId": 1492652,
"orderDetailProductName": "Pharmaton Vitality 60 Kapsül",
"orderDetailProductBarcode": "8693203014350",
"orderDetailProductVAT": 8,
"orderDetailListingCount": 3,
"orderDetailListingOldCount": 3,
"orderDetailListingPrice": 100,
"orderDetailListingExpiration": "2026-12-01T00:00:00",
"orderDetailPrice": 270,
"orderDetailRefundPrice": 0,
"orderDetailInitialPrice": 300,
"orderDetailDiscountPrice": 30
}
]
},
........
},
"errors": null
}
16.UPDATE LİSTİNGS STOCK ONLY (Sadece İlan Stoğu Güncelleme)- (Versiyon: V2. Eklenme tarihi: 2022-10-17)
Sadece ilanların stok bilgisini güncellemek için kullanılır. Diğer ilan bilgileri değişmiyorsa (Fiyat, miat, mükerrer ilan vb. hatalar almamak için) UpdateListing yerine bu fonksiyonu kullanmanızı öneriyoruz.
StagingUrl:https://staging.lab.farmazon.com.tr/api/v2/listings/UpdateListingsStockOnly
CanlıUrl: https://lab.farmazon.com.tr/api/v2/listings/UpdateListingsStockOnly
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Request Body:
[
{
"id": 123,
"stock":789,
"isActive": true
}
]
Response:
{
"statusCode":207,
"statusMessage":"MULTI STATUS",
"result":[
{
"requestItem":{
"stock":789,
"Id":123,
"isActive": True
},
"success":true,
"errors":[]
}
],
"errors":null
}
Not: Stok parametresi ‘0' olarak ya da negatif değerler ile gönderildiğinde hata alacaksınız.
Response "statusMessage":"MULTI STATUS" şeklinde dönmesi her bir result için ayrı cevap döndüğümüz anlamına gelmektedir.
17. UPDATE LİSTİNGS PRİCE ONLY (Sadece İlan Fiyatı Güncelleme) - (Versiyon: V2. Eklenme tarihi: 2022-10-17)
Sadece ilanların fiyat bilgisini güncellemek için kullanılır. Diğer ilan bilgileri değişmiyorsa (Fiyat, miat, mükerrer ilan vb. hatalar almamak için) UpdateListing yerine bu fonksiyonu kullanmanızı öneriyoruz.
SatagingUrl: https://staging.lab.farmazon.com.tr/api/v2/listings/UpdateListingsPriceOnly
CanlıUrl: https://lab.farmazon.com.tr/api/v2/listings/UpdateListingsPriceOnly
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Request Body:
[
{
"id": 123,
"price": 456
}
]
Response:
{
"statusCode":207,
"statusMessage":"MULTI STATUS",
"result":[
{
"requestItem":{
"price":456,
"Id":123
},
"success":true,
"errors":[]
}
],
"errors":null
}
Not: Price '0' olarak gönderildiğinde, ”İlanı fiyatı Price boş veya sıfır olamaz. Lütfen geçerli bir ilan fiyatı yazınız.” şeklinde hata dönmektedir.
18.UPDATE LİSTİNGS (Stok Kodu ya da IlanId İle İlan Güncelleme)-(Versiyon V3)
Request Format:
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Bu method kullanılarak tek veya çoklu ilan gönderimi ile mevcut stok kodu dahil ilanlar güncellenebilir.
Koyu renkli belirtilmiş alanlar zorunlu alan olarak istekte gönderilmelidir.
Parametre | Açıklama | Tip |
id | ilan id | int |
price (required) | ilan fiyatı | decimal |
buyingPrice | ürün alış fiyatı | decimal |
stock (required) | ilan stok adedi | int |
state (required) | ilan aktiflik durumu (state:1 aktif, state:2 pasif) | int |
expiration | ürün miadı | DateTime |
isFeatured | öne çıkarılan ilan | bool |
description | ilan açıklaması | string |
maxCount | ilan maksimum satış adedi | int |
product.barcode | ürün barkodu | string |
product.psf | ürün psf | decimal |
product.name | ürün adı | string |
sku | stok kodu | string |
Request Body;
[
{
"id": 0,
"price": 0,
"buyingPrice": 0,
"stock": 0,
"state": 0,
"expiration": "2024-01-17T10:18:02.160Z",
"isFeatured": true,
"description": "string",
"maxCount": 0,
"product": {
"barcode": "string",
"psf": 0,
"name": "string"
},
"sku": "string"
}
]
UpdateListings (İlan güncelleme) requesti sonrası, dönecek response model örneği aşağıdaki gibidir.
Bir veya birden fazla ilan güncellemek için yapılan requestlerde, gönderilen her ilan modeli için işlem sonucuna bağlı olarak response farklı statusCode dönecektir.
Response örneğinde görüldüğü gibi request modelde gönderilen liste içerisindeki her ilan modeli için işlem sonucuna göre başarılı olması durumunda “success: true” dönecek, başarısız olması durumunda ise “success: false” ve alınan hatalar “errors” içinde detaylandırılmış bir şekilde dönecektir.
Ayrıca; errors içerisinde statusCode her özel durum için farklı kod numarasıyla dönecektir.
statusCode 207 dönen sonuçlar için response modeli içerisindeki her model için success durumu kontrol edilmelidir.
Response Body:
{
"statusCode": 207,
"statusMessage": "MULTI_STATUS",
"result":
[
{
"requestItem":
{
"sku": "",
"price": 20,
"buyingPrice": 100,
"stock": 22,
"state": 1,
"expiration": "2024-05-17T10:32:29",
"isFeatured": true,
"description": "string",
"maxCount": 0,
"product": {
"barcode": "string",
"psf": 0,
"name": "string"
},
"id": 1505808 },
"errors": [],
"success": true
}
],
"errors": null
}
19.UPDATE LISTING PRICE AND STOCK ONLY (Stok Kodu ya da IlanId İle İlan Fiyat ve Stok Güncelleme)-(Versiyon V3)
İlanların yalnızca fiyat ve stok bilgisini stok kodu dahil güncellemek için kullanılır.
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Request Body:
[
{
"id": 12345,
"price": 100,
"stock": 10,
"isActive": true,
"sku": "" } ]
Response:
{
"statusCode": 207,
"statusMessage": "MULTI_STATUS",
"result":
[
{
"requestItem":
{
"sku": "",
"id": 12345,
"price": 100,
"stock": 10,
"isActive": true
},
"errors": [],
"success": true
}
],
"errors": null
}
20.UPDATE LISTING STOCK ONLY (Stok Kodu ya da IlanId İle İlan Stok Bilgisi Güncelleme)-(Versiyon V3)
Stok kodu ya da İlanId bilgisi ile sadece ilanların stok bilgisini güncellemek için kullanılır.
HTTP METHOD: PUT
Request Headers:
Content-Type: application/json
Request Body:
[
{
"id": 0,
"stock": 10,
"isActive": true,
"sku": "TEST123"
}
]
Response:
{
"statusCode": 207,
"statusMessage": "MULTI_STATUS",
"result":
[
{
"requestItem":
{
"sku": "TEST123",
"stock": 10,
"isActive": true,
"id": 0
},
"errors": [],
"success": true
}
],
"errors": null
}
Not: Stok parametresi ‘0' olarak ya da negatif değerler ile gönderildiğinde hata alacaksınız.
Response "statusMessage":"MULTI STATUS" şeklinde dönmesi her bir result için ayrı cevap döndüğümüz anlamına gelmektedir.
____________________________________________________________________
Genel Uyarılar;
-Tüm endpointler’de dakikada 10'dan az request atmanız gerekiyor. (Error Code: 1015 api rate limitine takıldığınızı gösterir.)
-Tüm entegratörler sisteme anlık yüklendiklerinde sunucularımız önlem almaktadır ve bu nedenle 502 ve 503 hata kodları oluşabilir. Bu gibi durumlarda birkaç saniye bekleyip request’in tekrar atılması gerekir.