Dokumentation

Smessa-dokumentation

Allt du behöver för att använda Smessa - från din första kontaktimport till en komplett API-integration.

Kom igång

Registrera dig med ditt Google-konto eller din e-post - ditt konto och din första arbetsyta skapas vid första inloggningen. En arbetsyta har egna kontakter, nummer, konversationer och inställningar, så en organisation kan driva flera isolerade arbetsytor.

Innan du kan skicka något behöver du ett telefonnummer och krediter. Provperioden innehåller gratismeddelanden för att komma igång; betalplaner ger en månatlig kreditpott.

  • Köp ett nummer under Telefonnummer: sök i utbudet på land och siffror och köp. Det första numret blir din standardavsändare.
  • Kontrollera ditt kreditsaldo under Fakturering. Varje utgående SMS-segment förbrukar en kredit.
  • För WhatsApp behöver du dessutom en registrerad WhatsApp-avsändare och minst en godkänd mall - se avsnittet WhatsApp nedan.
  • Bjud in kollegor under Team - se Team & arbetsytor för hur inbjudningar fungerar.

Kontakter & samtycke

Kontakterna är grunden för allt du skickar. Lägg till dem en och en eller importera en CSV med importguiden, som mappar kolumner, validerar nummer och hoppar över dubbletter.

Telefonnummer måste vara i internationellt format (till exempel +46701234567). Mellanslag, bindestreck och inledande 00 accepteras och normaliseras automatiskt; allt annat avvisas i stället för att tyst förvanskas.

  • Varje kontakt har en samtyckesstatus: samtyckt, avregistrerad eller okänd. Kampanjer når bara kontakter som samtyckt.
  • Svar som STOP avregistrerar kontakten automatiskt - nyckelord och bekräftelsetexter ställs in under Inställningar → Nyckelord.
  • Taggar grupperar kontakter för kampanjmålgrupper och passutskick. Skapa dem direkt när du lägger till eller importerar.
  • Varje samtyckesändring loggas i en granskningslogg som du kan visa upp på begäran - se Efterlevnad.

Inkorg

Inkorgen samlar alla tvåvägskonversationer på ett ställe - SMS och WhatsApp sida vid sida, varje tråd märkt med sin kanal.

Öppna en konversation för hela historiken och svara direkt. Ett svar förbrukar krediter som alla utgående meddelanden.

  • Filtrera på status: öppen, väntande eller löst.
  • Olästräknare uppdateras i realtid när svar kommer in.
  • WhatsApp-svar utanför 24-timmarsfönstret kräver en godkänd mall - skrivfältet berättar när det gäller.

Kampanjer

Kampanjer skickar ett meddelande till många kontakter - en kampanj, en återkallelse, en säsongshälsning. Rikta till alla, till utvalda taggar eller till segmentregler.

Före utskick visar verktyget en kostnadsuppskattning: antal mottagare, antal segment och om ditt saldo räcker. Inget skickas förrän du bekräftar.

  • Skicka direkt eller schemalägg; en schemalagd kampanj kan flyttas eller avbrytas tills den startar.
  • Personalisera med variabler som kontaktens förnamn.
  • Följ statistik i realtid under utskicket: skickade, levererade, misslyckade och svar.
  • Kampanjer hoppar över avregistrerade kontakter och kontakter med okänt samtycke - medvetet inte konfigurerbart.

WhatsApp

Smessa skickar WhatsApp via din registrerade WhatsApp Business-avsändare. När avsändaren är ansluten visas WhatsApp bredvid SMS i inkorgen, kampanjerna och påminnelserna.

WhatsApp skiljer på sessionsmeddelanden och mallmeddelanden. När en kund skriver till dig öppnas ett 24-timmars sessionsfönster där du kan svara fritt. Utanför fönstret måste företagsinitierade meddelanden använda en mall som WhatsApp godkänt.

  • Hantera mallar under WhatsApp-mallar: skapa dem per kategori (marknadsföring, nytta, autentisering) och skicka in för granskning.
  • Mallstatus är Väntande, Godkänd eller Avvisad - använd Synkronisera för senaste granskningsstatus.
  • Mallar använder numrerade platshållare ({{1}}, {{2}}) som fylls i vid utskick.
  • En avvisad mall visar orsaken så att du kan revidera och skicka in igen.

