Sådan sender du SMS-beskeder med PHP - En trin for trin guide

*Opdateret juli 2025*
I denne vejledning lærer du, hvordan du sender SMS-beskeder ved hjælp af PHP og GatewayAPI. Vi guider dig trin for trin gennem opsætningen, herunder hvordan du strukturerer din kode, sender anmodninger med cURL og fortolker serverens svar. Vejledningen er rettet mod udviklere med grundlæggende PHP-kendskab.
Før vi begynder, er det vigtigt, at du har en grundlæggende forståelse af PHP og en GatewayAPI-konto med kredit. Du kan også vælge at bruge vores EU setup, hvor hosting og ejerskab udelukkende ligger inden for EU. Denne opsætning er især relevant for kunder, der har særlige krav til deres data.
PHP kode-eksempel
Når du har oprettet en konto og har fået adgang til dit dashboard, kan du se kodeeksemplerne på forsiden af dashboardet.
Vælg PHP-eksemplet, kopier det, og indsæt det i din foretrukne editor. Personligt foretrækker jeg Visual Studio Code, men du kan bruge hvilken som helst editor, du foretrækker.
Efter du har indsat koden, vil den se nogenlunde sådan ud:
Gennemgang af koden trin for trin
Jeg vil i dette afsnit gennemgå hvert trin i koden, så du forstår, hvad den gør, og hvordan du kan tilpasse den til jeres specifikke behov. Hvis du synes, det virker lige til, kan du springe til afsnittet, hvor jeg eksekverer scriptet.
I den første linje starter vi vores PHP-fil. I den tredje linje har vi en variabel, der indeholder URL’en til vores endpoint for at sende SMS-beskeder. Denne variabel skal du ikke ændre ved. I den fjerde linje har vi jeres API-token, som bruges til at identificere jer og jeres konto.
I koden har vi også detaljer om beskedens indhold. Vi har “recipients” (modtagere), som er telefonnumrene, beskeden skal sendes til. I eksemplet bruger vi nogle testnumre, men du kan indsætte op til 10.000 forskellige modtagere her.
Først skal du indsætte jeres landekode uden nuller eller plustegn foran. Fx bruger jeg “45” for Danmark. Derefter indsætter du dit eget nummer.
I den næste linje har vi et JSON-objekt, som er objektet, der sender information til vores server om, hvordan SMS’en skal sendes. Først har vi “sender”. Dette er Sender ID’et, som bliver vist på modtagerens telefon. For eksempel, hvis du modtager en SMS fra jeres bank, vil bankens navn ofte være afsenderen. I eksemplet står der automatisk “ExampleSMS”, men du kan skrive jeres eget navn eller det ønskede Sender ID.
“Message” er indholdet af SMS’en. I eksemplet skriver jeg bare “Hello world”. Bemærk, at hvis du ønsker at inkludere emojis eller specialtegn, kræver det nogle ekstra trin, hvilket du kan finde flere oplysninger om i vores dokumentation.
I næste linje lader vi “recipients” stå tom, fordi vi udfylder det i den efterfølgende linje, hvor vi anvender en såkaldt for loop, som tager hver modtager og tilføjer dem til vores modtager-array.
cURL
Nu er vores JSON-objekt klar til at blive sendt til serveren. For at gøre dette bruger vi cURL-biblioteket, der er indbygget i PHP. Vi starter med at initialisere vores cURL-objekt ved hjælp af “curl_init()” og gemmer det i variablen “$ch”. Derefter opsætter vi nogle parametre for vores cURL-objekt ved hjælp af “curl_setopt()”. Vi angiver URL’en, hvor anmodningen skal sendes til, sætter “Content-Type” til “application/JSON” for at fortælle serveren, at vi sender et JSON-objekt, og bruger vores API-token som brugernavn og intet kodeord.
Efter opsætningen af cURL-objektet er vi klar til at udføre selve anmodningen ved at kalde “curl_exec($ch)”. Dette vil sende HTTPS-anmodningen med de angivne parametre og gemme svaret fra serveren i variablen “$result”. Derefter lukker vi cURL-objektet med “curl_close($ch)”.
For at se svaret fra serveren udskriver vi “$result” ved hjælp af “print($result)”. Hvis alt er gået som planlagt, vil du kunne se serverens svar i outputtet.
Desuden afkoder vi JSON-objektet for at få adgang til specifikke oplysninger ved hjælp af “json_decode($result, true)”. I eksemplet udskriver vi ID’er fra JSON-objektet ved hjælp af “print_r($response[‘ids’])”. Dette ID kan bruges som reference, hvis du har brug for support.
Eksekvering af PHP-scriptet
Nu er vores PHP-script færdigt, og vi kan eksekvere det. Du kan køre scriptet på den måde du har lyst. Jeg foretrækker at bruge terminalen på min pc.
Først skal du navigere til den mappe, hvor filen er placeret, og derefter kan du køre scriptet ved at skrive “php sms.php” i terminalen.
Når scriptet er blevet eksekveret, skulle du gerne modtage en SMS på din telefon.

Screenshot fra min terminal hvor scriptet er kørt
Det svar, du modtager, indeholder nogle vigtige oplysninger. Først og fremmest er ID’et dit “message ID”, som er identifikationen for den besked, du lige har sendt.
“Usage” angiver antallet af beskeder, du har sendt, og til hvilke lande. For eksempel betyder “DK: 1”, at der er sendt én besked til Danmark. “Currency” viser valutaen, der er brugt, og prisen viser den specifikke omkostning for beskeden.
Afsluttende bemærkninger
Her til sidst vil jeg gerne dele et par ting, som du skal være opmærksom på, når du sender SMS-beskeder via et SMS API.
For det første har sender-feltet nogle begrænsninger. Undgå at bruge specialtegn eller symboler, da dette kan resultere i, at beskeden ikke kan sendes korrekt, eller at Sender ID’et bliver overskrevet.
Der er også en begrænsning på 11 tegn (alfanumerisk), eller 15 tal (numerisk), for Sender ID’er, så sørg for at holde det på eller under denne længde.
Hvis du ønsker at inkludere links i beskederne, skal du først gennemgå whitelisting-processen på din GatewayAPI-profil. Det tager som regel ikke mere end en arbejdsdag at få godkendt et link, men sørg alligevel for at være ude i god tid inden den planlagte afsendelse.
En sidste ting, du skal være opmærksom på, er at sikre, at kodningen af jeres SMS eller PHP-fil er indstillet til UTF-8. Dette er normalt standardindstillingen i de fleste systemer, men for Windows-brugere kan der være situationer, hvor PHP-scriptet er indstillet til en anden kodning. Det er vigtigt at sikre, at begge er i samme kodning for at undgå problemer.
Det, jeg har vist i dag, er blot de grundlæggende trin for at sende en SMS-besked. GatewayAPI har meget mere at byde på, hvilket du kan læse mere om i vores dokumentation.
Du kan også besøge vores YouTube kanal, hvor vi gennemgår, hvordan du sender beskeder via PHP på præcist samme fremgangsmåde som i dette blogindlæg.
Derudover kan du inde på GitHub finde et komplet PHP bibliotek til integration med GatewayAPI.
Tak for at du læste med!

Om forfatteren
Oliver fokuserer på integrationer og er manden, du skal gå til, hvis du har brug for en integration med dit foretrukne system. Når han ikke arbejder på GatewayAPI, er han en ivrig studerende af AI og Deep Learning. Oliver nyder generelt bare at arbejde med kode, uanset om det er AI eller noget mere jordnært, såsom GUI eller backend-software.