API Tier1.shop
Conectați serviciul sau agentul AI: înregistrări, tarife, comenzi, linkuri și statusul plăților printr-un singur API. Datele clienților sunt accesibile doar prin cheia lor revocabilă.
https://tier1.shop/wp-json/tier1-api/v1primii pași
Creați o cheie
Deschide «API și Conexiuni» în panoul de control sau solicitați un link de creare a cheii prin e-mail prin intermediul POST /api-key-requests.
Confirmă emailul
Agentul apelează POST /registration-intents. Urmați linkul din e-mail pentru a vă confirma adresa; doar atunci vor fi create contul și cheia. Telegram poate fi adăugat ulterior.
Prima comandă — cinci pași
- Alegeți un plan.
GET /catalog/tariffsșiGET /balancesva afișa prețurile actuale și disponibilitatea. - Confirmă detaliile.Acordați-vă acordul cu agentul asupra cantității, URL-urilor, textelor de ancoră și valutei înainte de a crea procesul de checkout.
- Obține linkul de plată.
POST /checkout-intentsva returna un URL unic; plata este procesată doar pe site. - Verificați plata.
GET /checkout-intents/{id}va afișa starea și numărul comenzii WooCommerce. - Deschide linkurile.
GET /orders/by-wc/{id}vor găsi comenzile interne;placement_progressva afișa stadiul de execuție.
/orders/by-wc/{id}, pentru ID-ul intern folosiți /orders/{id}.Autorizare
Trimiteți cheia în antetul HTTPS. Nu o introduceți în URL, în prompturi publice sau în jurnale. Cheia poate fi revocată din cont; textul complet este afișat doar în momentul creării.
Authorization: Bearer t1c_sk_YOUR_KEYPermisiuni cheie (scope-uri)8
profile:readProfil și Starea Conexiuniibalance:readSolduri Serviciu și Portofelorders:readVezi Comenzilinks:readVezi Linkuricatalog:readCataloage și Tarifeorders:writeCompletare în masă și trimitere comenzilinks:writeURL-uri, Anchor-uri, Text înconjurător și Trimiterecheckout:createCreare link-uri de plată securizateCheia nu permite agentului să deducă fonduri direct din portofel. Pentru solicitările de mutare, un Idempotency-Key de 8–128 de caractere este necesar. Dacă răspunsul este pierdut, repetați aceeași cerere cu aceeași cheie; pentru o acțiune nouă, creați una nouă.
Metode API
Metodele sunt organizate în 10 grupuri. Deschideți grupul necesar pentru parametri și un exemplu de răspuns; contractul complet al mașinii se află în OpenAPI JSON.
Замены URL/анкора 3
GET/links/{id}/replacementУсловия платной замены размещённой ссылки: доступность, остаток замен, текущие данные и актуальные товары. Денежных списаний нет. При нехватке купите замены через checkout и дождитесь replacement_credits_fulfilled=true.
Exemplu de răspuns
{
"link_id": 456,
"eligible": true,
"credits_available": 1,
"pending_replacement": false,
"purchase_offers": []
}POST/links/{id}/replacementПосле согласия клиента сохранить новые URL/анкор. Резервирует одну замену, но ещё не отправляет её в работу. expected_* берутся точно из свежих current_*; кошелёк не списывается.
Solicită JSON
{
"confirmed": true,
"expected_url": "https://example.com/old",
"expected_anchor": "старый анкор",
"url": "https://example.com/new",
"anchor": "новый анкор"
}Exemplu de răspuns
{
"saved": true,
"link": {
"id": 456
},
"wallet_was_charged": false
}POST/links/{id}/replacement/submitОтправить только эту сохранённую замену. expected_* — уже новые данные. Проверяйте submission.submitted, submission.errors и статус; HTTP 200 сам по себе не означает принятия задачи. Это не замена донора.
Solicită JSON
{
"confirmed": true,
"expected_url": "https://example.com/new",
"expected_anchor": "новый анкор"
}Exemplu de răspuns
{
"submission": {
"submitted": 1,
"errors": []
},
"link": {
"id": 456,
"status": "revision"
}
}Discovery 2
GET/capabilitiesCapabilitățile API și link-urile actuale de conectare.
Exemplu de răspuns
{
"name": "Tier1.shop API",
"api_enabled": true,
"public_registration": true
}GET/openapi.jsonSpecificația completă OpenAPI 3.1.
Exemplu de răspuns
{
"openapi": "3.1.0",
"info": {
"title": "Tier1.shop Client API"
}
}Înregistrare 3
POST/registration-intentsÎncepeți înregistrarea pentru un client nou cu confirmarea obligatorie a e-mailului.
Solicită JSON
{
"email": "client@example.com",
"telegram_username": "@client",
"locale": "ru",
"issue_api_key": true
}Exemplu de răspuns
{
"accepted": true,
"request_id": "…",
"status_token": "…",
"status": "pending_email",
"expires_in": 86400
}GET/registration-intents/{id}?status_token={token}Verificați starea unei înregistrări specifice.
Exemplu de răspuns
{
"status": "pending_email|email_verified|expired",
"email_verified": false,
"telegram_status": "not_requested|pending_bot_message|verified"
}POST/api-key-requestsSolicitați un link de creare a unei chei unice pentru un cont existent.
Solicită JSON
{
"email": "client@example.com",
"name": "Мой агент"
}Exemplu de răspuns
{
"accepted": true,
"next_action": "…"
}Cont 2
GET/profileProfil, confirmarea e-mailului și toate canalele de Telegram.
Exemplu de răspuns
{
"account": {
"email": "client@example.com",
"email_verified": true,
"telegram_username": "@client",
"telegram_usernames": [
"@client",
"@manager"
]
}
}GET/balances?geo=allportofele RUB/$ și servicii RU/internaționale neutilizate.
Exemplu de răspuns
{
"wallets": {
"rub": {
"currency": "RUB",
"amount_minor": 0
},
"usd": {
"currency": "USD",
"amount_minor": 0
}
},
"service_balances": []
}Comenzi 3
GET/orders?geo=all&page=1&per_page=20Listă paginată a comenzilor din cont. per_page este limitat la 50: continuați prin next_page.
Exemplu de răspuns
{
"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}O singură comandă și linkuri după cabinet_order_id, nu după numărul WooCommerce din e-mail.
Exemplu de răspuns
{
"order": {
"cabinet_order_id": 123,
"wc_order_id": 456,
"geo": "ru"
},
"links": []
}GET/orders/by-wc/{id}Toate comenzile interne și link-urile după numărul WooCommerce al clientului.
Exemplu de răspuns
{
"wc_order_id": 456,
"count": 2,
"orders": [
{
"order": {
"cabinet_order_id": 123
},
"links": []
}
]
}Linkuri 1
GET/links?geo=all&page=1&per_page=20Linkuri cu filtre de geo, status și link_type; continuați via next_page.
Exemplu de răspuns
{
"links": [],
"page": 1,
"per_page": 20,
"total": 0,
"has_more": false,
"next_page": null
}Catalog 2
GET/catalog/tariffs?geo=ruProduse, prețuri, valute actuale și compoziția exactă a sloturilor.
Exemplu de răspuns
{
"geo": "ru",
"currency": "RUB",
"tariffs": [
{
"product_id": 3708,
"name": "…",
"price": {
"amount_minor": 200000
}
}
]
}GET/catalog/burzh-igamingSite-uri de donatori iGaming anonimizate, metrici, preț și sloturi disponibile.
Exemplu de răspuns
{
"donors": [],
"count": 0,
"price": {
"currency": "USD",
"amount_minor": 9400
}
}Ciorne 3
PATCH/links/{id}Modifică URL-ul, textul anchor, textul din jur sau programarea fără a trimite link-ul pentru procesare.
Solicită JSON
{
"url": "https://example.com/page",
"anchor": "пример",
"context_text": "Окружающий текст с анкором пример.",
"scheduled_at": "2026-09-01T09:00:00Z"
}Exemplu de răspuns
{
"link": {
"id": 456,
"status": "awaiting_confirmation"
}
}PUT/links/{id}Alias PATCH pentru clienții care trimit un set parțial de câmpuri modificabile.
Solicită JSON
{
"anchor": "новый анкор"
}Exemplu de răspuns
{
"link": {
"id": 456,
"status": "awaiting_confirmation"
}
}POST/orders/{id}/bulk-updateCompletare în masă a rândurilor de comandă fără trimitere în producție.
Solicită JSON
{
"links": [
{
"url": "https://example.com/a",
"anchor": "ключ"
},
{
"url": "https://example.com/b",
"anchor": "другой ключ"
}
]
}Exemplu de răspuns
{
"updated": 2,
"errors": []
}Trimite 2
POST/links/{id}/submitTrimite un singur link gata în producție după confirmarea clientului.
Solicită JSON
[]Exemplu de răspuns
{
"link": {
"id": 456,
"status": "in_progress"
}
}POST/orders/{id}/submit-allTrimite toate rândurile de comenzi gata după confirmarea clientului.
Solicită JSON
[]Exemplu de răspuns
{
"submitted": 2,
"skipped": 0
}Plată 2
POST/checkout-intentsCreați un link securizat de utilizare unică către pagina standard de checkout; nu se percep taxe.
Solicită JSON
{
"geo": "ru",
"items": [
{
"product_id": 3708,
"quantity": 1
}
],
"links": [
{
"type": "yearly",
"url": "https://example.com/page",
"anchor": "пример"
}
]
}Exemplu de răspuns
{
"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}Verificați plată și apariția comenzii în cont prin intent_id fără a redeschide link-ul unic.
Exemplu de răspuns
{
"intent_id": "…",
"state": "paid",
"wc_order_id": 456,
"cabinet_order_ids": [
123
],
"fulfilment_pending": false
}Dacă solicitarea a eșuat
Listele returnează maximum 50 de rânduri pe pagină. Dacă has_more=true, mergeți la next_page. Suma preliminară din API nu înlocuiește suma finală și metodele de plată disponibile la finalizarea comenzii.
Aveți nevoie de MCP în loc de REST API?
Aceeași cheie revocabilă funcționează pentru clientul MCP cu headere HTTP. De asemenea, vă puteți conecta prin OAuth dacă aplicația permite acest lucru.
Deschide instrucțiunile MCP



