Kom i gang med API'et
Kobl jeres egne systemer på Telenoa — læs og opret henvendelser, kontakter, opkald og viden med en API-nøgle.
Telenoas API lader jeres egne systemer arbejde direkte med Telenoa: en webshop kan oprette henvendelser, et CRM kan hente kontakter, og et dashboard kan vise Noas opkald. Siden her er til den, der sætter integrationen op.
Vil I bruge Telenoa fra Claude, ChatGPT eller et andet AI-værktøj, så læs MCP.
Det korte overblik
| Adresse | https://app.telenoa.com/api/v1 |
| Format | JSON ind og ud |
| Nøgle | Authorization: Bearer tln_live_… |
| Grænse | 60 kald i minuttet pr. nøgle |
| Beskrivelse | OpenAPI 3.1 |
Første kald
En administrator går til Opsætning → Indstillinger og åbner fanen API og webhooks.
Klik på Opret nøgle. Giv den et navn, fx "Webshop", og vælg kun de adgange, systemet skal bruge. Læs mere under API-nøgler.
Kopiér nøglen med det samme. Den bliver ikke vist igen.
Prøv den:
curl https://app.telenoa.com/api/v1/henvendelser?limit=5 \
-H "Authorization: Bearer tln_live_…"Svaret er en side med de nyeste henvendelser:
{
"data": [
{
"id": "6f1c…",
"emne": "Tilbud på køkken",
"kanal": "formular",
"status": "modtaget",
"mappe": "indbakke",
"kontakt": { "navn": "Anna Jensen", "email": "anna@firma.dk", "telefon": null }
}
],
"naeste_cursor": "MTc…"
}Fejl
Alle fejl har samme form. kode ændrer sig ikke, så jeres kode kan reagere på den. besked er skrevet til mennesker.
{ "fejl": { "kode": "ikke_fundet", "besked": "Henvendelsen findes ikke." } }| HTTP | kode | Betyder |
|---|---|---|
| 400 | ugyldig_foresporgsel | Et felt er forkert. detaljer siger hvilket. |
| 401 | uautoriseret | Nøglen mangler, er forkert, er udløbet eller er tilbagekaldt. |
| 403 | mangler_adgang | Nøglen har ikke den adgang, der skal til. |
| 404 | ikke_fundet | Findes ikke — eller hører til en anden virksomhed. |
| 409 | konflikt | Kan ikke lade sig gøre lige nu, fx er der ingen mailkonto at svare fra. |
| 413 | for_stor | Kroppen er over 100 KB. |
| 422 | idempotens_konflikt | Idempotency-Key er brugt til en anden anmodning. |
| 429 | for_mange_kald | Over 60 kald i minuttet. Vent det antal sekunder, Retry-After siger. |
| 500 | intern_fejl | Noget gik galt hos os. Prøv igen om lidt. |
Grænser
Hver nøgle må lave 60 kald i minuttet. Alle svar har headerne:
X-RateLimit-Limit— grænsen (60)X-RateLimit-Remaining— kald tilbage i dette minutX-RateLimit-Reset— hvornår minuttet starter forfra (Unix-tid i sekunder)
Bruger flere systemer API'et, så giv hvert sit egen nøgle. Så har de også hver deres grænse.
Nye henvendelser via API'et følger desuden formularens grænser: højst 20 i minuttet pr. nøgle og 5 på 5 minutter fra samme mailadresse.
Flere sider
Lister giver højst limit rækker (standard 25, højst 100), nyeste først. Er der flere, står der en naeste_cursor. Send den som cursor for at få næste side. Når naeste_cursor er null, er I igennem.
Send ikke det samme to gange
Sæt headeren Idempotency-Key på en POST, fx jeres ordrenummer. Sender I præcis det samme kald igen med samme nøgle inden for 24 timer, får I det første svar igen, og der sker ikke noget nyt. Svaret har så headeren Idempotent-Replayed: true.
Det gør det trygt at prøve igen, hvis forbindelsen faldt ud.
Kun jeres egne data
En nøgle hører til én virksomhed. Alt, I kan læse og ændre med den, er jeres egne henvendelser, kontakter, opkald og viden — aldrig andres.
Spørger I efter et id, der hører til en anden virksomhed, er svaret det samme som for et id, der ikke findes: 404.
Versioner
Adressen indeholder versionen (/api/v1). Vi tilføjer felter og endpoints uden at skifte version, men vi fjerner eller omdøber ikke noget i v1. Lad jeres kode ignorere felter, den ikke kender.