Kom igång
För att kunna följa guiden behöver du följande:
- Ett konto på 46elks Slack kanal (eller någon annan Slack kanal såklart).
- Ett 46elks konto.
- Dina API-uppgifter.
- Ett virtuellt telefonnummer.
- En server att köra Python på.
Skicka SMS med Python från servern
Om du inte har tillgång till en server att köra Python på, så kan du låna vår server. Skicka ett SMS med ditt förnamn till +46766865445 så får du ett inlogg på SMS:
Logga in på servern
- Logga in på servern, antingen vår server eller din egen, vi visar med vår server som exempel nedan.
- Byt ut
username
till det användarnamn som du fått i SMS:et. - Använd lösenordet som du fått i SMS:et. Så ska du vara inloggad nu 👏🏼
Skicka SMS
- Skapa din Python fil, ex
nano send-sms.py.
- Kopiera nedan och klistra in i din fil.
CTRL+X
och senY
för att spara din fil.- För att köra ditt Python script nu, kör
python send-sms.py
på din Terminal. - Om allt funkade så ska du nu ha fått
Response [200]
som svar.
Ställ in Slack app och skapa en webhook
- Gå in på 46elks Slack kanal.
- Skapa en Slack app.
- På din Slack kanal, gå till "Apps" sektionen och skapa en ny Slack app.
- Namnge den och associera den med rätt kanal, ex 46elks.
- Lägg till en webhook integration i din app.
- I inställningarna på din Slack app, navigera till "Incoming Webhooks".
- Aktivera "Incoming Webhooks" om den inte redan är aktiverad.
- Välj "Add a new webhook to Workspace".
- Välj en kanal att få dina SMS till.
- Välj den kanal som du vill få SMS:en till. Välj en existerande eller skapa en ny.
- Klicka på "Allow" för att tillåta din app att skicka nya meddelanden i kanalen.
- Kopiera URL:en till din webhook och spara på ett smart ställe. Vi kommer behöva den lite senare.
Skapa en Flask app och Python koden
Vi skapar en Flask app för att få en virtuell miljö.
python3 -m venv slack_sms
skapar en isolerad Python miljö som heter sms_slack. Används för att hantera specifika projekt beroenden.. slack_sms/bin/activate
aktiverar miljön. För att stoppa, kör:deactivate
.pip install requests
installera Pythonbiblioteket Requests för att kunna göra HTTP anrop.pip install Flask
installerar Flask, ett web ramverk för att skapa din web applikation.
Skriv vår Python kod
Skapa en ny Python fil, ex sms-slack.py
så ska vi koda vår integration.
- Importera Flask.
- Längst upp i filen
import requests
- Sätt upp en ny väg. Vi skapar en endpoint på /incoming-sms som lyssnar efter HTTP POST anrop.
- Hantera inkommande SMS och spara dem i en variabel som vi ska använda senare.
- Definera vår Slack webhook URL som vi sparat tidigare.
- Skapa en payload för Slack (det som kommer skickas vidare till Slack).
- Vidarebefodra SMS:et till Slack.
- Hantera svaret för att kolla om det lyckats eller felsök.
- Starta din Flask app. Ersätt
5000
med ditt eget portnummer från dina inloggningsuppgifter på servern.
Konfiguera ditt 46elks telefonnummer
- Gå till 46elks dashboard och klicka på "Numbers".
- Bredvid det nummer som du använder, klicka på "Edit".
- Nu ändrar vi vår sms_url. Det blir vår webhook + den endpoint som vi skapade i vår Flask app. Ex såhär
http://64.225.108.133:5000/incoming-sms
. Ersätt5000
med ditt portnummer.
Dags att testa om det funkar
Starta Flask appen
Kör detta i terminalen för att se om det funkar.
- Starta Flask appen. Ersätt
5000
med ditt portnummer. - Besök din Flask wepp-app. Ersätt
5000
med ditt portnummer.
Skicka ett SMS till ditt virtuella nummer - Så testar vi om det kommer till din Slack kanal 🚀
TL;DR versionen av guiden
Du behöver göra nedan steg och sedan finns hela koden att kopiera nedan för att köra på din server.
Skapa en Slack app och webhook
- Gå in på 46elks Slack kanal.
- Skapa en Slack app.
- Lägg till en webhook integration i din app.
- Välj en kanal att få dina SMS till.
Skicka SMS till Slack
- Skapa en Flask app.
- Skapa en Python fil, ex
sms-slack.py
Konfiguera ditt nummer
- Ändra sms_urlen på ditt virtuella nummer till webhook URLen + endpointen i din Flask app.
Skicka ett SMS till ditt virtuella nummer - Så testar vi om det kommer till din Slack kanal 🚀
Vid frågor eller funderingar kan du alltid höra av dig till vår support.