RCS API

RCS via REST API

Integrer interaktive RCS-beskeder i dine applikationer. Rich Cards, karruseller, knapper og SMS-Fallback - alt via et enkelt REST API. Test enhver besked i den gratis sandbox, før du opretter en konto.

Beskedtyper

9 beskedformater til alle anvendelsesområder

Fra enkle tekstbeskeder til interaktive karruseller - API'et understøtter alle RCS-formater.

textBasic

Maks. 160 tegn, SMS-lignende med verificeret afsender

text

Op til 3.072 tegn + 11 forslagsknapper

richCard

Billede/video + titel + beskrivelse + 4 knapper

carousel

Op til 10 kort, horisontalt scrollbare

image

JPEG, PNG, GIF - direkte i beskedappen

video

MP4, 3GP til dynamisk indhold

audio

MP3 til talebeskeder og podcasts

file

PDF'er, dokumenter til fakturaer og billetter

media

Generisk mediatype + forslagsknapper

"suggestions": [
  {
    "reply": {
      "text": "Book tid",
      "postbackData": "book_apt",
      "webhookUrl": "https://..."
    }
  },
  {
    "action": {
      "text": "Ring",
      "type": "dial",
      "dialAction": {
        "phoneNumber": "+45..."
      }
    }
  }
]
Interaktivt

7 knaptyper til enhver interaktion

Opret interaktive beskeder med op til 11 forslagsknapper og 4 korthandlinger per kort.

  • postback - Webhook-callback med tilpassede data
  • openUrl - Åbn eksterne links i browseren
  • openUrlInWebview - Vis links direkte i beskedappen
  • dial - Start et direkte opkald
  • createCalendarEvent - Tilføj begivenhed i kalenderen
  • viewLocation - Vis placering i Google Maps
  • shareLocation - Anmod om modtagerens placering
Masseudsendelse

Op til 10.000 modtagere per forespørgsel

Send den samme besked til tusindvis af modtagere med et enkelt API-kald. Perfekt til kampagner og massekommunikation.

  • Automatisk filtrering af deaktiverede kontakter
  • Testnumre debiteres ikke
  • Fremskridtssporing via Job-ID
  • Konfigurerbar batchstørrelse og forsinkelse
  • Kampagnenavn til sporing og rapportering
10.000
Modtagere per forespørgsel
POST /send-batch
{
  "messageType": "text",
  "content": {
    "text": "Hej {{contact_first_name}}, din ordre fra {{company_name}} sendes i dag. Afmeld: {{unsubscribe_link}}"
  },
  "smsFallback": {
    "message": "Hej {{contact_first_name}}, din ordre sendes i dag. Afmeld: {{unsubscribe_link}}"
  }
}
Flettefelter

Personliggør hver besked

Pladsholdere erstattes pr. modtager ved afsendelse - i RCS-beskeder, selvstændige SMS'er og SMS-fallback-teksten.

  • Kontaktfelter {{contact_first_name}}, {{contact_last_name}}, {{contact_phone}}, {{contact_email}}
  • Virksomhedsfelter {{company_name}}, {{company_phone}}, {{company_website}}
  • Brugerdefinerede felter ethvert {{your_tag}}, du definerer, plus {{today}}
  • {{unsubscribe_link}} en unik afmeldings-URL pr. modtager med nyt token ved hver afsendelse
  • Virker overalt i tekst, korttitler, beskrivelser og knap-URL'er
RCS
Ikke tilgængeligt?
SMS
SMS-Fallback

Automatisk SMS-Fallback

Når RCS ikke er tilgængeligt, sendes en SMS automatisk. Definer en SMS-reservetekst for hver besked.

  • Automatisk registrering af RCS-kapacitet
  • Separat SMS-afsender konfigurerbar
  • Op til 1.530 tegn SMS-tekst
  • Fallback-årsag i API-svar
Planlægning

Tidszonebevidst planlægning

