Araba Sorgula Api Entegrasyon Dökümanı

Bu döküman arabasorgula sistemine entegre olacak firmalar için hazırlanmış bir api dökümanıdır.Entegrasyon süresince test için hazırlamış olduğumuz apimizi kullanmalısınız.


  • Version: 1.0.2
  • Yazar: Şeyhmus Arslan (Bilgisayar Mühendisi) >
  • Oluşturulma Tarihi: 28 Ağustos 2023
  • İletişim : 0507 024 48 40

Entegrasyon konusunda aklınıza takılan bir konu olursa bizimle iletişime geçebilirsiniz.


Ortam Bilgileri

Sisteme entegrasyon için test ortamını kullanmalısınız.Entegrasyon işlemini gerçekleştirdikten sonra canlı ortamı kullanabilirsiniz.

Test ve Canlı ortam bilgileri aşağıdaki gibidir.

  • Test ortamı:https://test.arabasorgula.com
  • Swagger Arayüzü:Swager Test

Authentication(Kimlik Doğrulama)

Sisteme request(istek) gönderebilmek için önce kimlik doğrulama işlemini gerçekleştirmelisiniz. Kimlik doğrulama işlemini gerçekleştirdikten sonra size verilecek olan token bilgisini yapacağınız isteklerin Request Header kısmına koyarak istek yapmalısınız.

Authentication Request Örneği

                
                  POST https://test.arabasorgula.com/v1/auth/generate-token
                  Content-Type application/json
                  Request Body 
                  {
                    "username":"test",
                    "password":"test"
                  }
                
              

Yukarıda Request'in Body kısmındaki username ve password kısmı her firma için farklı olacaktır.Entegrasyon aşamasında talep etmeniz halinde sizinle deneme hesabı paylaşılacaktır.

Kimlik doğrulama işlemi başarılı gerçekleştiğinde aşağıdaki gibi bir cevap dönecektir.

                
                Response Body 
                {
                  "IsSuccess": true,
                  "ResultCode": "00",
                  "Message": "Giriş başarılı",
                  "Token": "eyJhb............",
                  "ExpiryDate": "2033-08-29T11:33:03Z",
                  "Errors": null
                }
              
            

Kilometre Sorgulama

Kilometre sorgulama işlemi aracın Plaka veya Şase bilgisi girilerek gerçekleştirilmektedir. 2013 yılından sonra gerçekleştirilen muayene kayıtlarını kapsamaktadır.

Kilometre Sorgu Örneği

                  
                  POST https://test.arabasorgula.com/v1/kilometer
                  Content-Type : application/json
                  Authorization : Bearer Token(kimlik doğrulama işleminden dönen token)
                  Request Body 
                  {
                    "QueryType":"0",
                    "QueryText":"34SA2763",
                    "BranchCode":"ANKARA"
                  }
                  
            

QueryType - 0 ise Plaka, 1 ise Şase'ye göre sorgulama yapılacağını ifade eder.

QueryText - Sorgulanmak istenen metni ifade eder. QueryType 0 ise plaka yazılmalı, 1 ise Şase yazılmalıdır.

BranchCode - Sorgunun yapıldığı şubeyi veya şube kodunu ifade eder. BranchCode değeri ile ay sonunda şube bazlı istatistik alabilirsiniz.

Kilometre sorgulama işlemi başarılı gerçekleştiğinde aşağıdaki gibi bir cevap dönecektir.

                  
                  Response Body 
                  {
                    "ImageURL": "https://cdn.arabasorgula.com/QueryResult/5fad3d5e-f5e5-4e3a-b2b3-a94af0676198.png",
                    "ReportURL": null,
                    "Amount": 9361,
                    "QueryPrice": 15,
                    "KilometerQueryDetails": [],
                    "IsSuccess": true,
                    "Message": "Sorgulama başarılı",
                    "KilometerQueryId": 1,
                    "ResultCode": "00",
                    "BranchCode": "ANKARA",
                    "ProcessNumber": "2c42346e-b258-456d-9d33-402661649e74"
                  }
                
              

-ImageUrl : Kilometre sorgulama sonucu PTT tarafından dönen sonuç resmidir.Bu resmi sonuç olarak ekranınızda gösterebilirsiniz.

-ReportURL : Kilometre sorgulama sonucu arabasorgula sistemindeki rapor URL bilgisidir.Bu URL ile sistemimizdeki rapor çıktısına ulaşabilirsiniz. Bunun için kullanıcının sistemimizde bütün bilgilerinin girilmiş olması gerekmektedir.