Bokningspåminnelser

Tillägg

Bokningstillägget skickar automatiska påminnelser som mätbart minskar uteblivna besök. Skapa bokningar manuellt eller synkronisera från en extern kalender.

Varje bokning har ett påminnelseschema - till exempel 24 timmar och 1 timme före start. Påminnelser går ut som SMS, eller WhatsApp med vald mall.

  • Kunder bekräftar genom att svara; bekräftelsen sparas på bokningen.
  • Markera uteblivna och genomförda besök för en rättvisande historik.
  • En påminnelse kan även skickas manuellt från bokningens sida när som helst.

Passplanering

Tillägg

Passtillägget bemannar lediga pass via SMS eller WhatsApp. Skapa ett pass med tid, plats och ersättning och skicka ut det till berörd personal per tagg eller individuellt - WhatsApp-utskick använder en godkänd mall.

Första personen som svarar JA får passet - svaren låses i ankomstordning, så ingen dubbelbokning. Övriga får automatiskt besked om att passet är tillsatt.

  • Sätt en svarsfrist efter vilken utskicket förfaller.
  • Följ varje svar - accepterat, avböjt, förfallet - på passets sida.
  • Avboka eller avsluta pass för att hålla schemat rent.

Automatiseringar

Tillägg

Automatiseringstillägget reagerar på händelser åt dig: ett inkommande meddelande med visst nyckelord, en ny kontakt med mera. Varje regel kopplar en utlösare till en eller flera åtgärder.

Åtgärder omfattar att skicka ett svar, tagga kontakten och anropa din egen webhook. Varje regel visar sin körhistorik med lyckade och misslyckade körningar.

  • Regler slås på och av utan att raderas.
  • Webhook-åtgärden POST:ar JSON till din URL med valfria egna headers och 10 sekunders timeout. Inga omförsök och ingen signatur ännu - betrakta endpointen som en best-effort-avisering, inte som sanningskälla.
  • Körloggen sparar detaljer om varje körning för felsökning.

Engångskoder (OTP)

Tillägg

Med OTP-tillägget kan din egen applikation skicka verifieringskoder via SMS eller WhatsApp med två enkla API-anrop - ett för att skicka koden, ett för att verifiera användarens inmatning. WhatsApp-leverans använder en godkänd autentiseringsmall.

Koder förfaller efter ett valbart antal minuter och kan bara användas en gång. Se API-referensen nedan för förfrågningsformatet.

  • Anpassa meddelandemall och kodlängd per förfrågan.
  • Verifieringen returnerar ett tydligt verified sant/falskt - du behöver inte lagra koder själv.

Team & arbetsytor

Bjud in kollegor till din arbetsyta under Team. Tre roller finns: ägare (full kontroll), administratör (allt utom ägarskap) och medlem.

Inbjudningar fungerar utan e-post: skapa en inbjudan för en kollegas adress, och i samma stund som hen loggar in i Smessa med den adressen ansluts hen automatiskt till arbetsytan. Inbjudningar förfaller efter 7 dagar och kan förnyas.

  • Administratörer och ägare hanterar roller, tar bort medlemmar och sköter inbjudningar.
  • Ägaren kan varken nedgraderas eller tas bort.
  • Växla mellan dina arbetsytor i arbetsyteväljaren.

Fakturering & krediter

Planer innehåller en månatlig kreditpott; en kredit täcker ett SMS-segment. När krediterna tar slut stoppas utskick, om du inte tillåter övertrassering eller köper ett påfyllningspaket.

