Integration med Kannel SMS gateway
Vi har for nylig haft en stor tilstrømning af kunder, der anvender Kannel SMS gateway. Det viste sig derfor nødvendigt at designe et API-endpoint, som er optimeret specifikt til Kannel.
Hvad
Et hurtigt kig på Kannels historie
Kannel er en af de mest populære open-source SMS-gateways derude. Udviklingen af Kannel SMS gateway’en går helt tilbage til 1999, som skægt nok også er det samme år, som vores modervirksomhed, ONLINECITY.IO, blev grundlagt.
Kannel commits til dato:
En af årsagerne til populariteten af Kannel er dens evne til at forbinde komplicerede og vidt forskellige API’er, der anvendes af mobilnetværk som Nokia CIMD, CMG UCP / EMI, SMPPC. Samtidig tilbyder Kannel et superenkelt HTTP-interface til udvikleren.
Alt dette kompleksitet løber selvfølgelig op, og Kannel består derfor i dag af næsten 300.000 linjer C-kode (for det meste).
Hvorfor
SMPP passer ikke til alle
SMPP er en næsten allestedsnærværende protokol til at sende (bulk) SMS, med den mest populære version specificeret i 1999 af det nu opløste SMS Forum.
Vi kunne have implementeret SMPP og lade Kannel oprette forbindelse til et SMPP-endpoint, som så mange af vores konkurrenter gør. Der er dog flere problemer med denne fremgangsmåde, som hovedsageligt er relateret til sikkerhed og skalerbarhed.
SMPP er en kompakt binær protokol, som har en fantastisk ydeevne. Dog holder SMPP også konstant en eller flere TCP-sockets forbundet til SMSC, hvilket har negativ indflydelse på skalerbarhed, belastningsbalancering og fail-overs.
Hvad værre er, SMPP leverer ingen sikkerhed på transportniveau, f.eks. SSL/TLS, og sender alle dine data, inklusive legitimationsoplysninger, som klartekst. Det gør det nødvendigt at anvende tredjepartssoftware såsom Stunnel, VPN osv. for at skjule det.
HTTPS to the rescue
Hvad vi ønskede at bruge var HTTP. Det er let at skalere ved hjælp af eksisterende værktøjer, er krypteret med SSL/TLS, og det holder godt styr på forbindelserne – uanset antallet af kunder.
Kannel understøtter HTTP via sin “generiske” SMSC-type; Det er dog kompliceret at konfigurere, og når du først har fordybet dig i ydertilfældende, viser det sig også at være begrænset sammenlignet med de andre SMSC-typer.
Eureka-øjeblikket kom, da vi indså, at Kannel også havde en systemtype kaldet “Kannel”, som er beregnet til at kæde Kannels servere sammen. Det er HTTP(S)-baseret, og understøtter alle de funktioner, man som udvikler forventer af Kannel.
Det, der var tilbage, var at implementere et HTTP(S)-baseret API, som var kompatibelt med alle særhederne i Kannels HTTP-parsing. Med andre ord: Lange nætter med at læse Kannels kildekode og udføre modultest (da du ikke kan stole på Kannels dokumentation, hvis du vil være helt sikker).
Hvordan
Da vores API er kompatibel med Kannel SMS gateway, kan vi holde opsætningsguiden kort.
Eksempel
Uddybning:
SMSC-ID’et er til sporingsformål, eller hvis du bruger flere udbydere i Kannel. Porten er der, hvor Kannel vil lytte efter indgående DLR’er. Den anvendes normalt ikke. Kun hvis dine endelige DLR-tilbagekalds-URL’er ikke er tilgængelige fra internettet. Det skyldes, at GatewayAPI leverer DLR’er direkte til den URL, du angiver til Kannel.
Find yderligere information om modtagelse af DLR/statusrapporter i vores dokumentation.
Send-URL’en inkluderer den meddelelsesklasse, der skal bruges. Den er her specificeret som “bulk”. Du skal også udfylde “smsc-brugernavn” / “smsc-password”. Værdierne for disse er ikke dine login-oplysninger til gatewayapi.com/app/ – men et sæt “Credentials”, som du skal generere under “Credentials”, “Add Credentials”.
Det var det hele. Hvis du har spørgsmål eller kommentarer til vores API’er, kan du anvende vores live chat-funktion.
Global SMS Gateway
GatewayAPI har nogle af de laveste priser i størstedelen af verden kombineret med en intuitiv brugergrænseflade, support i verdensklasse og en solid oppetid på over 99,99 % i gennemsnit. Hvis du ikke har en konto endnu, kan du oprette en gratis konto på mindre end to minutter her: Gå til GatewayAPI eller skriv til sales@gatewayapi.com
Hvis du har et koncept eller en virksomhed, der kan drage fordel af at bruge SMS-kommunikation, så tøv endelig ikke med at kontakte os. Vi hjælper dig med at komme i gang hurtigt.