-Amount : Firmanın sistemde kalan toplam bakiyesini ifade eder.

-QueryPrice : Sorgunun firmaya özel tanımlanmış olan fiyatını ifade eder

-KilometerQueryDetails : PTT'nin 2 farklı kilometre sorgulama servisi bulunmaktadır. 1. Servis sonuç olarak JSON formatında veri dönmektedir. 2. Servis sonuç olarak resim dönmektedir.Biz genel olarak 2. Servisi kullanmaktayız.Fakat bazı durumlarda 1. Servisi de kullandığımız için servis sonucunda ImageURL dolu ise KilometerQueryDetails kısmına bakmanıza gerek yoktur.

Eğer KilometerQueryDetails dolu ise ImageURL kısmına bakmanıza gerek yoktur.Firmaya göstereceğiniz kilometre sonucunu JSON verisinden aldığınız değerlere göre oluşturmalısınız.

-IsSuccess : Sorgunun başarılı olup olmadığını ifade eder.Eğer değeri false ise başarılı değil demektir ve bakiyenizden sorgu fiyatı düşülmemiştir. Değer true ise sorgu başarılıdır ve bakiyenizden sorgu fiyatı düşülmüştür.

-KilometerQueryId : Sorgu başarılı ise sorgunun sistemimizdeki ID değerini verir.Bu değer ile tekrardan sorgu sonucuna ulaşabilirsiniz.

-ResultCode : Sonuç ile ilgili değer dönderir.Eğer 00 dönmüşse başarılıdır demektir.Bu dönüş kodlarına ilgili kısımdan ulaşabilirsiniz.

-BranchCode : Firmanın gönderdiği sorguyu yapan şube kodu değeridir.

-ProcessNumber : Sorgu başarılı olduğu zaman üretilen bir unique değerdir.

KilometerQueryDetails kısmı dolu olan sorgu örneği aşağıdaki gibidir.

                  Response Body 
                  {
                    "ImageURL": null,
                    "ReportURL": null,
                    "Amount": 9361,
                    "QueryPrice": 15,
                    "KilometerQueryDetails": [
                      {
                        "Id": 6,
                        "KmTarih": "2021-10-14T00:00:00",
                        "AracBilgisi": "FORD DB3",
                        "Km": "158475",
                        "Plaka": "34SA2763",
                        "Model": "2016",
                        "MotorNo": "GY1*****964",
                        "SasiBelgeNo": "WF0*****964",
                        "KmQueryId": 6,
                        "IsThereAProblem": false
                      },
                      {
                        "Id": 7,
                        "KmTarih": "2019-10-18T00:00:00",
                        "AracBilgisi": "FORD DB3",
                        "Km": "134405",
                        "Plaka": "34SA2763",
                        "Model": "2016",
                        "MotorNo": "GY1*****964",
                        "SasiBelgeNo": "WF0*****964",
                        "KmQueryId": 6,
                        "IsThereAProblem": false
                      }
                    ],
                    "IsSuccess": true,
                    "Message": "Sorgulama başarılı",
                    "KilometerQueryId": 1,
                    "ResultCode": "00",
                    "BranchCode": "ANKARA",
                    "ProcessNumber": "2c42346e-b258-456d-9d33-402661649e74"
                  }
                

Yukarıdaki çıktıda KilometerQueryDetails içerisindeki önemli olan degerlerin açıklaması aşağıdaki gibidir.

IsThereAProblem : Aracın kilometresi ile oynanıp oynanmadığını ifade eder.True olması durumunda o tarihteki muayenede aracın kilometresi ile oynanmış demektir.


SBM Sorgulama

SBM sorgulama işlemi sigorta şirketleri tarafından Sigorta Bilgi ve Gözetim Merkezi'ne iletilen sigorta kayıtlarından ibarettir.

Örnek sorgulama metinleri olarak EN36E5139200S4499 Şase numarasını yada 32LL112 plakasını kullanabilirsiniz.


Hasar Sorgulama

Dilediğiniz aracın daha önce herhangi bir kazaya karışıp karışmadığını, eğer hasar gördüyse hasar tarihini , hasarın tutarını ve hasar nedeni gibi tüm bilgileri hasar sorgulama servisiyle öğrenebilirsiniz.Hasar sorgulama işlemi aracın Plaka veya Şase bilgisi girilerek gerçekleştirilmektedir.