Betalning sker via vår betalningspartner; fakturor och betalningsmetoder hanteras i kundportalen, ett klick från faktureringssidan.

  • Kreditpaket är engångsköp som läggs ovanpå månadspotten.
  • Tillägg (bokningar, pass, automatiseringar, OTP) är separata prenumerationer som aktiveras per organisation.
  • Förbrukning och transaktionshistorik syns alltid under Fakturering.

Efterlevnad & GDPR

Smessa är byggt för samtyckesbaserade utskick. Avregistreringar upprätthålls automatiskt, varje samtyckesändring loggas med tidsstämpel och orsak, och kampanjer kringgår aldrig samtycke.

Vid GDPR-förfrågningar exporterar eller raderar efterlevnadsverktygen allt som lagras om ett telefonnummer - kontaktkort, meddelanden och samtyckeshistorik.

  • Dataexporten ger en maskinläsbar fil, lämplig för registerutdrag.
  • Radering är oåterkallelig och loggas; den tar bort kontakten, meddelandena och samtyckesspåret.
  • Ställ in nyckelord för avregistrering, registrering och information med automatiska bekräftelser under Inställningar → Nyckelord.

API-referens

Allt som instrumentpanelen gör finns tillgängligt via ett JSON REST-API. Autentisera med en API-nyckel för arbetsytan och integrera utskick, kontakter, kampanjer och mer i dina egna system.

Bas-URL:en är din API-värd; alla endpoints nedan är relativa till den.

Autentisering

Skapa en API-nyckel under Inställningar → API-nycklar. Hela nyckeln (med prefixet sf_) visas exakt en gång vid skapandet - spara den i en secrets-hanterare.

Skicka nyckeln som bearer-token i varje förfrågan. Nyckeln är knuten till arbetsytan där den skapades, så ingen arbetsyte-header behövs; skickar du ändå X-Workspace-Id måste den matcha nyckelns arbetsyta.

Nycklar ger full åtkomst till sin arbetsyta och fortsätter fungera även om skaparen lämnar arbetsytan - återkalla nycklar i Inställningar vid offboarding eller nyckelrotation.

curl https://api.smessa.com/api/v1/contacts \
  -H "Authorization: Bearer sf_your_api_key"

Konventioner

  • Förfrågnings- och svarskroppar är JSON med fältnamn i snake_case.
  • Tidsstämplar är ISO 8601 i UTC.
  • Telefonnummer använder internationellt E.164-format (+46701234567).
  • Listendpoints pagineras med parametrarna page och limit och returnerar kuvertet nedan.
{
  "data": [ ... ],
  "pagination": { "page": 1, "limit": 50, "total": 132, "pages": 3 }
}

Fel

  • Fel returnerar en JSON-kropp med fältet detail; valideringsfel (422) returnerar en detail-lista med meddelanden per fält.
  • 401 - API-nyckel saknas, är ogiltig eller återkallad.
  • 402 - otillräckliga krediter eller inaktiv prenumeration, med objektkropp: {"error": "insufficient_credits", "message": "..."}.
  • 403 - X-Workspace-Id matchar inte, eller {"error": "feature_not_available"} när endpointen kräver ett tillägg som organisationen inte prenumererar på.
  • 404 - resursen finns inte i denna arbetsyta.

Endpoints

Meddelanden

POST/api/v1/messagesSkicka ett SMS- eller WhatsApp-meddelande
GET/api/v1/messages/{id}Hämta ett meddelande och dess leveransstatus

OTP

POST/api/v1/otp/sendSkicka en verifieringskod
POST/api/v1/otp/verifyVerifiera en kod som användaren angett

Kontakter

GET/api/v1/contactsLista kontakter (sökning, samtyckes- och taggfilter)
POST/api/v1/contactsSkapa en kontakt
POST/api/v1/contacts/importMassimportera kontakter
GET/api/v1/contacts/tagsLista arbetsytans taggar
GET/api/v1/contacts/{id}Hämta en kontakt
PUT/api/v1/contacts/{id}Uppdatera en kontakt
DELETE/api/v1/contacts/{id}Radera en kontakt
PUT/api/v1/contacts/{id}/consentUppdatera samtyckesstatus
GET/api/v1/contacts/{id}/messagesMeddelandehistorik med kontakten

