Guide_SMS_API

Innehållsförteckning

Vill du börja skicka SMS via API? Läs den här guiden för att komma igång! Vi vill hjälpa dig som behöver en effektiv, snabb och pålitlig kommunikationslösning och vill börja använda API. I denna artikel går vi därför igenom de 5 första stegen för att du ska kunna komma igång med vårt API. 

Steg 1: Skapa och verifiera ett SMSAPI-konto 

Efter att du registrerat ditt konto hos SMSAPI behöver du även verifiera dina företagsuppgifter. Det gör du genom att klicka på “Aktivera konto” när du är inne i kundportalen. Därefter blir nästa steg att fylla på ditt konto med poäng under “Betalningar”. Du kan betala med Swish, kredit- eller bankkort. 

Steg 2: Lägg till avsändarnamn 

Du börjar därefter med att lägga till det avsändarnamn du vill att dina mottagare ska se (max 11 tecken). Välj ett namn som gör det lätt för dina mottagare att identifiera ditt varumärke. Du kan använda dig av genvägen “Lägg till avsändarnamn” som finns på dashboarden i kundportalen. För att motverka missbruk av avsändarnamn kommer vår support att verifiera varje tillagt avsändarnamn. Du meddelas via e-post när du fått ditt namn godkänt.  

Steg 3: Bestäm om du ska använda ett bibliotek eller API 

Det första valet du sen behöver göra är att bestämma om du ska använda ett biobiliotek eller ett API. Det finns bibliotek skapade av SMSAPI i populära språk som går att ladda ner från GitHub. Alternativt kan du ansluta direkt med ett API, utan något bibliotek. Processen har beskrivits grundligt med några exempel i vår API dokumentation

Letar du efter snabb och enkel integration rekommenderar vi att du använder ett av de färdiga biblioteken, förutsatt att du använder dig av de tillgängliga språken. Planerar du att göra något mer avancerat som ett bibliotek inte tillåter eller vill ha större kontroll över integrationen är ett API att föredra. 

Tillgängliga bibliotek: 

Steg 4: Generera auktoriseringsnyckel 

För att generera en auktoriseringsnyckel går du in under API-inställningar i den vänstra menyn när du är inloggad i kundportalen. Därefter klickar du in på “API tokens” för att generera åtkomsttoken. 

Du får då upp ett fönster där du kan begränsa åtkomsttoken och anpassa den efter dina behov. För att begränsa dataåtkomst och öka säkerheten föreslår vi att enbart välja SMS Gateway och låta de andra vara avstängda. För att avsluta klickar du på “Generera åtkomsttoken”. Du får då upp ett nytt fönster med den genererade token. 

Notera!

Notera! Av säkerhetsskäl visas den fullständiga token enbart en gång. Se därför till att klistra in den i koden på en gång eller direkt i konfigurationen. Om du stänger popup-fönstret innan du kopierat den kommer du behöva skapa en ny token. 

Notera!

Notera! Av säkerhetsskäl visas den fullständiga token enbart en gång. Se därför till att klistra in den i koden på en gång eller direkt i konfigurationen. Om du stänger popup-fönstret innan du kopierat den kommer du behöva skapa en ny token. 

Steg 5: Testa API-begäran 

Allt som återstår nu är att skicka ditt första SMS via SMSAPI:s API! För att göra det använder du koden nedan. Vid eventuella problem finns vår dokumentation till för att hjälpa dig. 

<?php 

/** URL address of SMSAPI API, @see https://www.smsapi.se/docs/#url-adresses */ 

$smsApiUrl = ’https://api.smsapi.se’; 

/** OAuth autorization token, @see https://portal.smsapi.se/react/oauth/manage */ 

$smsApiToken = ’token_oauth’; 

/** sender name, @see https://portal.smsapi.se/sms_settings/sendernames */ 

$from = ’test’; 

/** recipient list, separated by comma */ 

$to = ’XXXXXXXXX’; 

/** message body */ 

$message = ’Hello world!’; 

/** answer format */ 

$format = ’json’; 

$httpClient = curl_init(); 

curl_setopt($httpClient, CURLOPT_URL, $smsApiUrl . ’/sms.do’); 