Hasar Sorgu Örneği

                    
                    POST https://test.arabasorgula.com/v1/sbm/damage
                    Content-Type : application/json
                    Authorization : Bearer Token(kimlik doğrulama işleminden dönen token)
                    Request Body 
                    {
                      "QueryType":"1",
                      "QueryText":"EN36E5139200S4499",
                      "BranchCode":"ANKARA"
                    }
                  
            

QueryType - 0 ise Plaka, 1 ise Şase'ye göre sorgulama yapılacağını ifade eder.

QueryText - Sorgulanmak istenen metni ifade eder. QueryType 0 ise plaka yazılmalı, 1 ise Şase yazılmalıdır.

BranchCode - Sorgulama yapan firmanın şube kodunu ifade eder.

Hasar sorgulama işlemi başarılı gerçekleştiğinde aşağıdaki gibi bir cevap dönecektir.

                  
                  Response Body 
                  {
                    "DamageCount": 1,
                    "ReplacementDetails": [
                      {
                        "HasReplacement": true,
                        "DamageDate": "09.02.2021",
                        "DamageDateKeyValue": "yBhNNxDLoTVETKAvylj+fw=="
                      }
                    ],
                    "IsSuccess": true,
                    "ResultCode": "00",
                    "Message": "Sorgulama başarılı",
                    "SbmQueryResultId": 87,
                    "Amount": 9272,
                    "Price": 67,
                    "ResultImageUrl": "https://cdn.arabasorgula.com/QueryResult/ad119b36-547c-4650-aa89-21baa1ce97c8.png",
                    "BranchCode": "ANKARA",
                    "ProcessNumber": "2c42346e-b258-456d-9d33-402661649e74"
                  }
                
              

-DamageCount : Sorgulama sonucu aracın hasar sayısını döndürür.

-ReplacementDetails : Aracın değişen parça bilgilerini gösterir.

  • HasReplacement: Aracın bu tarihteki kazasında değişen parçasının olup olmadığını gösterir. True ise bu kazada değişen parça var demektir.
  • DamageDate: Aracın hasar tarihini gösterir
  • DamageDateKeyValue: Aracın değişen parçası varsa bu değer dolu gelir ve unique bir string değer döndürür.Değişen parça sorgulama işleminde bu kazadaki değişen parçaları sorgulamak için bu değer kullanılmak zorundadır.

-IsSuccess : Sorgunun başarılı olup olmadığını ifade eder.Eğer değeri false ise başarılı değil demektir ve bakiyenizden sorgu fiyatı düşülmemiştir. Değer true ise sorgu başarılıdır ve bakiyenizden sorgu fiyatı düşülmüştür.

-ResultCode : Sonuç ile ilgili değer dönderir.Eğer 00 dönmüşse başarılıdır demektir.Bu dönüş kodlarına ilgili kısımdan ulaşabilirsiniz.

-Message : Sorgulama sonucu ile ilgili mesaj döndürür.

-Amount : Firmanın sistemde kalan toplam bakiyesini ifade eder.

-SbmQueryResultId : Sorgu başarılı ise sorgunun sistemimizdeki ID değerini verir.Bu değer ile tekrardan sorgu sonucuna ulaşabilirsiniz.

-Price : Sorgunun firmaya özel tanımlanmış olan fiyatını ifade eder

-ResultImageUrl : Hasar sorgulama sonucu SBM tarafından dönen sonuç resmidir.Bu resmi sonuç olarak ekranınızda gösterebilirsiniz.

-BranchCode : Firmanın gönderdiği sorguyu yapan şube kodu değeridir.

-ProcessNumber : Sorgu başarılı olduğu zaman üretilen bir unique değerdir.


Değişen Parça Sorgulama

Dilediğiniz aracın geçmişte değişen parçalarını, parçaların orijinal olup olmadığını, parçanın kaç adet olduğunu, kaza tarihini, tamirat anındaki kilometre bilgisini, toplam değişen parça tutarını, toplam işçilik tutarını öğrenebilirsiniz

Hasar Sorgu Örneği

                    
                    POST https://test.arabasorgula.com/v1/sbm/replacement
                    Content-Type : application/json
                    Authorization : Bearer Token(kimlik doğrulama işleminden dönen token)
                    Request Body 
                    {
                      "QueryType":"1",
                      "QueryText":"EN36E5139200S4499",
                      "DamageDate": "09.02.2021",
                      "DamageDateKeyValue":"yBhNNxDLoTVETKAvylj+fw==",
                      "BranchCode":"ANKARA"
                    }
                  
            

