API Tier1.shop
Verbinden Sie Ihren Service oder KI-Agenten: Registrierung, Tarife, Bestellungen, Links und Zahlungsstatus über eine einzige API. Kundendaten sind nur über deren widerrufbaren Schlüssel zugänglich.
https://tier1.shop/wp-json/tier1-api/v1Erste Schritte
Schlüssel erstellen
Öffnen «API und Verbindungen» in Ihrem Dashboard oder fordern Sie einen Link zur Schlüsselerstellung per E-Mail über POST /api-key-requests.
E-Mail bestätigen
Der Agent ruft auf POST /registration-intents. Folgen Sie dem Link in der E-Mail, um Ihre Adresse zu bestätigen; erst dann werden das Konto und der Schlüssel erstellt. Telegram kann später hinzugefügt werden.
Erste Bestellung — fünf Schritte
- Wählen Sie einen Plan aus.
GET /catalog/tariffsundGET /balanceszeigt aktuelle Preise und Verfügbarkeit an. - Details bestätigenStimmen Sie sich vor der Erstellung des Checkouts mit dem Agenten über die Menge, URLs, Ankertexte und die Währung ab.
- Zahlungslink abrufen
POST /checkout-intentsgibt eine einmalige URL zurück; die Zahlung wird nur auf der Website verarbeitet. - Zahlung verifizieren.
GET /checkout-intents/{id}zeigt den Status und die WooCommerce-Bestellnummer an. - Links öffnen.
GET /orders/by-wc/{id}finden Sie interne Bestellungen;placement_progresszeigt den Ausführungsstatus an.
/orders/by-wc/{id}, für die interne ID verwenden Sie /orders/{id}.Autorisierung
Übergeben Sie den Schlüssel im HTTPS-Header. Fügen Sie ihn nicht in die URL, öffentliche Prompts oder Logs ein. Der Schlüssel kann im Konto widerrufen werden; sein vollständiger Text wird nur während der Erstellung angezeigt.
Authorization: Bearer t1c_sk_YOUR_KEYWichtige Berechtigungen (Scopes)8
profile:readProfil- und Verbindungsstatusbalance:readService- und Wallet-Guthabenorders:readBestellungen anzeigenlinks:readLinks anzeigencatalog:readKataloge und Tarifeorders:writeBestellungen massenhaft ausfüllen und absendenlinks:writeURLs, Anker, umgebender Text und Einreichungcheckout:createSichere Zahlungslinks erstellenDer Schlüssel erlaubt es dem Agenten nicht, Gelder direkt vom Wallet abzuziehen. Für Mutierungsanfragen ein zufälliger Idempotency-Key von 8–128 Zeichen ist erforderlich. Falls die Antwort verloren geht, wiederholen Sie dieselbe Anfrage mit demselben Schlüssel; für eine neue Aktion erstellen Sie einen neuen.
API-Methoden
Methoden sind unterteilt in 9 Gruppen. Öffnen Sie die entsprechende Gruppe für Parameter und ein Antwortbeispiel; der vollständige Maschinenvertrag befindet sich in OpenAPI JSON.
Discovery 2
GET/capabilitiesAPI-Funktionen und aktuelle Verbindungslinks.
Antwortbeispiel
{
"name": "Tier1.shop API",
"api_enabled": true,
"public_registration": true
}GET/openapi.jsonVollständige OpenAPI 3.1 Spezifikation.
Antwortbeispiel
{
"openapi": "3.1.0",
"info": {
"title": "Tier1.shop Client API"
}
}Registrieren 3
POST/registration-intentsRegistrierung für einen neuen Kunden mit obligatorischer E-Mail-Bestätigung starten.
JSON anfordern
{
"email": "client@example.com",
"telegram_username": "@client",
"locale": "ru",
"issue_api_key": true
}Antwortbeispiel
{
"accepted": true,
"request_id": "…",
"status_token": "…",
"status": "pending_email",
"expires_in": 86400
}GET/registration-intents/{id}?status_token={token}Status einer spezifischen Registrierung prüfen.
Antwortbeispiel
{
"status": "pending_email|email_verified|expired",
"email_verified": false,
"telegram_status": "not_requested|pending_bot_message|verified"
}POST/api-key-requestsEinmaligen Link zur Schlüsselerstellung für ein bestehendes Konto anfordern.
JSON anfordern
{
"email": "client@example.com",
"name": "Мой агент"
}Antwortbeispiel
{
"accepted": true,
"next_action": "…"
}Konto 2
GET/profileProfil, E-Mail-Bestätigung und alle Telegram-Kanäle.
Antwortbeispiel
{
"account": {
"email": "client@example.com",
"email_verified": true,
"telegram_username": "@client",
"telegram_usernames": [
"@client",
"@manager"
]
}
}GET/balances?geo=allRUB/$ Geldbörsen und ungenutzte RU/internationale Dienste.
Antwortbeispiel
{
"wallets": {
"rub": {
"currency": "RUB",
"amount_minor": 0
},
"usd": {
"currency": "USD",
"amount_minor": 0
}
},
"service_balances": []
}Bestellungen 3
GET/orders?geo=all&page=1&per_page=20Paginiertes Verzeichnis der Kontobestellungen. per_page ist auf 50 begrenzt: fortfahren über next_page.
Antwortbeispiel
{
"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}Eine einzelne Bestellung und Links nach cabinet_order_id, nicht nach der WooCommerce-Nummer aus der E-Mail.
Antwortbeispiel
{
"order": {
"cabinet_order_id": 123,
"wc_order_id": 456,
"geo": "ru"
},
"links": []
}GET/orders/by-wc/{id}Alle internen Bestellungen und Links nach der WooCommerce-Nummer des Kunden.
Antwortbeispiel
{
"wc_order_id": 456,
"count": 2,
"orders": [
{
"order": {
"cabinet_order_id": 123
},
"links": []
}
]
}Links 1
GET/links?geo=all&page=1&per_page=20Links mit Geo-, Status- und Linktyp-Filtern; fortfahren über next_page.
Antwortbeispiel
{
"links": [],
"page": 1,
"per_page": 20,
"total": 0,
"has_more": false,
"next_page": null
}Katalog 2
GET/catalog/tariffs?geo=ruAktuelle Produkte, Preise, Währungen und genaue Slot-Zusammensetzung.
Antwortbeispiel
{
"geo": "ru",
"currency": "RUB",
"tariffs": [
{
"product_id": 3708,
"name": "…",
"price": {
"amount_minor": 200000
}
}
]
}GET/catalog/burzh-igamingAnonymisierte iGaming-Donor-Seiten, Metriken, Preis und verfügbare Slots.
Antwortbeispiel
{
"donors": [],
"count": 0,
"price": {
"currency": "USD",
"amount_minor": 9400
}
}Entwürfe 3
PATCH/links/{id}URL, Ankertext, umgebenden Text oder Zeitplan ändern, ohne den Link zur Bearbeitung einzureichen.
JSON anfordern
{
"url": "https://example.com/page",
"anchor": "пример",
"context_text": "Окружающий текст с анкором пример.",
"scheduled_at": "2026-09-01T09:00:00Z"
}Antwortbeispiel
{
"link": {
"id": 456,
"status": "awaiting_confirmation"
}
}PUT/links/{id}PATCH-Alias für Kunden, die einen teilweisen Satz modifizierbarer Felder senden.
JSON anfordern
{
"anchor": "новый анкор"
}Antwortbeispiel
{
"link": {
"id": 456,
"status": "awaiting_confirmation"
}
}POST/orders/{id}/bulk-updateBestellzeilen massenhaft ausfüllen, ohne an die Produktion zu senden.
JSON anfordern
{
"links": [
{
"url": "https://example.com/a",
"anchor": "ключ"
},
{
"url": "https://example.com/b",
"anchor": "другой ключ"
}
]
}Antwortbeispiel
{
"updated": 2,
"errors": []
}Senden 2
POST/links/{id}/submitEinen fertigen Link nach Kundenbestätigung in die Produktion senden.
JSON anfordern
[]Antwortbeispiel
{
"link": {
"id": 456,
"status": "in_progress"
}
}POST/orders/{id}/submit-allAlle fertigen Bestellzeilen nach Kundenbestätigung senden.
JSON anfordern
[]Antwortbeispiel
{
"submitted": 2,
"skipped": 0
}Zahlung 2
POST/checkout-intentsErstellen Sie einen sicheren Einmal-Link zum Standard-Checkout; es werden keine Beträge berechnet.
JSON anfordern
{
"geo": "ru",
"items": [
{
"product_id": 3708,
"quantity": 1
}
],
"links": [
{
"type": "yearly",
"url": "https://example.com/page",
"anchor": "пример"
}
]
}Antwortbeispiel
{
"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}Prüfen Sie den Zahlungseingang und die Bestellung im Konto über die intent_id, ohne den Einmallink erneut zu öffnen.
Antwortbeispiel
{
"intent_id": "…",
"state": "paid",
"wc_order_id": 456,
"cabinet_order_ids": [
123
],
"fulfilment_pending": false
}Falls die Anfrage fehlgeschlagen ist
Listen geben maximal 50 Zeilen pro Seite zurück. Wenn has_more=true, gehen Sie zu next_page. Der vorläufige Betrag in der API ersetzt nicht den endgültigen Betrag und die verfügbaren Zahlungsmethoden beim Checkout.
Benötigen Sie MCP anstelle der REST-API?
Der gleiche widerrufliche Key funktioniert für den MCP-Client mit HTTP-Headern. Sie können sich auch via OAuth verbinden, sofern die Anwendung dies unterstützt.
MCP-Anleitungen öffnen



