API Reference
Kirjapro käyttää Supabase Edge Functions -arkkitehtuuria (Deno runtime).
Base URL
Osio nimeltä “Base URL”https://<project-ref>.supabase.co/functions/v1/<function-name>Autentikointi
Osio nimeltä “Autentikointi”Useimmat endpointit vaativat JWT Bearer -tokenin.
Vaaditut headerit:
Authorization: Bearer <access_token>Content-Type: application/jsonapikey: <supabase_anon_key>Edge Functions
Osio nimeltä “Edge Functions”send-einvoice
Osio nimeltä “send-einvoice”Lähettää verkkolaskun Maventan kautta Finvoice 3.0 -muodossa.
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/send-einvoice |
| Auth | JWT Bearer token |
| Rate limit | 10 req/min per user |
maventa-webhook
Osio nimeltä “maventa-webhook”Vastaanottaa toimitusilmoitukset Mavennalta.
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/maventa-webhook |
| Auth | HMAC-SHA256 signature |
| Rate limit | 100 req/min |
generate-income-statement-pdf
Osio nimeltä “generate-income-statement-pdf”Generoi tuloslaskelman PDF-muodossa.
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/generate-income-statement-pdf |
| Auth | JWT Bearer token |
| Rate limit | 20 req/min |
generate-balance-sheet-pdf
Osio nimeltä “generate-balance-sheet-pdf”Generoi taseen PDF-muodossa.
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/generate-balance-sheet-pdf |
| Auth | JWT Bearer token |
| Rate limit | 20 req/min |
create-checkout-session
Osio nimeltä “create-checkout-session”Luo Stripe Checkout -session tilauksen päivittämiseen.
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/create-checkout-session |
| Auth | JWT Bearer token |
| Rate limit | 5 req/min |
Request:
{ "priceId": "price_xxx", "companyId": "uuid"}Response:
{ "success": true, "checkoutUrl": "https://checkout.stripe.com/..."}create-portal-session
Osio nimeltä “create-portal-session”Luo Stripe Customer Portal -session tilauksen hallintaan.
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/create-portal-session |
| Auth | JWT Bearer token |
| Rate limit | 5 req/min |
stripe-webhook
Osio nimeltä “stripe-webhook”Vastaanottaa Stripe-tapahtumat (checkout, subscription, invoice).
| Ominaisuus | Arvo |
|---|---|
| Endpoint | POST /functions/v1/stripe-webhook |
| Auth | Stripe signature verification |
| Rate limit | None |
Rate Limiting
Osio nimeltä “Rate Limiting”| Function | Limit | Window |
|---|---|---|
| send-einvoice | 10 req | 1 min |
| maventa-webhook | 100 req | 1 min |
| generate-*-pdf | 20 req | 1 min |
| create-checkout-session | 5 req | 1 min |
| create-portal-session | 5 req | 1 min |
Virhekoodit
Osio nimeltä “Virhekoodit”| Code | Merkitys |
|---|---|
| 400 | Bad Request - virheellinen pyyntö |
| 401 | Unauthorized - autentikointi puuttuu |
| 403 | Forbidden - ei oikeuksia |
| 404 | Not Found - resurssia ei löydy |
| 429 | Too Many Requests - rate limit ylitetty |
| 500 | Internal Server Error - palvelinvirhe |
Seuraavaksi
Osio nimeltä “Seuraavaksi”- Autentikointi - JWT ja Supabase Auth
- Maventa-integraatio - Verkkolaskutus