QueryType - 0 ise Plaka, 1 ise Şase'ye göre sorgulama yapılacağını ifade eder.

QueryText - Sorgulanmak istenen metni ifade eder. QueryType 0 ise plaka yazılmalı, 1 ise Şase yazılmalıdır.

DamageDate - Sorgulanmak istenen hasar tarihini ifade eder.

DamageDateKeyValue - Hasar sorgulama işlemi sonucunda dönen bir değerdir. Değişen parça sorgulama işlemi için önce hasar sorgulama yapmalısınız.

Değişen parça sorgulama işlemi başarılı gerçekleştiğinde aşağıdaki gibi bir cevap dönecektir.

BranchCode - Sorgulama yapan firmanın şube kodunu ifade eder.


                  
                  Response Body 
                  {
                    "IsSuccess": true,
                    "ResultCode": "00",
                    "Message": "Sorgulama başarılı",
                    "SbmQueryResultId": 88,
                    "Amount": 9220,
                    "Price": 67,
                    "ResultImageUrl": "https://cdn.arabasorgula.com/QueryResult/de97f09c-d4b1-4da2-bbda-ad77f276f033.png",
                    "BranchCode": "ANKARA",
                    "ProcessNumber": "2c42346e-b258-456d-9d33-402661649e74"
                  }
                
              

Değişen parça sonucundaki property'lerin ne anlama geldiği hasar sorgulama sonucunda ayrıntılı bir şekilde anlatılmıştır.Oradan bakabilirsiniz.


Detay Sorgulama

Dilediğiniz aracın marka ve modelini, hangi illerde tescilinin olduğunu, kasko bilgilerini, trafiğe çıkış tarihini, plaka değişimi olup olmadığını, araç türündeki değişim listesini, son sahip bilgisini ve süresini öğrenebilirsiniz.

Detay Sorgu Örneği

                    
                    POST https://test.arabasorgula.com/v1/sbm/detail
                    Content-Type : application/json
                    Authorization : Bearer Token(kimlik doğrulama işleminden dönen token)
                    Request Body 
                    {
                      "QueryType":"1",
                      "QueryText":"EN36E5139200S4499",
                      "BranchCode":"ANKARA"
                    }
                  
            

QueryType - 0 ise Plaka, 1 ise Şase'ye göre sorgulama yapılacağını ifade eder.

QueryText - Sorgulanmak istenen metni ifade eder. QueryType 0 ise plaka yazılmalı, 1 ise Şase yazılmalıdır.

Detay sorgulama işlemi başarılı gerçekleştiğinde aşağıdaki gibi bir cevap dönecektir.

                  
                  Response Body 
                  {
                    "IsSuccess": true,
                    "ResultCode": "00",
                    "Message": "Sorgulama başarılı",
                    "SbmQueryResultId": 89,
                    "Amount": 9220,
                    "Price": 67,
                    "ResultImageUrl": "https://cdn.arabasorgula.com/QueryResult/07936c9d-62fb-429a-96a8-4edae925a0b9.png",
                    "BranchCode": "ANKARA",
                    "ProcessNumber": "2c42346e-b258-456d-9d33-402661649e74"
                  }
                
              

Detay sorgulama sonucundaki property'lerin ne anlama geldiği hasar sorgulama sonucunda ayrıntılı bir şekilde anlatılmıştır.Oradan bakabilirsiniz.


Borç Sorgulama

Dilediğiniz aracın MTV ve TRAFİK ceza borçlarını sorgulayabilirsiniz.Bu borçlar araç satışına engel olduğu için önem arzetmektedir.

Borç Sorgu Örneği

                    
                    POST https://test.arabasorgula.com/v1/Debt
                    Content-Type : application/json
                    Authorization : Bearer Token(kimlik doğrulama işleminden dönen token)
                    Request Body 
                    {
                      "QueryText":"34SA2763"
                    }
                  
            

QueryText - Sorgulanmak istenen metni ifade eder.Sadece plaka ile yapılmaktadır.

