GraphQL v3
Şema
v3 GraphQL API'sinin kök türleri ve temel nesne türleri. Alan listesi kapsamlı olup değişebilir; her zaman güncel şemayı keşfederek doğrulayın.
Plan Kısıtları — Profesyonel ve üzeri
Pazar fiyatları (PriceCharting, TCGMarket, CardMarket) ve kart veri alanları (rarity, illustrator, hp, types, dexIds, stage, evolveFrom, suffix, level) yalnızca Profesyonel plan ve üzerinde döner. Başlangıç planı bu alanları sorgulayabilir ancak yanıt null gelir; erişim yoksa 403 PLAN_UPGRADE_REQUIRED döner.
Kök Türler
Yayındaki şema yalnızca katalog sorgularını içerir. Şemanın tamamını uç noktaya bir IntrospectionQuery göndererek doğrulayabilirsiniz.
type Query {
categories(game: String, market: String, parentId: ID, first: Int, after: String): CategoryConnection!
category(id: ID!): Category
items(game: String, market: String, search: String,
categoryId: ID, first: Int, after: String,
sortBy: String, sortOrder: String): ItemConnection!
item(id: ID!): Item
}Planlanan alanlar — henüz yayında değil
Aşağıdaki sorgular ve tüm Mutation alanları tasarım aşamasındadır; yayındaki şema bunları bildirmez. Pazar işlemleri (teklifler, soru-cevap, dışa aktarma) eklendiğinde bu bölüm güncellenecek.
# Planlanan sorgular
listingQuestions(listingId: ID!): [ListingQuestion!]!
myOffers(status: String, first: Int, after: String): OfferConnection!
highlightCredits: Int!
orderExports(first: Int): OrderExportConnection!
type Mutation {
updateListingPrice(listingId: ID!, price: Float!): ListingResult
updateListing(listingId: ID!, input: ListingInput!): ListingResult
setListingStatus(listingId: ID!, action: String!): ListingResult
addCollectionItem(collectionId: ID!, input: CollectionItemInput!): CollectionItemResult
updateCollectionItem(collectionId: ID!, itemId: ID!, input: CollectionItemInput!): CollectionItemResult
removeCollectionItem(collectionId: ID!, itemId: ID!): SimpleResult
configureWebhook(input: WebhookInput!): Webhook
# Alıcı teklifleri (Plus)
createOffer(listingId: ID!, amount: Float!): OfferResult!
counterOffer(offerId: ID!, amount: Float!): OfferResult!
acceptOffer(offerId: ID!): OfferResult!
rejectOffer(offerId: ID!): OfferResult!
# İlan soru-cevap
askListingQuestion(listingId: ID!, question: String!): ListingQuestionResult!
answerListingQuestion(questionId: ID!, answer: String!): ListingQuestionResult!
# Sipariş dışa aktarma (Plus)
requestOrderExport(scope: OrderExportScope!): OrderExportResult!
}Nesne Türleri
Category
| Alan | Tip | Açıklama |
|---|---|---|
id | ID! | Kategori kimliği |
name | String! | Kategori adı |
slug | String! | URL-dostu tanımlayıcı |
image | String | Kategori görseli |
parent | Category | Üst kategori |
children | [Category!] | Alt kategoriler |
items | ItemConnection | Kategorideki ürünler (sayfalamalı) |
Item
Ürünün temel bilgileri, pazar fiyatları ve eşleşen market kartından gelen kart veri alanları. 🛡️ işaretli alanlar Profesyonel plan ve üzerinde döner.
| Alan | Tip | Açıklama |
|---|---|---|
id | ID! | Ürün kimliği |
name | String! | Ürün adı |
code | String | Ürün kodu (set numarası) |
slug | String | URL-dostu tanımlayıcı |
genre | String | Ürün türü (single, card, sealed, bundle) |
game | String | Oyun (pokemon, onepiece) |
category | Category | Ürünün kategorisi |
images | [ItemImage!] | Ürün görselleri |
prices | [Price!] | Tüm pazarlardaki durum bazlı fiyatlar |
groups | [ItemGroup!] | Kondisyon/grup etiketleri |
attributes | [ItemAttribute!] | Ek özellikler (rakip özellikler) |
rarity 🛡️ | String | Kart nadirlik seviyesi (örn. Ultra Rare) |
illustrator 🛡️ | String | Kart çizeri/illustrator adı |
hp 🛡️ | Int | Can puanı (HP) |
types 🛡️ | [String!] | Enerji/türler (örn. ["Fire", "Darkness"]) |
dexIds 🛡️ | [Int!] | Pokédex numaraları |
stage 🛡️ | String | Evrim aşaması (örn. Stage 2, VSTAR) |
evolveFrom 🛡️ | String | Önceki evrim (evolve from) adı |
suffix 🛡️ | String | Kart soneki (örn. EX, V, GX) |
level 🛡️ | Int | Kart seviyesi (varsa) |
Price — Pazar Fiyatları
prices alanı, market alanıyla hangi pazardan geldiğini belirtir. Bir ürün KartFiyat, PriceCharting, TCGMarket ve CardMarket fiyatlarını birlikte sunar.
| Alan | Tip | Açıklama |
|---|---|---|
market | String! | Fiyat kaynağı: kartfiyat, pricecharting, tcgmarket, cardmarket |
label | String! | Kondisyon etiketi (örn. Near Mint, Lightly Played, PSA 10) |
price | Float | Fiyat (currency biriminde) |
currency | String! | Para birimi (KartFiyat için TRY; diğer pazarlar kaynak para birimini kullanır) |
updatedAt | String | Son güncelleme zamanı (ISO 8601) |
Market enum'ları
enum Market {
KARTFIYAT
PRICECHARTING
TCGMARKET
CARDMARKET
}Sayfalama
| Tür | Alan | Açıklama |
|---|---|---|
PageInfo | hasNextPage, endCursor | Sonraki sayfa var mı ve imleç |
CategoryConnection | nodes, pageInfo | Kategori listesi |
ItemConnection | nodes, pageInfo | Ürün listesi |
OfferConnection | nodes, pageInfo | Teklif listesi |
OrderExportConnection | nodes, pageInfo | Dışa aktarma işleri listesi |
Pazar İşlemi Türleri
Offer — Alıcı Teklifi
| Alan | Tip | Açıklama |
|---|---|---|
id | ID! | Teklif kimliği |
listing | Listing | Teklifin yapıldığı ilan |
amount | Float! | Teklif tutarı (TL) |
status | String! | pending, countered, accepted, rejected, expired, converted, invalidated |
lastProposedBy | String! | Son teklifi yapan taraf: buyer veya seller |
expiresAt | String | Teklifin son geçerlilik anı (24 saat) |
acceptedAt | String | Kabul anı |
rejectedAt | String | Red anı |
convertedAt | String | Siparişe dönüşme anı |
convertedOrderId | ID | Dönüşen sipariş kimliği |
ListingQuestion — İlan Soru-Cevap
| Alan | Tip | Açıklama |
|---|---|---|
id | ID! | Soru kimliği |
listingId | ID! | Sorunun ait olduğu ilan |
question | String! | Soru metni |
answer | String | Cevap metni (cevaplanmadıysa null) |
status | String! | approved veya pending |
answeredAt | String | Cevap zamanı |
OrderExportJob — Dışa Aktarma İşi
| Alan | Tip | Açıklama |
|---|---|---|
id | ID! | İş kimliği |
status | String! | queued, processing, completed, failed |
totalRows | Int | Dışa aktarılacak kayıt sayısı |
downloadUrl | String | İndirme bağlantısı (tamamlanınca) |
createdAt | String | Oluşturulma zamanı |
Giriş Türleri
input ListingInput {
price: Float
title: String
description: String
offersEnabled: Boolean
minOfferPrice: Float
}
input CollectionItemInput {
itemId: ID
itemGroupTypeId: ID
quantity: Int
purchasePrice: Float
salePrice: Float
purchaseDate: String
cardUniqId: String
note: String
}
input WebhookInput {
url: String!
onSale: Boolean
onExpire: Boolean
isActive: Boolean
}
# Dışa aktarma kapsamı: satış veya alış tarafındaki siparişler
enum OrderExportScope {
SALES
PURCHASES
}
# Teklif işlemi sonuç türleri
type OfferResult {
offer: Offer!
message: String
}
type ListingQuestionResult {
question: ListingQuestion!
message: String
}
type OrderExportResult {
job: OrderExportJob!
message: String
}İstenebilecek Tüm Veriler
Aşağıdaki sorgu bir ürün için isteyebileceğiniz tüm alanlarıgösterir. GraphQL'de ihtiyacınız olmayan alanı sorguya yazmazsınız; yanıt yalnızca seçtiğiniz alanları döner. 🛡️ alanlar Profesyonel plan ve üzerinde doludur.
query {
item(id: 12345) {
# Temel bilgiler
id
name
code
slug
genre
game
category { id name slug parent { id name } }
images { url order }
groups { id name }
attributes { name value }
# Pazar fiyatları (Profesyonel+)
prices {
market
label
price
currency
updatedAt
}
# Kart veri alanları (Profesyonel+, market kartı ile eşleşenler)
rarity
illustrator
hp
types
dexIds
stage
evolveFrom
suffix
level
}
}Alan özeti
| Alan | Grup | Plan | Açıklama |
|---|---|---|---|
id, name, code, slug | Temel | Tümü | Kimlik ve tanımlama |
genre, game | Temel | Tümü | Ürün türü ve oyun |
category, images, groups, attributes | Temel | Tümü | Kategori, görsel, grup, özellik |
prices | Fiyat | Profesyonel+ | KartFiyat, PriceCharting, TCGMarket, CardMarket |
rarity, illustrator | Kart verisi | Profesyonel+ | Nadirlik ve çizer |
hp, types, level | Kart verisi | Profesyonel+ | Can, enerji türleri, seviye |
dexIds | Kart verisi | Profesyonel+ | Pokédex numaraları |
stage, evolveFrom, suffix | Kart verisi | Profesyonel+ | Evrim aşaması, önceki evrim, sonek |
Kendi şemanızı keşfedin
Üretimdeki güncel şemayı her zaman uç noktaya bir IntrospectionQuery göndererek doğrulayabilirsiniz. Bu sayfa, sık kullanılan türlerin özetidir ve değişebilir.