Planlæg beskeder til et bestemt tidspunkt i fremtiden. Med IANA-tidszonestøtte når du altid dine modtagere på det rigtige tidspunkt.

  • IANA-tidszonestøtte (Europe/Copenhagen, etc.)
  • Validering før afsendelse via /validate-schedule-time
  • Planlagte massebeskeder
  • Annullerbare jobs via DELETE /batch/{jobId}
{
  "scheduleAt": "2026-10-15T09:00:00",
  "timeZone": "Europe/Copenhagen"
}
{
  "event": "rcs_button_clicked",
  "timestamp": "2026-09-30T10:30:00Z",
  "interaction": {
    "type": "button_click",
    "buttonText": "Køb nu",
    "postbackData": "product_123",
    ...
  },
  "message": {
    "id": "...",
    "campaignName": "Sommerkampagne",
    ...
  },
  "contact": {
    "phone": "+4570123456",
    "name": "Anna Jensen",
    ...
  }
}
Webhooks

Webhooks til alle hændelser

Få øjeblikkelige notifikationer, når modtagere klikker, svarer eller modtager dine beskeder. Forbind dine backend-systemer til automatiserede workflows.

  • Knapklik med dine egne postbackData, webhook-URL pr. knap
  • Leveringsstatus leveret, læst eller fejlet
  • Indgående RCS-beskeder tekst, billeder, videoer, filer og placeringer
  • Indgående SMS til dine virtuelle numre
  • Formularindsendelser og bekræftede double opt-ins
  • Kontaktoplysninger og besked-id i hver payload
Kodeeksempler

Enkel integration

Send din første RCS-besked med blot et par linjer kode.

Forespørgsel

# Send et Rich Card med knap
curl -X POST https://api.sendrcs.dk/api/rcs/send \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "+4570123456",
    "messageType": "richCard",
    "sendernameId": "your-sender-id",
    "content": {
      "title": "Velkommen!",
      "description": "Opdag vores tilbud",
      "media": {
        "height": "MEDIUM",
        "contentInfo": {
          "fileUrl": "https://example.com/image.jpg"
        }
      },
      "cardActions": [{
        "text": "Læs mere",
        "type": "openUrl",
        "openUrlAction": {
          "url": "https://example.com"
        }
      }]
    }
  }'

Svar

{
  "success": true,
  "messageId": "3f9c2a1e-7b4d-4c8e-9a21-5d6e7f8a9b0c",
  "messageRecordId": "66fa1c2b9d3e4f5a6b7c8d9e",
  "method": "rcs",
  "fallbackUsed": false,
  "creditsUsed": 1,
  "hasInteractiveButtons": true,
  "conversation": {
    "conversationId": "66fa1c2b9d3e4f5a6b7c8d9f",
    "status": "ACTIVE",
    "remainingTime": "23:59:00",
    "chargedMessage": true,
    "messageCount": {
      "total": 1,
      "outbound": 1,
      "inbound": 0
    }
  }
}
Sandbox

Prøv det uden en konto

Send præcis den body, du ville sende til /send, til den offentlige sandbox. Du får det samme valideringsresultat som fra det rigtige endpoint plus et link, der viser beskeden på en Android- og iOS-telefonmockup.

  • Ingen API-nøgle, intet sendes, ingen credits brugt
  • Samme validator og fejlformat som POST /send
  • Telefonmockup-link, gyldigt i 24 timer
  • Eksempelbilleder, en video og en PDF via GET /sandbox/samples
  • Rate limit 20 forespørgsler pr. minut, 100 pr. dag pr. IP
Sandbox-reference i API-dokumentationen
# Ingen API-nøgle nødvendig
curl -X POST https://api.sendrcs.eu/api/rcs/sandbox/preview \
  -H "Content-Type: application/json" \
  -d '{
    "messageType": "richCard",
    "content": {
      "title": "Din ordre er på vej",
      "description": "Følg pakken eller tal med os.",
      "media": {
        "height": "TALL",
        "contentInfo": {
          "fileUrl": "https://sendrcs.eu/images/rcsexamples/shoes-1.jpg"
        }
      },
      "cardActions": [{
        "text": "Følg ordren",
        "type": "openUrl",
        "openUrlAction": { "url": "https://example.com/track" }
      }]
    }
  }'

# Svar (forkortet)
{
  "success": true,
  "valid": true,
  "errors": [],
  "preview": {
    "share_url": "https://app.sendrcs.eu/sandbox/4GMBgQir-USjNcUcWqENidOH",
    "expires_at": "2026-09-30T22:50:59.891Z",
    "sendable": false
  },
  "sandbox": { "nothing_sent": true }
}

