Ana içeriğe geç

FarmazonRx API Dökümanı

Siparişlerin entegrasyon üzerinden alınması işlemini API ile gerçekleştirebilirsiniz.

Yazar: Murat Ersoy

Ortam Bilgileri

User-Agent Header Kullanımı

Aşağıda yer alan tüm istekler için user-agent http header dolu gelmesi beklenir.

SignIn Metodu

Sipariş listelerini çağırmadan önce token alınmalıdır. Alınan token Bearer token olup daha sonra sipariş listesi için atılacak istekte Authorization header ile gönderilecektir. Varsayılan olarak bu token 1 gün ömürlüdür.

Aşağıdaki gibi çağırılan bu istek bir POST isteğidir ve Header içerisine user-agent eklenmelidir. https://staging-orderintegration.test.farmazonrx.com.tr/api/v1/signin


İstek Parametreleri

Başlık

Zorunlu

Tip

Açıklama

requestId

evet

string(max 32 char)

Her istek ile gelecek olan benzersiz id bilgisi loglama amaçlıdır.

userName

evet

string

Eczanenin farmazonrx'e login olmasını sağlayan kullanıcı adı

password

evet

string

Eczanenin farmazonrx'e login olmasını sağlayan şifresi

accessKey

evet

string

İstekte bulunan uygulamayı tanımlayan anahtar

secretKey

evet

string

İstekte bulunan uygulamayı doğrulayan anahtar

Dönüş Parametreleri

Başlık

Tip

Açıklama

result

object

İstek özelinde gerçek cevabı belirtir. Aşağıda detaylandırılmıştır.

success

boolean

İstek için başarılı/başarısız ayrımını belirtir.

statusCode

int

http code bilgisi.

errorCode

string

Farmazon-RX tarafındaki hata kodu.

errors

array(string)

Farmazon-RX tarafındaki hata açıklamaları.

Yukarıdaki dönüş formatı FarmazonRX tarafından kullanılan temel dönüş formatıdır (response container), token isteğine özel cevabın detayları result içinde aşağıdaki gibidir.

Başlık

Tip

Açıklama

requestId

string

İstek ile gönderilen ping-pong değer

token

string

Token değeri

expirationDate

date

Token için son geçerlilik tarihi


Order/List Metodu

Sipariş listesi, çeşitli filtreler uygulanarak aşağıdaki GET isteği alınabilir https://staging-orderintegration.test.farmazonrx.com.tr/api/v1/orders/buyer/list Header içerisine user-agent ve authorization eklenmelidir.

İstek Parametreleri

Başlık

Zorunlu

Tip

Açıklama

requestId

evet

string

(max 32

char)

Her istek ile gelecek olan benzersiz id bilgisi loglama amaçlıdır.

pageIndex

hayır

int (>

0)

Büyük veri setlerinde performans amaçlı kullanılmak üzere sayfalama yapılabilir. Bu parametre ile istenilen sayfa alınabilir, default değeri 1'dir ve 1 ilk sayfayı ifade eder.

pageSize

hayır

int(>0)

pageIndex parametresi ile birlikte kullanılır. Zorunlu olmamakla birlikte default değeri 100'dir. Yani bu iki değer girilmediğinde ilk 100 kayıt döner.

state

hayır

int

0 = Tüm Siparişler (default)

1 = Yeni Sipariş

2 = Onaylandı

3 = Teslimat Sürecinde

4 = İptal Edildi

5 = Tamamlandı

startDate

hayır

date

Sipariş listesi için başlangıç tarihi, boş bırakılırsa 7 gün öncesi olarak tanımlanır.

endDate

hayır

date

Sipariş listesi için bitiş tarihi, boş bırakılırsa bugün olarak tanımlanır ve başlangıç tarihinden büyük olmalıdır.

Dönüş Parametreleri

Başlık

Tip

Açıklama

requestId

string

ping-pong değer, istek ile gönderilen değer geri verilir.

orders

object array

sipariş listesi

pageIndex

int

İstek ile gönderilen sayfa numarası.

pageSize

int

İstek ile gönderilen, bir sayfadaki kayıt adedi.

totalCount

int

İlgili isteğe ait toplam kayıt adedi, bu adet ve sayfalama değerleri üzerinde sonraki sayfaların çağırılıp çağırılmayacağına karar verilebilir.

Order içinde aşağıdaki bilgiler yer almaktadır.

Başlık

Tip

