SMSCreate

API og integrasjoner

Start med demo, beregn pris og følg meldingen fra kø til leveringsstatus.

Åpne kundeportalen ↗

Tilgang

Opprett en API-nøkkel under Innstillinger i kundeportalen. Nøkkelen tilhører én kunde og får valgte rettigheter. Kopier den ved opprettelse, lagre den på serveren og bruk Authorization: Bearer. Sperr nøkkelen i portalen ved behov.

API-base: https://smscreate.onrender.com/api/v1

Bruk JSON og Content-Type: application/json. Standardgrensen er 120 produktforespørsler per minutt per bruker eller nøkkel.

1. Beregn pris

Alle telefonnumre skal ha + og landskode. Svaret inneholder totalCostMicro, som er maksimalprisen du kan bekrefte ved sending. Én valutaenhet er 1 000 000 mikroenheter; beløp returneres som strenger.

curl 'https://smscreate.onrender.com/api/v1/quote' \
  -H 'Authorization: Bearer DIN_API_NOKKEL' \
  -H 'Content-Type: application/json' \
  --data '{"to":"+4791234567","body":"Hei fra SMSCreate","purpose":"transactional"}'

2. Opprett meldingen

Bruk en unik Idempotency-Key på 8–100 tegn. Ved nettverksbrudd gjentar du nøyaktig samme nøkkel og innhold. Endret innhold med samme nøkkel gir 409. Bytt maksimalpris nedenfor med totalCostMicro fra prisberegningen.

curl 'https://smscreate.onrender.com/api/v1/messages' \
  -H 'Authorization: Bearer DIN_API_NOKKEL' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: EN_UNIK_MELDINGSNOKKEL' \
  --data '{"to":"+4791234567","body":"Hei fra SMSCreate","purpose":"transactional","maxCostMicro":"PRIS_FRA_QUOTE"}'

Demo sender ingen ekte SMS. Live krever avtalt leverandørdekning, godkjent avsender, prisavtale og saldo. Markedsføring krever registrert samtykke. Avmeldingssperre kontrolleres før utsending.

3. Følg status

curl 'https://smscreate.onrender.com/api/v1/messages/MELDING_ID' \
  -H 'Authorization: Bearer DIN_API_NOKKEL'

queued betyr kølagt, accepted betyr akseptert av leverandøren og delivered krever leveringskvittering. unknown betyr uavklart: opprett ikke en ny melding for å prøve igjen. Kontakt plattformansvarlig for avstemming.

Valgfrie scheduledAt og expiresAt bruker ISO 8601 med eksplisitt tidssone. Utløp gjelder før innsending, og stopper ikke en allerede akseptert SMS hos operatøren.

Historikk og CSV

GET /history/messages, /history/contacts, /history/inbox, /history/campaigns, /history/ledger, /history/payments og /history/audit gir rows, nextCursor og limit.

Bruk limit 1–100 og cursor fra forrige svar. search er fritekstsøk. mode er simulation eller live der ressursen har miljø; status filtrerer meldinger, kampanjer og betalinger, og kategori for ledger. Behold filtrene når du bruker cursor.

Legg til /export for CSV av en side med opptil 1000 rader. Headeren X-Next-Cursor peker til neste side. CSV-beløp i mikroenheter og betalingsbeløp i minor units er eksakte heltallsstrenger.

Signerte statushendelser

Registrer en offentlig HTTPS-adresse under Innstillinger. Du får en hemmelighet som bare vises ved opprettelse eller rotasjon.

Kontroller HMAC-SHA256 over sms-timestamp + "." + rå forespørselsbody med hemmeligheten. Headeren sms-signature har formatet v1=hex. Bruk konstant tids sammenligning, avvis gamle tidsstempler, og dedupliser på sms-event-id. Lagre hendelsen varig før du svarer med 2xx.

Inntil ti leveringsforsøk innen 24 timer. Samme hendelses-ID beholdes ved ny levering. Hendelsesrekkefølgen er ikke garantert. Callbacken gjelder meldingsstatus; innkommende SMS leses i innboksen.

Feil og support

Feilsvar inneholder error, message og requestId. 401 gjelder innlogging/nøkkel, 403 tilgang, 402 saldo, 409 konflikt og 429 for mange forespørsler. Oppgi requestId og melding-ID ved support; send aldri API-nøkler, SMS-innhold eller telefonnumre i feillogger.