Dezvoltatori
Site-ul rămâne al dumneavoastră. Citron este back end-ul din care citește.
Folosiți orice framework. Citiți conținutul publicat prin REST sau GraphQL, trimiteți formulare și rezervări către endpoint-urile publice și regenerați doar paginile modificate de un editor.
SDK-ul nu este încă pe npm. Până atunci, îl trimitem ca arhivă de pachet; scrieți-ne și îl vom pune la dispoziția echipei dumneavoastră.
Pornire rapidă#
Trei pași de la un proiect gol la o pagină care se actualizează singură când un editor publică.
Creați o cheie API#
În consolă, deschideți Setări → Dezvoltatori → Chei API și creați o cheie pentru conținutul publicat. Începe cu
ck_pub_și este afișată o singură dată, așa că puneți-o imediat în mediul serverului dumneavoastră..env.local # .env.local (server only) CITRON_BASE_URL=https://api.console.citronos.com CITRON_API_KEY=ck_pub_… CITRON_WEBHOOK_SECRET=whsec_…Preluați conținutul#
Cereți o colecție după slug.
localereduce câmpurile traduse la o singură limbă. Referința REST acoperă filtrele, sortarea, paginarea și relațiile.curl "https://api.console.citronos.com/v1/content/products?locale=en&pageSize=20" \ -H "Authorization: Bearer $CITRON_API_KEY"import { createClient } from '@citron/sdk'; const citron = createClient({ baseUrl: 'https://api.console.citronos.com', apiKey: process.env.CITRON_API_KEY, // ck_pub_… locale: 'en', }); const { data: products, meta } = await citron.collection('products').list({ limit: 20 }); console.log(meta.total, products.map((p) => p.slug));Revalidați cu webhook-uri#
Adăugați o rută care verifică semnătura și revalidează paginile modificate, apoi înregistrați adresa ei în Setări → Dezvoltatori → Webhook-uri și copiați secretul în
CITRON_WEBHOOK_SECRET. Mai multe despre webhook-uri.app/api/citron-webhook/route.ts // app/api/citron-webhook/route.ts import { revalidateTag } from 'next/cache'; import { citronTags, createRevalidateHandler } from '@citron/sdk/next'; export const POST = createRevalidateHandler({ secret: process.env.CITRON_WEBHOOK_SECRET, onEvent: (e) => citronTags(e.collection, e.entry.slug).forEach((tag) => revalidateTag(tag)), });
Referință#
API REST de livrare
Două rute doar pentru citire pentru fiecare colecție: limbi, filtre, sortare, paginare, relații, ETag-uri și previzualizări semnate ale ciornelor.
GraphQL
O schemă construită din colecțiile dumneavoastră, cu filtre, relații, ciorne, interogări persistente și limite pentru interogări.
Conectori AI (în curând)
În curând: conectați Claude, ChatGPT, Cursor și alte instrumente AI la un spațiu de lucru prin MCP, cu OAuth sau un token personal și cu permisiunile proprii ale membrului.
Webhook-uri
Evenimente de publicare, retragere și ștergere, semnături HMAC, reîncercări și revalidare în Next.js.
Formulare, contact și rezervări
Endpoint-uri publice pentru contact, formulare și rezervări, cu Turnstile, chei de idempotență și protecție anti-spam.
TypeScript SDK
Un client tipizat, fără dependențe, cu generare de tipuri din colecțiile dumneavoastră și utilitare pentru Next.js.
Erori și limite de rată
Corpul erorii, codurile de status și de eroare, identificatorii de cerere și toate limitele de rată.
Chei și medii#
ck_pub_…- Citește conținutul publicat. Limită de rată per cheie. Păstrați-o pe un server sau la edge.
ck_prev_…- Citește ciornele pentru previzualizări. Păstrați-o pe server; nu o trimiteți niciodată în browser.
Unde- Setări → Dezvoltatori → Chei API și Webhook-uri, în consolă.
URL de bază- https://api.console.citronos.com
Încercați-l pe un spațiu de lucru real
Solicitați acces, apoi creați o colecție și o cheie publică și citiți datele de pe site-ul dumneavoastră.