Açıklama

id

string

FarmazonRX sipariş id bilgisi

price

decimal

Sipariş toplam tutarı (varsa kargo bedeli hariç)

shipmentPrice

decimal

Alıcının ödediği kargo bedeli

totalPrice

decimal

Alıcının ödediği toplam tutar

(price + shipmentPrice)

refundPrice

decimal

iade edilen tutar (toplam tutar üzerinden, yani kargo bedeli varsa ve iade olmuşsa bu rakama dahildir)

state

int

1 = Yeni Sipariş

2 = Onaylandı

3 = Teslimat Sürecinde

4 = İptal Edildi

5 = Tamamlandı

stateDesc

string

Sipariş durumunun açıklaması

orderDate

datetime

Sipariş verilen tarih

lastUpdateDate

datetime

Sipariş üzerindeki son güncelleme tarihi

qrCodes

string array

Sipariş kalemleri için satıcının kaydettiği barkod numaraları

seller

object

Satıcı bilgileri

shipment

object

Kargo bilgileri. Bu alan eğer sipariş kargo firması aracılığıyla iletilecekse ve onaylandığı durumunda dolu olur.

items

object array

Kalem kalem sku bilgileri

Seller şeması aşağıdaki gibidir

Başlık

Tip

Açıklama

alias

string

Satıcının FarmazonRX üzerinde gösterilen (alıcının gördüğü) adı

sellerName

string

Satıcının resmi adı

gln

string

Satıcının gln'si

taxNumber

string

Satıcı vergi numarası

taxOffice

string

Satıcı vergi dairesi

hasAutomationSupport

bool

Satıcının, alıcının kullandığı otomasyon programına entegrasyonu olup olmadığını belirtir.

Shipment şeması aşağıdaki gibidir

Başlık

Tip

Açıklama

code

string

FarmazonRX tarafından üretilen kargo kodu

companyName

string

Kargo firma adı

trackingNo

string

Kargo yola çıktığında kargo firmasının bildirdiği takip numarası

trackingUrl

string

Kargo yola çıktığında kargo firmasının bildirdiği takip adresi

Item (Sipariş kalemi) şeması aşağıdaki gibidir

Başlık

Tip

Açıklama

id

int

Sipariş kaleminin FarmazonRX tarafındaki numarası

referenceId

int

İlanın entegrasyonla gelen referans değeri (eğer ilan entegrasyon üzerinden kaydedilmemişse boş gelir)

productId

int

Ürünün FarmazonRX tarafındaki numarası

productName

string

Ürün adı

barcode

string

Ürünün barkod numarası

miat

date

İlana ait miat bilgisi

baseCount

int

İlana ait MF değeri

freeCount

int

İlana ait MF değeri

quantity

int

Satın alınan adet (satın alma aşamasındaki toplam adet, daha sonra iadeler olsa da bu alan değişmez, yani orjinal adet bilgisidir.)

returnQuantity

int

İade edilen adet

currentQuantity

int

Mevcut adet (quantity - returnQuantity), gönderilecek adet bilgisi budur.

unitPrice

decimal

Birim fiyat

totalPrice

decimal

Toplam fiyat (satın alma aşamasındaki toplam fiyat, daha sonra iadeler olsa da bu fiyat değişmez, yani orjinal fiyat bilgisidir)

refundPrice

decimal

İade edilen fiyat

currentPrice

decimal

Mevcut toplam fiyat (totalPrice - refundPrice)

keepPackage

bool

İlanın bölünmez barem olup olmadığına dair flag

tevzi

bool

İlanın tevzi olup olmadığına dair flag

returned

bool

Bu kalemin tamamen iade olup olmadığıana dari flag (true ise bu kalem gönderilmeyecek demektir)

Örnek Request ve Response

Yukarıdaki request ile birlikte Authorization header gönderilir. Alınmış olan token değeri Bearer prefix ile gönderilir.




Hata Örnekleri

Token gönderilmediği durumda alınan hata

Geçersiz token kullanımı

Genel (beklenmeyen) hata

Validasyon hatası (misal requestId boş ise)

*Not *: Swagger dökümantasyonu için Swagger UI adresini ziyaret edebilirisiniz.

Versiyon Geçmişi

Versiyon

v1

İlk döküman oluşturuldu

v2

Order/List metodundan dönen response içinde seller altına hasAutomationSupport alanı eklendi.

Bu cevap sorunuzu yanıtladı mı?