Konversationer

GET/api/v1/conversationsLista konversationer (inkorgsvy)
GET/api/v1/conversations/{id}Hämta en konversation med dess meddelanden
PUT/api/v1/conversations/{id}Uppdatera status eller tilldelning
POST/api/v1/conversations/{id}/messagesSvara i en konversation

Kampanjer

GET/api/v1/campaignsLista kampanjer
POST/api/v1/campaignsSkapa en kampanj
GET/api/v1/campaigns/{id}Hämta en kampanj med live-statistik
GET/api/v1/campaigns/{id}/estimateUppskatta mottagare och kostnad
POST/api/v1/campaigns/{id}/scheduleSchemalägg en kampanj
POST/api/v1/campaigns/{id}/sendSkicka en kampanj nu
POST/api/v1/campaigns/{id}/cancelAvbryt en kampanj

Telefonnummer

GET/api/v1/phone-numbersLista dina nummer
GET/api/v1/phone-numbers/availableSök köpbara nummer
POST/api/v1/phone-numbersKöp ett nummer
PUT/api/v1/phone-numbers/{id}Byt namn eller sätt som standard
GET/api/v1/phone-numbers/{id}/statsAnvändningsstatistik för ett nummer
DELETE/api/v1/phone-numbers/{id}Släpp ett nummer

WhatsApp

GET/api/v1/whatsapp/sendersLista registrerade avsändare
GET/api/v1/whatsapp/templatesLista meddelandemallar
POST/api/v1/whatsapp/templatesSkapa en mall för granskning
POST/api/v1/whatsapp/templates/syncSynkronisera mallarnas granskningsstatus

Bokningar (tillägg)

GET/api/v1/appointmentsLista bokningar
POST/api/v1/appointmentsSkapa en bokning med påminnelseschema
PUT/api/v1/appointments/{id}Uppdatera en bokning
POST/api/v1/appointments/{id}/cancelAvboka en bokning
POST/api/v1/appointments/{id}/remindSkicka en påminnelse nu

Pass (tillägg)

GET/api/v1/shiftsLista pass
POST/api/v1/shiftsSkapa ett pass
POST/api/v1/shifts/{id}/broadcastSkicka ut ett pass till personal
GET/api/v1/shifts/{id}/responsesLista svar
POST/api/v1/shifts/{id}/cancelAvboka ett pass

Automatiseringar (tillägg)

GET/api/v1/automationLista regler
POST/api/v1/automationSkapa en regel
PUT/api/v1/automation/{id}Uppdatera en regel
POST/api/v1/automation/{id}/toggleSlå på eller av en regel
GET/api/v1/automation/{id}/logsKörlogg för en regel

Analys

GET/api/v1/analytics/overviewÖversiktsstatistik för instrumentpanelen
GET/api/v1/analytics/messagingMeddelandeanalys för en period

Exempel

Skicka ett SMS

curl -X POST https://api.smessa.com/api/v1/messages \
  -H "Authorization: Bearer sf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+46701234567",
    "body": "Your appointment is tomorrow at 14:00."
  }'

Lista kontakter

curl "https://api.smessa.com/api/v1/contacts?page=1&limit=50" \
  -H "Authorization: Bearer sf_your_api_key"

Skicka en engångskod

curl -X POST https://api.smessa.com/api/v1/otp/send \
  -H "Authorization: Bearer sf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"phone_number": "+46701234567"}'

Nuvarande begränsningar

  • API-nycklar har inga scopes: varje nyckel har full åtkomst till sin arbetsyta. Skapa separata arbetsytor om du behöver isolering.
  • Ingen hastighetsbegränsning ännu - var måttfull med polling och använd paginering.
  • Inga utgående händelse-webhooks ännu; polla meddelandestatus eller använd automatiseringarnas webhook-åtgärd.