İçeriğe geç

Araç ara

GET
/v1/public/search
curl --request GET \
--url 'https://api.mirac-ozdemir.com/v1/public/search?page=1&pageSize=20&locale=tr&q='

Başlık, açıklama ve anahtar kelimelerde tam metin ve benzerlik araması (dil kurallarına göre; Türkçe karakterler aksansız da eşleşir). Sonuçlar alaka düzeyine göre sıralanır; boş q tüm araçları listeler. Hız sınırı: IP başına 60 istek / 60 sn.

page
integer
default: 1 >= 1 <= 10000

Example

1

Sayfa numarası, 1’den başlar.

pageSize
integer
default: 20 >= 1 <= 50

Example

20

Sayfa başına kayıt (varsayılan 20).

locale
required
string
Allowed values: tr en

İçerik dili: tr veya en. Zorunludur; araç o dilde yoksa 404 döner.

q
string
"" <= 100 characters

Example

kdv

Arama metni (en fazla 100 karakter).

category

Category key; a main category also lists its subcategories

string
>= 2 characters <= 64 characters /^[a-z0-9]+(-[a-z0-9]+)*$/

Kategori key’i; ana kategori verilirse alt kategorilerindeki araçlar da dahil edilir.

Arama sonuçları

Media typeapplication/json
object
data
required
Array<object>
object
toolId
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
key
required

Kalıcı araç anahtarı (ör. kdv); tüm ortamlarda aynıdır.

string
locale
required
string
Allowed values: tr en
slug
required
string
path
required
string
title
required
string
shortDescription
required
string
category
required
string
availability
required
string
Allowed values: ONLINE MAINTENANCE
score
required
number
meta
required
object
page
required
integer
>= 1 <= 9007199254740991
pageSize
required
integer
>= 1 <= 9007199254740991
total
required
integer
<= 9007199254740991
totalPages
required
integer
>= 1 <= 9007199254740991

Example

{
"data": [
{
"key": "kdv",
"locale": "tr",
"availability": "ONLINE"
}
],
"meta": {
"page": 1,
"pageSize": 20,
"total": 100,
"totalPages": 5
}
}
X-Request-Id
string

İstek kimliği; destek taleplerinde iletin.

RateLimit-Limit
integer

Penceredeki toplam istek hakkı.

RateLimit-Remaining
integer

Penceredeki kalan istek hakkı.

Doğrulama, hesaplama veya oran hatası

Media typeapplication/json

Tüm hatalarda aynı zarf. details yapısı koda göre değişir (bkz. API açıklamasındaki tablo).

object
error
required
object
code
required

Makine tarafından okunacak sabit kod; mantığınızı buna göre kurun.

string
Allowed values: VALIDATION_ERROR NOT_FOUND CONFLICT CALCULATION_ERROR RATE_UNAVAILABLE PAYLOAD_TOO_LARGE RATE_LIMITED TIMEOUT SERVICE_UNAVAILABLE MAINTENANCE INTERNAL_ERROR
message
required

İngilizce, insan tarafından okunacak açıklama; değişebilir.

string
details

fields[] (girdi hataları), issues[] (istek şeması), reason, currentVersion, retryAfterSeconds, rates, asOf.

object
key
additional properties
requestId
required

X-Request-Id yanıt başlığıyla aynı değer.

string | null

Examples

ExampleinvalidParameter

Geçersiz parametre

{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request",
"details": {
"issues": [
{
"path": "locale",
"message": "Invalid option: expected one of \"tr\"|\"en\"",
"code": "invalid_value"
}
]
}
},
"requestId": "5f0c6a5e-2b7e-4a7b-9a51-0d9f0c1f7e21"
}
X-Request-Id
string

İstek kimliği; destek taleplerinde iletin.

Hız sınırı aşıldı; Retry-After saniye sonra tekrar deneyin

Media typeapplication/json

Tüm hatalarda aynı zarf. details yapısı koda göre değişir (bkz. API açıklamasındaki tablo).

object
error
required
object
code
required

Makine tarafından okunacak sabit kod; mantığınızı buna göre kurun.

string
Allowed values: VALIDATION_ERROR NOT_FOUND CONFLICT CALCULATION_ERROR RATE_UNAVAILABLE PAYLOAD_TOO_LARGE RATE_LIMITED TIMEOUT SERVICE_UNAVAILABLE MAINTENANCE INTERNAL_ERROR
message
required

İngilizce, insan tarafından okunacak açıklama; değişebilir.

string
details

fields[] (girdi hataları), issues[] (istek şeması), reason, currentVersion, retryAfterSeconds, rates, asOf.

object
key
additional properties
requestId
required

X-Request-Id yanıt başlığıyla aynı değer.

string | null

Examples

ExamplerateLimited

Hız sınırı aşıldı

{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests, please try again later",
"details": {
"retryAfterSeconds": 42
}
},
"requestId": "5f0c6a5e-2b7e-4a7b-9a51-0d9f0c1f7e21"
}
X-Request-Id
string

İstek kimliği; destek taleplerinde iletin.

Retry-After
integer
>= 1

Tekrar denemeden önce beklenecek saniye.

Beklenmeyen sunucu hatası

Media typeapplication/json

Tüm hatalarda aynı zarf. details yapısı koda göre değişir (bkz. API açıklamasındaki tablo).

object
error
required
object
code
required

Makine tarafından okunacak sabit kod; mantığınızı buna göre kurun.

string
Allowed values: VALIDATION_ERROR NOT_FOUND CONFLICT CALCULATION_ERROR RATE_UNAVAILABLE PAYLOAD_TOO_LARGE RATE_LIMITED TIMEOUT SERVICE_UNAVAILABLE MAINTENANCE INTERNAL_ERROR
message
required

İngilizce, insan tarafından okunacak açıklama; değişebilir.

string
details

fields[] (girdi hataları), issues[] (istek şeması), reason, currentVersion, retryAfterSeconds, rates, asOf.

object
key
additional properties
requestId
required

X-Request-Id yanıt başlığıyla aynı değer.

string | null

Example

{
"error": {
"code": "NOT_FOUND",
"message": "Tool not found"
},
"requestId": "5f0c6a5e-2b7e-4a7b-9a51-0d9f0c1f7e21"
}
X-Request-Id
string

İstek kimliği; destek taleplerinde iletin.