telkittelkit
telkit SMS

Send SMS i Norge gjennom ett API

Ett POST-kall sender meldingen. Leveringsrapporten kommer tilbake som en signert webhook, og avsender-ID-en kan være hvilket som helst navn på 11 tegn uten at du registrerer det først. Filtrerte meldinger havner aldri på fakturaen.

Ut og inn

Ett endepunkt ut, ett inn

Hver melding går gjennom en tydelig statusmaskin, og hver overgang sendes som en signert hendelse til webhooken din. Ingenting å polle.

Utgående A2P

Engangskoder, varsler og bekreftelser. Idempotency-Key gjør en retry trygg. Serveren teller segmenter og velger koding, og returnerer begge deler i svaret.

Innkommende og toveis

En melding til telkit-nummeret ditt blir en message.received-hendelse med from, to og body. Du svarer fra samme nummer, og tråden holder seg samlet.

Leveringsrapporter

queued → sent → delivered, eller failed / undelivered med en error_code. Hver overgang er både webhook og SSE-hendelse.

send-sms.tsts
import { Telkit } from "@telkit/sdk"; const telkit = new Telkit({ apiKey: process.env.TELKIT_API_KEY }); // Alfanumerisk avsender-ID: ingen registrering i Norge.const message = await telkit.messages.create({  from: "Telkit",  to: "+4791234567",  body: "Hei! Koden din er 4821. Gyldig i 5 minutter.",  idempotencyKey: "otp-4821",}); message.id;        // "msg_8Kp2Qf9aR"message.status;    // "queued"message.segments;  // 1message.encoding;  // "GSM-7"
Send en SMS med den typesikre SDK-en.
webhook.jsonjson
// Leveringsrapport, signert med Ed25519. Verifiser signaturen først.{  "type": "message.delivered",  "data": { "id": "msg_8Kp2Qf9aR", "status": "delivered", "billed": true }} // Filtrert av operatøren → aldri fakturert.{  "type": "message.undelivered",  "data": { "id": "msg_9Lr3Tw0bS", "status": "undelivered",            "error_code": "carrier_filtered", "billed": false }}
Leveringsrapporter kommer som signerte hendelser.
Norske regler

Ingen registrering før første melding

Norsk SMS krever ingen forhåndsregistrering av avsenderen. Du setter navnet i from-feltet, opptil 11 tegn, og kan bytte det fra melding til melding.

Avsender-ID på 11 tegn

A–Z og 0–9, bevart nøyaktig slik du sendte det. Ingenting å registrere, ingen godkjenning å vente på, og ulike utsendinger kan bruke ulike avsendernavn.

Lenker sjekkes før innsending

Du registrerer domenene du lenker til. En melding som peker et annet sted kommer tilbake som 422 med en gang, så den forsvinner aldri stille på vei til mobilen.

Ingen kortkoder

Norge har verken kortkoder eller nasjonale langkoder for A2P. Vi ruter over internasjonale langkoder, og throughput-grensen står i responsheaderen ved siden av 429-en du får når du passerer den.

ECC beveger seg mot obligatoriske avsender-ID-registre. Administrasjon av avsender-ID-er ligger allerede i plattformen, så et strengere krav blir en konfigurasjonsendring hos oss.

Toveis og samtykke

STOPP virker uten at du koder det

Et innkommende «STOPP» registreres i det øyeblikket det kommer inn, og videre sendinger til nummeret stanser. Samtykket eier du selv. Vi håndhever mekanikken, du står for opt-in-en og bruken.

  • Toveis-samtaler

    Svar fra mottakeren kommer som message.received. Du svarer tilbake fra samme nummer, og hele utvekslingen ligger i én tråd på mobilen.

  • STOP og STOPP

    Begge nøkkelordene fanges automatisk. Vi registrerer fravalget, stopper videre sendinger (konfigurerbart) og sender message.opt_out så din egen database henger med.

  • Samtykke etter § 15

    Markedsføring på SMS krever samtykke etter markedsføringsloven § 15. Reservasjonsregisteret gjelder telefonsalg og adressert post, og SMS faller utenfor det registeret. Gambling- og lotteritrafikk blokkeres.

  • Stilletimer

    Legg ikke-essensielle sendinger utenfor 20:00–08:00. Sett heller utsendingen i kø til morgenen: en markedsførings-SMS midt på natten gir deg klager og fravalg.

opt-out.jsonjson
// Innkommende «STOPP» → opt-out registreres og sendinger stanses.{  "type": "message.received",  "data": { "from": "+4791234567", "to": "Telkit", "body": "STOPP" }} {  "type": "message.opt_out",  "data": { "number": "+4791234567", "scope": "sender:Telkit", "source": "keyword" }}
Et innkommende «STOPP» registreres som opt-out.

Du eier samtykket. telkit håndhever STOPP og domenelisten som standard, mens opt-in-en og bruken står på deg.

Pris

Pris per segment, i EUR

Du betaler per segment i EUR, uten plattformavgift oppå. Innkommende meldinger prises for seg. En melding operatøren filtrerte bort havner aldri på fakturaen.

SMS

Til Norge
0,04 €–0,06 € / segment
Innkommende
Lav / gratis
Lokalt nummer
1 €–2 € / mnd
KYC-pakke
Gratis

Tallene er anker, oppgitt som «fra». Hele prislisten står på prissiden.

Slik telles et segment

GSM-7 (standard tekst)160 tegn · 153 sammenkjedet
UCS-2 (emoji / spesialtegn)70 tegn · 67 sammenkjedet

En ren tekstmelding bruker GSM-7 og får plass til 160 tegn. Ett tegn utenfor det alfabetet, for eksempel en emoji, flytter hele meldingen over til UCS-2 med 70 tegn. Lengre meldinger deles i sammenkjedede segmenter, og hvert segment faktureres for seg. Kall pricing/preview for å se delingen før du sender.

Filtrert SMS faktureres ikke

Skiller operatøren filtrert eller hard-feilet fra levert, betaler du ikke for den meldingen. Årsaken står i error_code og i hendelsen.

Se full prisliste
Spørsmål

Vanlige spørsmål om SMS

Det utviklere vil ha avklart før den første meldingen går ut.

Send den første meldingen

Nøkkelen får du med en gang, og det gratis nivået krever ikke kort.