API-endpoints

Alle endpoints, grupperet efter område. Komplette request- og response-skemaer findes i API-referencen.

Metod Endpoint Beskrivelse
Messaging https://api.sendrcs.eu/api/rcs
POST /send Send en enkelt RCS-besked med valgfrit SMS-fallback og planlægning
POST /send-batch Send den samme besked til op til 10.000 modtagere
POST /send-sms Send en selvstændig SMS uden RCS
POST /validate Valider en besked før afsendelse
GET /button-guidelines Knap-retningslinjer og grænser
Sandbox (uden API-nøgle) https://api.sendrcs.eu/api/rcs
POST /sandbox/validate Valider en besked uden en konto
POST /sandbox/preview Valider og få et telefonmockup-link
GET /sandbox/samples Eksempelbilleder, video og PDF, som sandboxen viser
GET /sandbox/preview/{slug} Læs en sandbox-forhåndsvisning som JSON
Planlægning & jobs https://api.sendrcs.eu/api/rcs
GET /timezones Tilgængelige IANA-tidszoner
POST /validate-schedule-time Valider et planlagt tidspunkt
GET /batch/{jobId}/status Status og fremdrift for et batch-job
DELETE /batch/{jobId} Annuller et planlagt eller kørende batch-job
GET /jobs Vis dine jobs
GET /queue/status Køstatus
Status, samtaler & log https://api.sendrcs.eu/api/rcs
GET /status RCS-tjenestestatus
GET /health Health check
GET /senders Vis dine RCS- og SMS-afsendernavne
GET /stats Beskedstatistik
GET /conversations Vis aktive samtaler
GET /conversations/{phoneNumber}/status Samtalestatus for en modtager
GET /conversations/{phoneNumber}/rate-limit Rate limit for en samtale
GET /messages/log Beskedlog (base-URL https://api.sendrcs.eu/api/messages)
GET /messages/{id}/content Indhold af en sendt besked (base-URL https://api.sendrcs.eu/api/messages)
Kontakter https://api.sendrcs.eu/api/v1
GET POST /contacts Vis og opret kontakter
GET /contacts/count Tæl kontakter
POST /contacts/bulk Opret eller opdater kontakter i bulk
PATCH /contacts/bulk/enable Aktivér kontakter i bulk
PATCH /contacts/bulk/disable Deaktiver kontakter i bulk
GET PUT DELETE /contacts/{id} Hent, opdater og slet en kontakt
GET POST /contacts/fields Vis og opret brugerdefinerede felter
GET PUT DELETE /contacts/fields/{fieldId} Hent, opdater og slet et brugerdefineret felt
GET PUT /contacts/{id}/fields Hent og sæt en kontakts feltværdier samlet
PUT DELETE /contacts/{id}/fields/{fieldId} Sæt og slet en enkelt feltværdi
Grupper https://api.sendrcs.eu/api/v1
GET POST /groups Vis og opret grupper
GET PUT DELETE /groups/{id} Hent, opdater og slet en gruppe
POST DELETE /groups/{id}/contacts Tilføj og fjern kontakter i en gruppe
Skabeloner https://api.sendrcs.eu/api/v1
GET POST /templates Vis og opret beskedskabeloner
GET PUT DELETE /templates/{id} Hent, opdater og slet en skabelon
GET POST /templates/groups Vis og opret skabelongrupper
POST /templates/groups/assign Tildel skabeloner til en skabelongruppe
PUT DELETE /templates/groups/{id} Omdøb og slet en skabelongruppe
Autentificering

Enkel API-nøgleautentificering

Alle API-forespørgsler kræver en API-nøgle i headeren, undtagen de offentlige sandbox-endpoints. Generer din nøgle i dit Dashboard.

X-API-Key: your-api-key-here

Du finder dine API-nøgler under Settings → API Keys i dit dashboard.

Samtaledebitering

24 timers samtalevindue

Inden for et 24-timersvindue kan du sende ubegrænsede beskeder til prisen af en samtale. Optimer dine omkostninger med høje beskedvolumener.

  • 24-timersvindue fra den første besked
  • Debiteringsforhåndsvisning før afsendelse via API
  • Analytics-endpoint til samtalestatistik
  • Omkostningsoptimering for opfølgningsbeskeder
24h
Samtalevindue
Ubegrænsede beskeder til en fast pris
FAQ

RCS API - dine spørgsmål besvaret

Hvordan sender jeg en RCS-besked via API'et?

Send en POST-forespørgsel til https://api.sendrcs.eu/api/rcs/send med din API-nøgle i headeren X-API-Key og en JSON-body med afsender-id, modtager og beskedindhold - f.eks. et Rich Card med titel, beskrivelse, billede og en knap. Svaret returnerer et besked-id og status. Komplette eksempler for alle formater findes i API-dokumentationen.

Hvordan autentificerer jeg API-forespørgsler?

Hver forespørgsel kræver en API-nøgle i headeren X-API-Key. Du opretter og administrerer dine nøgler i SendRCS-dashboardet under Indstillinger og API-nøgler.

Hvilke beskedformater understøtter API'et?

Ni formater: Basic Text (op til 160 tegn), Rich Text (op til 3.072 tegn og 11 forslagschips), Rich Card, karrusel (op til 10 kort), billede, video, lyd, fil (PDF'er og dokumenter) samt generiske medier med forslagschips. Der findes syv knaptyper: postback, openUrl, openUrlInWebview, dial, createCalendarEvent, viewLocation og shareLocation.

Kan jeg sende til mange modtagere med én forespørgsel?

Ja. Batch-endpointet sender den samme besked til op til 10.000 modtagere i ét enkelt API-kald. Deaktiverede kontakter filtreres automatisk fra, batchstørrelse og forsinkelse kan konfigureres, og et kampagnenavn lader dig følge og rapportere på udsendelsen.

Hvordan fungerer SMS-fallback i API'et?

Definer en SMS-fallback-tekst for hver besked. API'et registrerer automatisk, om modtageren kan modtage RCS, og sender ellers SMS'en i stedet - med en separat konfigurerbar SMS-afsender og op til 1.530 tegn. API-svaret fortæller, hvornår og hvorfor fallback blev brugt.

Kan jeg planlægge beskeder via API'et?

Ja. Angiv et scheduleAt-tidspunkt med understøttelse af IANA-tidszoner, f.eks. Europe/Copenhagen, så sendes beskeden på det tidspunkt i modtagerens lokale tid. Du kan validere et tidspunkt på forhånd via endpointet validate-schedule-time og annullere et planlagt job med DELETE /batch/{jobId}.

Hvordan får jeg besked, når en modtager klikker på en knap?

Via webhooks. SendRCS kalder dit backend i realtid ved seks hændelser: knapklik med dine egne postbackData, ændringer i leveringsstatus (leveret, læst, fejlet), indgående RCS-beskeder, indgående SMS til dine virtuelle numre, formularindsendelser og bekræftede double opt-ins. Webhook-URL'er til knapper sættes pr. knap, de øvrige under Indstillinger og Webhooks i dashboardet.

Kan jeg teste API'et uden en konto?

Ja. Den offentlige sandbox på https://api.sendrcs.eu/api/rcs/sandbox/preview validerer enhver besked-body med de samme regler som det rigtige send-endpoint og returnerer et delelink, der viser beskeden på en Android- og iOS-telefonmockup. Der kræves ingen API-nøgle, intet sendes, og der bruges ingen credits. Linket udløber efter 24 timer, og rate limit er 20 forespørgsler pr. minut og 100 pr. dag pr. IP.

Dækker API'et også SMS, kontakter og skabeloner?

Ja. Den samme API-nøgle giver dig et selvstændigt SMS-endpoint, beskedloggen og fulde CRUD-endpoints til kontakter, brugerdefinerede felter, grupper og beskedskabeloner under https://api.sendrcs.eu/api/v1/. Beskedtekst understøtter flettefelter som {{contact_first_name}} og et unikt {{unsubscribe_link}} pr. modtager.

Klar til at komme i gang med RCS API?

Opret din gratis konto og få din API-nøgle på få minutter.

  • Intet abonnement
  • Ingen binding
  • Pay as you go
  • Gratis at prøve