Hur vidarebefordrar man SMS till ett webhook API-slutpunkt?

Guide 5 min lästid
Kopiera länk Dela

Snabbt svar: Forward SMS kan skicka dina textmeddelanden till valfri HTTP-slutpunkt som en JSON webhook. Skapa en Webhook-destination i appen, ange din slutpunkts-URL och konfigurera en Shortcuts-automatisering. Din slutpunkt tar emot en POST-förfrågan med meddelandeinnehåll, avsändare och tidsstämpel.

Vad är Webhook SMS-vidarebefordran?

Webhook SMS-vidarebefordran skickar automatiskt dina textmeddelanden till valfri HTTP-slutpunkt som du kontrollerar. Till skillnad från plattformsspecifika integrationer (Slack, Discord, Teams) ger webhooks dig fullständig kontroll över hur meddelanden bearbetas. Detta är idealiskt för utvecklare som bygger anpassade integrationer, loggningssystem eller automatiseringsarbetsflöden.

När ett meddelande anländer skickar Forward SMS en POST-förfrågan till din slutpunkt med en strukturerad JSON-payload som innehåller meddelandeinnehåll, avsändarinformation och metadata.

Varför Använda Webhooks

Webhooks erbjuder flexibilitet som förbyggda integrationer inte kan matcha:

  • Anpassad automatisering: Utlös valfritt arbetsflöde när du tar emot ett SMS - uppdatera databaser, skicka notifikationer, kör skript eller integrera med valfri tjänst
  • Dataloggning: Lagra alla inkommande meddelanden i din egen databas för efterlevnad, analys eller säkerhetskopieringsändamål
  • Multi-service routing: Bearbeta meddelanden med din egen logik för att dirigera dem till olika destinationer baserat på innehåll eller avsändare
  • Interna verktyg: Bygg SMS-drivna funktioner i dina interna instrumentpaneler och verktyg
  • IoT-integration: Anslut SMS-varningar till dina IoT-system, hemautomatisering eller övervakningsinfrastruktur

Webhook Payload Format

När ett meddelande vidarebefordras tar din slutpunkt emot en POST-förfrågan med följande JSON-payload:

{
  "timestamp": "2025-01-31T14:30:00Z",
  "content": "Your verification code is 123456",
  "sender": "+1234567890",
  "contact": "Bank of Example"
}

Payload Fält

| Fält | Typ | Beskrivning | |------|-----|-------------| | timestamp | string | ISO 8601-formaterad tidsstämpel för när meddelandet vidarebefordrades | | content | string | Textmeddelandets innehåll | | sender | string | Avsändarens telefonnummer (om tillgängligt) | | contact | string | Kontaktnamn från din adressbok (om matchat) |

Konfigurera Webhook-vidarebefordran

Steg 1: Ladda ner Forward SMS

Ladda ner Forward SMS från App Store.

Steg 2: Skapa en Webhook-destination

Öppna appen, tryck på "Lägg till destination" och välj "Webhook". Ange din slutpunkts-URL. URL:en måste vara HTTPS av säkerhetsskäl.

Steg 3: Testa Din Slutpunkt

Använd knappen "Skicka testmeddelande" för att verifiera att din slutpunkt tar emot webhook:en korrekt. Kontrollera dina serverloggar för att bekräfta att payload:en anlänt.

Steg 4: Konfigurera Shortcuts-automatisering

Följ vår Shortcuts-konfigurationsguide för att skapa automatiseringen som utlöser meddelandevidarebefordran.

Implementeringsexempel

Här är exempel på hur du hanterar webhook:en i olika språk:

Node.js (Express)

const express = require('express');
const app = express();

app.use(express.json());

app.post('/webhook/sms', (req, res) => {
  const { timestamp, content, sender, contact } = req.body;

  console.log(`Received SMS from ${sender}: ${content}`);

  // Process the message (save to database, trigger automation, etc.)

  res.status(200).json({ received: true });
});

app.listen(3000);

Python (Flask)

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/webhook/sms', methods=['POST'])
def handle_sms():
    data = request.json

    sender = data['sender']
    content = data['content']

    print(f"Received SMS from {sender}: {content}")

    # Process the message

    return jsonify({'received': True}), 200

if __name__ == '__main__':
    app.run(port=3000)

PHP

<?php
$payload = json_decode(file_get_contents('php://input'), true);

$sender = $payload['sender'];
$content = $payload['content'];
$timestamp = $payload['timestamp'];

error_log("Received SMS from $sender: $content");

// Process the message

http_response_code(200);
echo json_encode(['received' => true]);
?>

Ruby (Sinatra)

require 'sinatra'
require 'json'

post '/webhook/sms' do
  payload = JSON.parse(request.body.read)

  sender = payload['sender']
  content = payload['content']

  puts "Received SMS from #{sender}: #{content}"

  # Process the message

  content_type :json
  { received: true }.to_json
end

Säkerhetsöverväganden

Använd HTTPS

Använd alltid HTTPS-slutpunkter för att kryptera webhook-payload:en under transport. Forward SMS kräver HTTPS för webhook-URL:er.

Hantera Fel Elegant

Din slutpunkt bör returnera en 2xx-statuskod för att bekräfta mottagande. Om Forward SMS tar emot ett felsvar loggas felet.

Felsökning

Webhook Tar Inte Emot Meddelanden

  • Kontrollera URL:en: Se till att din slutpunkts-URL är korrekt och tillgänglig från internet
  • Verifiera HTTPS: URL:en måste använda HTTPS, inte HTTP
  • Kontrollera brandväggsregler: Din server måste acceptera inkommande POST-förfrågningar
  • Testa slutpunkten: Använd testknappen i appen för att verifiera anslutningen

Meddelanden Anländer Långsamt

  • Kontrollera Shortcuts-automatisering: Se till att automatiseringen körs utan att kräva bekräftelse
  • Bakgrundsappuppdatering: Aktivera detta för Forward SMS i iOS-inställningar
  • Nätverksproblem: Både din iPhone och server behöver stabila internetanslutningar

Payload Parsas Inte

  • Content-Type: Förfrågan använder Content-Type: application/json
  • JSON-parsing: Se till att din server korrekt parsar JSON-kroppen
  • Teckenkodning: Meddelanden är UTF-8-kodade

Vanliga Frågor

Kan jag vidarebefordra till flera webhook-slutpunkter?

Ja, skapa flera Webhook-destinationer i Forward SMS. Varje destination kan ha en annan slutpunkts-URL, och alla kommer att ta emot de vidarebefordrade meddelandena.

Vad händer om min slutpunkt är nere?

Om din slutpunkt returnerar ett fel eller är otillgänglig kommer meddelandevidarebefordran att misslyckas. Appen loggar dessa fel för felsökning. Överväg att implementera en reservlösning eller övervakningssystem.

Finns det en hastighetsbegränsning på webhooks?

Det finns ingen artificiell hastighetsbegränsning från Forward SMS. Meddelanden vidarebefordras så snabbt som de anländer och din slutpunkt kan bearbeta dem.

Kan jag filtrera vilka meddelanden som vidarebefordras?

För närvarande vidarebefordras alla meddelanden som utlöser Shortcuts-automatiseringen. Du kan implementera filtreringslogik i din webhook-slutpunkt för att ignorera oönskade meddelanden.

Kan jag använda HTTP istället för HTTPS?

Nej, av säkerhetsskäl kräver Forward SMS HTTPS-slutpunkter. Detta säkerställer att din meddelandedata är krypterad under transport.

Forward SMS-ikon

Forward SMS

Vidarebefordra SMS automatiskt till e-post, Slack, Teams eller Discord

Ladda ned i App Store