API Tier1.shop
Servisinizi veya AI ajanınızı bağlayın: kayıtlar, ücretler, siparişler, linkler ve ödeme durumu tek bir API üzerinden. Müşteri verilerine yalnızca iptal edilebilir anahtarları aracılığıyla erişilebilir.
https://tier1.shop/wp-json/tier1-api/v1Başlangıç
Anahtar oluştur
Aç «API ve Bağlantılar» panelinizde veya şuradan e-posta yoluyla bir anahtar oluşturma bağlantısı isteyin: POST /api-key-requests.
E-postayı onayla
Aracı şurayı çağırır POST /registration-intents. Adresinizi onaylamak için e-postadaki bağlantıya tıklayın; hesap ve anahtar ancak o zaman oluşturulur. Telegram daha sonra eklenebilir.
İlk sipariş — beş adım
- Bir plan seçin.
GET /catalog/tariffsveGET /balancesgüncel fiyatları ve uygunluğu gösterecektir. - Detayları onaylaÖdeme işlemini oluşturmadan önce miktar, URL'ler, anchor metinleri ve para birimi konusunda temsilciyle anlaşın.
- Ödeme bağlantısını al.
POST /checkout-intentstek seferlik bir URL döndürecektir; ödeme yalnızca web sitesi üzerinden işlenir. - Ödemeyi doğrulayın.
GET /checkout-intents/{id}durumu ve WooCommerce sipariş numarasını gösterecektir. - Linkleri aç.
GET /orders/by-wc/{id}dahili siparişleri bulacaktır;placement_progressyürütme durumunu gösterecektir.
/orders/by-wc/{id}, dahili kimlik için şunu kullanın /orders/{id}.Yetkilendirme
Anahtarı HTTPS başlığında iletin. URL'ye, genel istemlere veya günlüklere eklemeyin. Anahtar hesap üzerinden iptal edilebilir; tam metni yalnızca oluşturma sırasında gösterilir.
Authorization: Bearer t1c_sk_YOUR_KEYTemel izinler (kapsamlar)8
profile:readProfil ve Bağlantı Durumubalance:readHizmet ve Cüzdan Bakiyeleriorders:readSiparişleri Görüntülelinks:readBağlantıları Görüntülecatalog:readKataloglar ve Ücretlerorders:writeSiparişleri Toplu Doldur ve Gönderlinks:writeURL'ler, Anchor'lar, Çevreleyen Metin ve Gönderimcheckout:createGüvenli Ödeme Bağlantıları OluşturAnahtar, ajanın cüzdandan doğrudan bakiye düşmesine izin vermez. Mutasyon istekleri için rastgele bir Idempotency-Key 8–128 karakter gereklidir. Yanıt kaybolursa, aynı anahtarla aynı isteği tekrarlayın; yeni bir işlem için yenisini oluşturun.
API Metotları
Metotlar şu şekilde organize edilmiştir: 9 grupları. Parametreler ve yanıt örneği için gerekli olanı açın; tam makine sözleşmesi şuradadır: OpenAPI JSON.
Keşif 2
GET/capabilitiesAPI yetenekleri ve güncel bağlantı linkleri.
Yanıt Örneği
{
"name": "Tier1.shop API",
"api_enabled": true,
"public_registration": true
}GET/openapi.jsonTam OpenAPI 3.1 spesifikasyonu.
Yanıt Örneği
{
"openapi": "3.1.0",
"info": {
"title": "Tier1.shop Client API"
}
}Kayıt ol 3
POST/registration-intentsZorunlu e-posta onayı ile yeni bir müşteri için kaydı başlatın.
JSON İste
{
"email": "client@example.com",
"telegram_username": "@client",
"locale": "ru",
"issue_api_key": true
}Yanıt Örneği
{
"accepted": true,
"request_id": "…",
"status_token": "…",
"status": "pending_email",
"expires_in": 86400
}GET/registration-intents/{id}?status_token={token}Belirli bir kaydın durumunu kontrol edin.
Yanıt Örneği
{
"status": "pending_email|email_verified|expired",
"email_verified": false,
"telegram_status": "not_requested|pending_bot_message|verified"
}POST/api-key-requestsMevcut bir hesap için tek seferlik anahtar oluşturma bağlantısı talep edin.
JSON İste
{
"email": "client@example.com",
"name": "Мой агент"
}Yanıt Örneği
{
"accepted": true,
"next_action": "…"
}Hesap 2
GET/profileProfil, e-posta onayı ve tüm Telegram kanalları.
Yanıt Örneği
{
"account": {
"email": "client@example.com",
"email_verified": true,
"telegram_username": "@client",
"telegram_usernames": [
"@client",
"@manager"
]
}
}GET/balances?geo=allRUB/$ cüzdanları ve kullanılmayan RU/uluslararası servisler.
Yanıt Örneği
{
"wallets": {
"rub": {
"currency": "RUB",
"amount_minor": 0
},
"usd": {
"currency": "USD",
"amount_minor": 0
}
},
"service_balances": []
}Siparişler 3
GET/orders?geo=all&page=1&per_page=20Hesap siparişlerinin sayfalanmış listesi. per_page 50 ile sınırlıdır: next_page üzerinden devam edin.
Yanıt Örneği
{
"orders": [
{
"cabinet_order_id": 123,
"wc_order_id": 456,
"placement_progress": {
"completed": 2,
"total": 3,
"fully_placed": false
}
}
],
"page": 1,
"per_page": 20,
"has_more": false,
"next_page": null
}GET/orders/{id}WooCommerce e-posta numarasına göre değil, cabinet_order_id'ye göre tek bir sipariş ve bağlantılar.
Yanıt Örneği
{
"order": {
"cabinet_order_id": 123,
"wc_order_id": 456,
"geo": "ru"
},
"links": []
}GET/orders/by-wc/{id}Müşterinin WooCommerce numarasına göre tüm dahili siparişler ve linkler.
Yanıt Örneği
{
"wc_order_id": 456,
"count": 2,
"orders": [
{
"order": {
"cabinet_order_id": 123
},
"links": []
}
]
}Bağlantılar 1
GET/links?geo=all&page=1&per_page=20Geo, durum ve link_type filtreli bağlantılar; next_page üzerinden devam edin.
Yanıt Örneği
{
"links": [],
"page": 1,
"per_page": 20,
"total": 0,
"has_more": false,
"next_page": null
}Katalog 2
GET/catalog/tariffs?geo=ruGüncel ürünler, fiyatlar, para birimleri ve kesin slot bileşimi.
Yanıt Örneği
{
"geo": "ru",
"currency": "RUB",
"tariffs": [
{
"product_id": 3708,
"name": "…",
"price": {
"amount_minor": 200000
}
}
]
}GET/catalog/burzh-igamingAnonimleştirilmiş iGaming bağışçı siteleri, metrikler, fiyat ve mevcut slotlar.
Yanıt Örneği
{
"donors": [],
"count": 0,
"price": {
"currency": "USD",
"amount_minor": 9400
}
}Taslaklar 3
PATCH/links/{id}Linki işleme göndermeden URL, anchor metni, çevreleyen metin veya zamanlamayı değiştirin.
JSON İste
{
"url": "https://example.com/page",
"anchor": "пример",
"context_text": "Окружающий текст с анкором пример.",
"scheduled_at": "2026-09-01T09:00:00Z"
}Yanıt Örneği
{
"link": {
"id": 456,
"status": "awaiting_confirmation"
}
}PUT/links/{id}Değiştirilebilir alanların kısmi bir setini gönderen müşteriler için PATCH takma adı.
JSON İste
{
"anchor": "новый анкор"
}Yanıt Örneği
{
"link": {
"id": 456,
"status": "awaiting_confirmation"
}
}POST/orders/{id}/bulk-updateSipariş satırlarını üretime göndermeden toplu doldur.
JSON İste
{
"links": [
{
"url": "https://example.com/a",
"anchor": "ключ"
},
{
"url": "https://example.com/b",
"anchor": "другой ключ"
}
]
}Yanıt Örneği
{
"updated": 2,
"errors": []
}Gönder 2
POST/links/{id}/submitMüşteri onayından sonra üretime bir adet hazır bağlantı gönder.
JSON İste
[]Yanıt Örneği
{
"link": {
"id": 456,
"status": "in_progress"
}
}POST/orders/{id}/submit-allMüşteri onayından sonra hazır olan tüm sipariş satırlarını gönder.
JSON İste
[]Yanıt Örneği
{
"submitted": 2,
"skipped": 0
}Ödeme 2
POST/checkout-intentsStandart ödeme sayfasına güvenli, tek seferlik bir bağlantı oluşturun; herhangi bir ücret tahsil edilmez.
JSON İste
{
"geo": "ru",
"items": [
{
"product_id": 3708,
"quantity": 1
}
],
"links": [
{
"type": "yearly",
"url": "https://example.com/page",
"anchor": "пример"
}
]
}Yanıt Örneği
{
"intent_id": "32-символьный ID",
"checkout_url": "https://tier1.shop/?t1c_agent_checkout=…",
"expires_at": "…",
"summary": {
"currency": "RUB",
"total_minor": 200000
},
"payment_preview": {
"wallet_available_minor": 0,
"nominal_wallet_gap_minor": 200000,
"final_amount_at_checkout": true
}
}GET/checkout-intents/{id}Tek seferlik bağlantıyı tekrar açmadan, intent_id üzerinden hesapta ödeme ve sipariş görünümünü kontrol edin.
Yanıt Örneği
{
"intent_id": "…",
"state": "paid",
"wc_order_id": 456,
"cabinet_order_ids": [
123
],
"fulfilment_pending": false
}İstek başarısız olursa
Listeler sayfa başına maksimum 50 satır döndürür. Eğer has_more=true, şuraya gidin next_page. API'deki ön tutar, ödeme sayfasındaki nihai tutarın ve mevcut ödeme yöntemlerinin yerini tutmaz.
REST API yerine MCP mi gerekiyor?
Aynı iptal edilebilir anahtar, HTTP başlıkları ile MCP istemcisi için de çalışır. Uygulama destekliyorsa OAuth üzerinden de bağlanabilirsiniz.
MCP Talimatlarını aç