Borç sorgulama işlemi başarılı gerçekleştiğinde aşağıdaki gibi bir cevap dönecektir.

                  
                  Response Body 
                  {
                      "isSuccess": true,
                      "resultCode": "00",
                      "message": "Sorgulama başarılı",
                      "amount": 0,
                      "queryPrice": 5,
                      "queryId": 1,
                      "BranchCode": "ANKARA",
                      "processNumber": "2c42346e-b258-456d-9d33-402661649e74",
                      "debtQueryResult": [
                        {
                          "period": "2023-2",
                          "lastPaymentDate": "20230804",
                          "debtAmount": "2.342,32",
                          "costAmount": "0,00",
                          "totalAmount": "2.342,32",
                          "debtType": 0
                        },
                        {
                          "period": "-",
                          "lastPaymentDate": "-",
                          "debtAmount": "-",
                          "costAmount": "-",
                          "totalAmount": "-",
                          "debtType": 1
                        }
                      ]
                    }
                
              

-IsSuccess : Sorgunun başarılı olup olmadığını ifade eder.Eğer değeri

-ResultCode : Sonuç ile ilgili değer dönderir.Eğer 00 dönmüşse başarılıdır demektir.Bu dönüş kodlarına ilgili kısımdan ulaşabilirsiniz.

-Message : Sorgulama sonucu ile ilgili mesaj döndürür.

-Amount : Firmanın sistemde kalan toplam bakiyesini ifade eder.

-QueryPrice : Sorgunun firmaya özel tanımlanmış olan fiyatını ifade eder

-QueryId : Sorgu sonucunun sistemimizde kayıtlı olan ID değeridir.

-DebtQueryResult : Borç sorgulama sonucunun detayını ifade eder.Liste şeklinde geriye değer dönderir.İçerisinde bulunan DebtType değeri borc'un türünü gösterir.Herbir borç türünden birden fazla dönebilir.

-BranchCode:Sorgulama yapan firmanın şube kodunu ifade eder.

-ProcessNumber : Sorgu başarılı olduğu zaman üretilen bir unique değerdir.

  • Period:Borcun periyodunu belirtir.
  • LastPaymentDate:Borcun son ödeme tarihini ifade eder.
  • DebtAmount:Borcun son ödeme tarihini ifade eder.
  • CostAmount:Borcun masraf tutarını ifade eder.
  • TotalAmount:Borcun toplam tutarını ifade eder.
  • DebtType:Borç türünü ifade eder.O ise MTV , 1 ise TRAFİK borcudur.

Dönüş Değerleri

Sistemde sorgulama yaptıktan sonra dönen ResultCode değerlerinin ne anlama geldiği aşağıda belirtilmiştir.

00 : Sorgulama sonucu başarılı.

01 : Sorgulanan aracın muayene kaydı yoktur.Bakiyenizden ücret kesilmez.

02 : Kilometre sisteminde yaşanan aksaklıktan dolayı sistemde bakım çalışması vardır.Lütfen daha sonra tekrar deneyiniz.

03 : Sorgulama sonucu ilgili aracın SBM kayıtlarında poliçe kaydı bulunamamıştır.Bakiyenizden ücret kesilmez.

04 : Sorgulama sonucu ilgili aracın SBM kayıtlarında hasar kaydı bulunamamıştır.Bakiyenizden ücret kesilir.

05 : SBM sisteminde yaşanan aksaklıktan dolayı sistemde bakım çalışması vardır.Lütfen daha sonra tekrar deneyiniz.

06 : Borç sorgulama sisteminde yaşanan aksaklıktan dolayı sistemde bakım çalışması vardır.Lütfen daha sonra tekrar deneyiniz.

07 : Sistem hatası.

08 : Giriş bilgileri hatalı.

09 : Plaka uzunluğu hatalı.

10 : Hatalı plaka.

11 : Şase uzunluğu hatalı.

12 : Şase hatalı.

13 : Bakiyeniz yetersiz.

14 : Kullanıcı bulunamadı

15 : Bu sorgu size ait değil.


Changelog

Son versiyonlarda nelerin eklendiğine,değiştirildiğine ve düzeltildiğine bakalım.

Version 1.0.2 (06 Ağustos, 2024)

  • Eklendi Kilometre,Hasar,Değişen Parça,Detay ve Borç sorgularına BranchCode değişkenleri eklendi.Böylelikle firmalar için, hangi şubenin ne kadar sorgulama yaptığını öğrenebilmesi sağlandı.

Version 1.0.1 (24 Eylül, 2023)

  • Eklendi Borç Sorgulama nasıl yapılır.Eklendi.
  • Eklendi Sorgulama sonucunda dönen ResultCode değerlerinin ne anlama geldiğini gösteren kısım eklendi.