curl_setopt($httpClient, CURLOPT_POST, true); 

curl_setopt($httpClient, CURLOPT_POSTFIELDS, [ 

’to’ => $to, 

’from’ => $from, 

’message’ => $message, 

’format’ => $format, 

]); 

curl_setopt($httpClient, CURLOPT_RETURNTRANSFER, true); 

curl_setopt($httpClient, CURLOPT_HTTPHEADER, [ 

’Authorization: Bearer ’ . $smsApiToken 

]); 

$apiResponse = curl_exec($httpClient); 

curl_close($httpClient); 

echo $apiResponse . PHP_EOL; 

?> 

Med koden kommer du kunna skicka ditt första SMS till utvalt mottagarnummer. Lägg till ditt nummer i $to-variabeln och klistra in din OAuth-token i variabeln $smsApiToken. Var extra uppmärksam på mottagarnumret i $to-variabeln. Den måste föregås av en landskod, t.ex. ”46123456789”. 

Allt som återstår är att köra koden i PHP-tolken. Gör det genom att spara koden som en testSms.php-fil på din dator med en PHP-tolk närvarande. Alla versioner >= 5.4 bör kunna köra skriptet bra med kommandot (du kan behöva justera kommandot till din specifika miljö om du inte har PHP i din $PATH eller om din PHP-körbara fil heter något annat): 

php testSms.php 

Om allt gick rätt till bör du få ett meddelande i JSON-format som ser ut så här:

{"count":1,"list":[{"id":"566275XXXXX","points":0.14,"number":"48XXXXXXXXX","date_sent":1603356627,"submitted_number":"XXXXXXXXX","status":"QUEUE","error":null,"idx":null,"parts":1}]}

Snart bör du få ett SMS till din telefon! 

De vanligaste felen 

Om testet inte fungerade som det skulle kommer API:et förse dig med en felkod som hjälper dig att identifiera orsaken. Alla fel förklaras i dokumentationen men vi går igenom de vanligaste här nedan. 

  • Error 101, Ogiltig behörighetsinformation – ogiltig token eller serveranslutningsdata, t.ex. om du använt api.com.pl istället för api.smsapi.se; 
  • Fel 14, Fel avsändarnamn – fel eller inaktivt SMS-avsändarnamn; kontrollera avsändarens namn i kundportalen; 
  • Fel 11, antingen är meddelandet för långt, eller så finns det inget meddelande eller parameter: nounicode är inställd och specialtecken används – du försöker skicka ett meddelande längre än den gräns du ställt in i kontokonfigurationen – kom ihåg att meddelanden med tecken utanför Unicode har en lägre teckengräns. Du hittar mer information i dokumentationen; 
  • Fel 13, Brist på giltiga telefonnummer (ogiltiga eller svartlistade nummer) – leveransen misslyckades på grund av inaktiva eller blockerade nummer; kontrollera om de angivna numren är giltiga; 
  • Fel 103, Otillräckliga krediter på ditt konto – inte tillräckligt med poäng på kontot eller underkontot; 

Det finns ett par fel som inte visas av felmeddelandet. Det beror på att de inträffade innan anslutningen till SMSAPI:s API kunde upprättas. De vanligaste är: 

  • Anslutning till fel adress – rätt adress finns i vår dokumentation, men du kommer förmodligen vilja använda https://api.smsapi.se/
  • Anslutning med TLS-protokollversion är äldre än 1.2 – vi stöder inte äldre versioner av TLS-protokoll då de inte anses vara tillräckligt säkra. Du behöver kontrollera TLS-versionen av ditt system (miljlö) och förmodligen uppdatera hela din miljö eller dess del, 
  • Anslutning blockerad av en brandvägg vid klientens sida betyder att anslutningen har blockerats någonstans mellan ditt system och vårt API; du måste kontrollera ditt system eller prata med nätverksadministratören. Problemen uppstår sällan men det är ett möjligt scenario i isolerade nätverk som arbetar i servercenter. Vitlistning av IP-adresser för SMSAPI-servrar bör lösa problemet. 

Om du fortfarande har problem, trots att API:et gett dig ett framgångsmeddelande, kan du kontakta vår support för mer information och vägledning.