API
Content API dla Reacta, Next.js i własnych stron
Content API to serwerowe pobieranie zatwierdzonych elementów, dzięki któremu strony poza WordPressem mogą używać tego samego materiału w swoim procesie wdrożenia.
- Aktualizacja
- 2026-04-19
- Dostępność
- Paid plans, token per project
Pobieraj zatwierdzone elementy z serwera
Użyj endpointu listy do synchronizacji wielu elementów albo endpointu szczegółów dla pojedynczego elementu. Każde żądanie używa tokenu projektu, a odpowiedź powinna być zapisywana w pamięci podręcznej po stronie Twojej aplikacji.
/api/v1/projects/:projectId/contentZwraca zatwierdzone albo opublikowane elementy treści, które mogą trafić do własnego procesu publikacji.
Headers
Authorization: Bearer <token>
Query
- state=approved|published, default approved
- operation=create|update|all, default all
- per_page=number, default 20, max 50
Responses
- 200 data + meta
- 401 INVALID_TOKEN
- 403 PROJECT_NOT_ENTITLED
- 429 RATE_LIMITED
Next.js App Router, React, SvelteKit i Astro
Najbezpieczniejsza integracja działa po stronie serwera: route handler w Next.js App Router, loader serwerowy w SvelteKit, endpoint Astro albo backend używany przez aplikację React.
const response = await fetch(`${NELAVIO_API_BASE}/api/v1/projects/${projectId}/content`, {
headers: {
Authorization: `Bearer ${NELAVIO_CONTENT_API_TOKEN}`,
},
});
const payload = await response.json();- Next.js App Router: pobieraj dane w route handlerze albo komponencie serwerowym.
- SvelteKit: użyj server load albo własnego endpointu.
- Astro: pobieraj dane w endpointzie albo podczas statycznego builda.
- React bez frameworka serwerowego: dodaj własny backend zamiast pobierać dane tokenem w przeglądarce.
Statyczne strony i własne CMS-y
Statyczny build może pobrać JSON w CI i zapisać wynik w artefakcie strony. Własny CMS może zsynchronizować zatwierdzone tytuły, opisy, bloki treści i metadane do swojej bazy przed publikacją.
GitHub Action dla statycznych stron
Repozytoria Astro, SvelteKit, Next.js export i React/Vite mogą uruchamiać workflow raz dziennie albo ręcznie. Action pobiera zatwierdzone elementy, zapisuje markdown w src/content/blog i otwiera pull request do review.
name: Pull Nelavio content
on:
workflow_dispatch:
schedule:
- cron: "17 5 * * *"
jobs:
sync:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: node scripts/pull-nelavio-content.mjs
env:
NELAVIO_API_BASE: https://app.nelavio.com
NELAVIO_PROJECT_ID: ${{ secrets.NELAVIO_PROJECT_ID }}
NELAVIO_CONTENT_API_TOKEN: ${{ secrets.NELAVIO_CONTENT_API_TOKEN }}
NELAVIO_CONTENT_DIR: src/content/blog
- run: |
git diff --quiet && exit 0
git switch -c nelavio/content-sync
git add src/content/blog
git commit -m "Sync Nelavio content"
gh pr create --fill --title "Sync Nelavio content"
env:
GH_TOKEN: ${{ github.token }}Skonfiguruj pobieranie z Content API
Wygeneruj token w ustawieniach dostarczania projektu i podłącz zatwierdzone elementy do własnego procesu publikacji.
