Under de senaste decennierna har SMS varit de obestridda ryggraden i digital kommunikation. Dess enkelhet och nära 100-procentiga räckvidd har alltid varit dess styrka. Men i takt med att användarnasförväntningar förändras, räcker ren text inte alltid till. Här kommer RCS (Rich Communication Services) in i bilden – en uppgradering som förvandlar meddelande-appen till en interaktiv plattform.
Men hur fungerar det tekniskt, och hur kan jag säkerställa att mitt budskap når ut på marknader som fortfarande inte rullat ut fullt stöd av RCS? Vi reder ut begreppen.
Vad är RCS och Universal Profile?
RCS (Rich Communication Services) beskrivs ofta som ”SMS 2.0”, men det är i själva verket en helt ny IP-baserad protokollarkitektur som ersätter det gamla SS7-baserade mobilnätsprotokollet för SMS och MMS. Istället för att skicka data över operatörernas signaleringskanaler, skickas RCS som datatrafik över internet (4G, 5G och Wi-Fi).
För att garantera att tekniken fungerar likadant världen över, har branschorganisationen GSMA tagit fram Universal Profile (UP).
Universal Profile (UP)
Detta är den globalt överenskomna standarden (specifikationen) som alla operatörer och tillverkare måste följa. Utan Universal Profile skulle en Telia-användare inte kunna skicka interaktiva meddelanden till en Tele2-användare.
- UP 1.0–2.0: Lade grunden för konsumentfunktioner (P2P) som läskvitton, chattindikatorer (”skriver…”) och högupplösta bilder (upp till 100 MB istället för MMS-gränsen på ca 0,3 MB).
- UP 2.4+ (och senare versioner): Introducerade MaaP (Messaging as a Platform), vilket är ryggraden i modern företagskommunikation via RCS
Jämförelse SMS vs RCS
| Funktion | SMS/MMS | RCS (Universal Profile) |
|---|---|---|
| Nätverksteknik | Signaleringsnät (SS7) | IP-nät (Mobildata / Wi-Fi) |
| Mediestorlek | Max ~300 KB (MMS) | Upp till 105 MB (video/bild) |
| Interaktivitet | Text och statiska länkar | Karuseller, knappar, kalenderbokningar samt kartor |
| Säkerhet | Okrypterat | Krypterat (TLS) och verifierade avsändare |
| Statusrapporter | Leveransstatus | "Levererat", "Läst" samt skrivindikator |
A2P och MaaP: När företag kommunicerar med kunder
Inom telekom skiljer vi på P2P (Person-to-Person) och A2P (Application-to-Person). När ett företag skickar automatiska systemmeddelanden, marknadsföring eller kundtjänstchattar handlar det om A2P.
För RCS används begreppet MaaP (Messaging as a Platform). MaaP förvandlar meddelande-appen från en passiv inkorg till en interaktiv plattform (likt en app i appen), där företag kan bygga avancerade kundresor via API:er utan att kunden behöver ladda ner något extra.
Rika Payloads (Rich Payloads)
Istället för att bara skicka en rå textsträng och en kortlänk, kommunicerar företagets system med operatörernas RCS-servrar via komplexa JSON-strukturer. Denna data tolkas och renderas visuellt direkt i telefonens meddelande-app:
Karuseller: Användaren kan svajpa horisontellt mellan olika produkter, hotellrum eller leveransalternativ. Varje ”kort” i karusellen har en egen bild, beskrivning och knapp.
Suggested Actions (Föreslagna åtgärder): Knappar som låter kunden öppna en karta, ringa upp kundtjänst, lägga till ett event i kalendern eller göra en säker betalning direkt i chatten.
Status 2026: Marknaden i Sverige
Landskapet för RCS är fortfarande kluvet i Sverige. Även om tekniken mognat och den globala blockeringen mellan plattformarna delvis har lösts, dröjer det svenska genombrottet:
Android: Har fullt inbyggt RCS-stöd sedan många år, främst via Google Messages. Här fungerar både avancerad privat chatt (P2P) och företagskommunikation (A2P) fullt ut.
Apple (iOS): Apple implementerade officiellt stöd för RCS i och med iOS 18, men för att det ska fungera krävs att operatörerna anpassar och aktiverar funktionen i sina nät. I Sverige har de stora operatörerna (Telia, Tele2, Telenor och Tre) ännu inte aktiverat detta stöd för iPhone. Apples officiella listor över europeiska operatörer saknar alltjämt RCS-funktion för de svenska bolagen.
Övergångsfasen i dag: Eftersom operatörernas stöd för iPhone dröjer i Sverige, är den ”sömlösa” kommunikationen fortfarande en vision. När ett företag skickar interaktiva RCS-meddelanden (A2P) eller när en Android-användare skickar en högupplöst bild (P2P) till en iPhone i Sverige, saknas RCS-uppkopplingen.
Kan jag använda RCS redan idag?
Ja, absolut! De tekniska framstegen fortlöper med fler och fler operatörer som lägger till stöd för RCS världen över. När det kommer till svenska operatörer så finns redan idag fullständigt stöd för RCS till Android-enheter.
I och med lanseringen av meddelandekryptering mellan Android och iOS-enheter i iOS version 26.5 för privatpersoner finns det också tydliga tecken på att världen är mogen för en ny modern meddelande-standard.
Hur når jag en mottagare vars telefon inte har stöd för RCS?
När du skickar ett meddelande via våra API:er kan du använda dig av endpointen för capability check, som i sin tur svara med en status som talar om ifall enheten du vill skicka till har stöd för RCS eller inte. Med hjälp av denna status kan du senare implementera en fallback som skickar SMS till de enheter som inte ännu har stöd för RCS-tekniken.
- Capability Check: Systemet gör en snabb förfrågan för att se om mottagarens telefon och operatör har en aktiv RCS-anslutning.
- Smart Routing: Om mottagaren har en aktiv RCS-profil (t.ex. en Android-användare i ett stöttat nät) levereras det interaktiva meddelandet med bilder och knappar.
- Fallback till SMS: Om mottagaren inte kan ta emot RCS (t.ex. en iPhone-användare i Sverige eller någon med tillfälligt dålig datatäckning) routas meddelandet om till vårt SMS API och skickas som ett vanligt textmeddelande. På så sätt bryts aldrig kommunikationskedjan.
Kodexempel: Skicka RCS med SMS Fallback
using System.Net.Http.Json;
var apiKey = "DIN_API_NYCKEL";
var rcsUrl = "https://api.ip1.net/v3";
var smsUrl = "https://api.ip1sms.com/v2";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
async Task SendTransactionalMessage(string number, string text)
{
var recipients = new[] { number };
try
{
// 1. Capability Check för det specifika numret
var cap = await client.GetFromJsonAsync<CapResponse>($"{rcsUrl}/phones/{number}/capabilities");
if (cap?.capable == true)
{
// 2. Skicka transaktionell RCS
var response = await client.PostAsJsonAsync($"{rcsUrl}/bundles", new
{
brand = "min-butik-ab",
agent = "DIN_AGENTS_ID",
content = text,
recipients = recipients
});
if (response.IsSuccessStatusCode) return;
}
}
catch
{
// Logga felet internt men fortsätt till SMS-fallback
}
// 3. Fallback till SMS
await client.PostAsJsonAsync($"{smsUrl}/messages", new
{
sender = "Verifiera",
body = text,
recipients = recipients
});
}
public record CapResponse(bool capable);
// Exempel på anrop:
await SendTransactionalMessage("46700123456", "Din kod är: 123456. Giltig i 10 minuter.");
using System.Net.Http.Json;
var apiKey = "DIN_API_NYCKEL";
var rcsUrl = "https://api.ip1.net/v3";
var smsUrl = "https://api.ip1sms.com/v2";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
async Task SendSmartMessages(string[] recipients, string text)
{
var rcsRecipients = new List<string>();
var smsRecipients = new List<string>();
// 1. Loopa igenom och sortera mottagarna baserat på capability
foreach (var number in recipients)
{
try
{
var cap = await client.GetFromJsonAsync<CapResponse>($"{rcsUrl}/phones/{number}/capabilities");
if (cap?.capable == true)
rcsRecipients.Add(number);
else
smsRecipients.Add(number);
}
catch
{
smsRecipients.Add(number);
}
}
// 2. Skicka RCS till alla som kan ta emot
if (rcsRecipients.Any())
{
var rcsResponse = await client.PostAsJsonAsync($"{rcsUrl}/bundles", new
{
brand = "min-butik-ab",
agent = "DIN_AGENTS_ID",
content = text,
recipients = rcsRecipients.ToArray()
});
}
// 3. Skicka SMS till resten
if (smsRecipients.Any())
{
var smsResponse = await client.PostAsJsonAsync($"{smsUrl}/messages", new
{
sender = "MittForetag",
body = text,
recipients = smsRecipients.ToArray()
});
}
}
public record CapResponse(bool capable);
var myNumbers = new[] { "46700123456", "46700987654", "456189040623" };
await SendSmartMessages(myNumbers, "Hej! Detta är ett smart meddelande.");
Sammanfattning
Att framtidssäkra sin kommunikation handlar om att förbereda sig för den interaktiva framtiden utan att förlora dagens räckvidd.
Genom att förstå samspelet mellan RCS-teknikens möjligheter och använda sig av SMS-protokollets räckvidd till dess att fullt stöd på marknaden finns, kan företag bygga en stabil och modern kunddialog som fungerar för alla – oavsett vilken telefon de har i fickan.
Vill du veta mer om hur din verksamhet kan dra nytta av MaaP-arkitekturen? Genom att börja bygga med RCS-stöd idag är du redo när marknaden når full mognad, samtidigt som en fallback-logik garanterar att dina budskap alltid når fram här och nu.