Hvordan videresender man SMS til et webhook API-endpoint?

Guide 5 min. læsetid
Kopiér link Del

Hurtigt svar: Forward SMS kan sende dine tekstbeskeder til ethvert HTTP-endpoint som en JSON webhook. Opret en Webhook-destination i appen, indtast din endpoint-URL, og opsæt en Shortcuts-automatisering. Dit endpoint modtager en POST-anmodning med beskedindholdet, afsender og tidsstempel.

Hvad er Webhook SMS-videresendelse?

Webhook SMS-videresendelse sender automatisk dine tekstbeskeder til ethvert HTTP-endpoint, du kontrollerer. I modsætning til platformspecifikke integrationer (Slack, Discord, Teams) giver webhooks dig fuld kontrol over, hvordan beskeder behandles. Dette er ideelt for udviklere, der bygger tilpassede integrationer, logningssystemer eller automatiseringsworkflows.

Når en besked ankommer, sender Forward SMS en POST-anmodning til dit endpoint med en struktureret JSON-payload, der indeholder beskedindholdet, afsenderoplysninger og metadata.

Hvorfor Bruge Webhooks

Webhooks tilbyder fleksibilitet, som forudbyggede integrationer ikke kan matche:

  • Tilpasset automatisering: Udløs enhver workflow, når du modtager en SMS - opdater databaser, send notifikationer, kør scripts eller integrer med enhver tjeneste
  • Datalogning: Gem alle indkommende beskeder i din egen database til compliance, analyse eller backup-formål
  • Multi-service routing: Behandl beskeder med din egen logik for at dirigere dem til forskellige destinationer baseret på indhold eller afsender
  • Interne værktøjer: Byg SMS-drevne funktioner ind i dine interne dashboards og værktøjer
  • IoT-integration: Forbind SMS-advarsler til dine IoT-systemer, hjemmeautomatisering eller overvågningsinfrastruktur

Webhook Payload Format

Når en besked videresendes, modtager dit endpoint en POST-anmodning med følgende JSON-payload:

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

Payload Felter

| Felt | Type | Beskrivelse | |------|------|-------------| | timestamp | string | ISO 8601-formateret tidsstempel for, hvornår beskeden blev videresendt | | content | string | Tekstbeskedens indhold | | sender | string | Afsenderens telefonnummer (hvis tilgængeligt) | | contact | string | Kontaktnavn fra din adressebog (hvis matchet) |

Opsætning af Webhook-videresendelse

Trin 1: Download Forward SMS

Download Forward SMS fra App Store.

Trin 2: Opret en Webhook-destination

Åbn appen, tryk på "Tilføj destination", og vælg "Webhook". Indtast din endpoint-URL. URL'en skal være HTTPS af sikkerhedsmæssige årsager.

Trin 3: Test Dit Endpoint

Brug knappen "Send testbesked" for at verificere, at dit endpoint modtager webhook'en korrekt. Tjek dine serverlogs for at bekræfte, at payload'en er ankommet.

Trin 4: Opsæt Shortcuts-automatisering

Følg vores Shortcuts opsætningsguide for at oprette automatiseringen, der udløser beskedvideresendelse.

Implementeringseksempler

Her er eksempler på håndtering af webhook'en i forskellige sprog:

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

Sikkerhedsovervejelser

Brug HTTPS

Brug altid HTTPS-endpoints for at kryptere webhook-payload'en under transport. Forward SMS kræver HTTPS for webhook-URL'er.

Håndter Fejl Elegant

Dit endpoint bør returnere en 2xx-statuskode for at bekræfte modtagelse. Hvis Forward SMS modtager et fejlsvar, logges fejlen.

Fejlfinding

Webhook Modtager Ikke Beskeder

  • Tjek URL'en: Sørg for, at din endpoint-URL er korrekt og tilgængelig fra internettet
  • Verificer HTTPS: URL'en skal bruge HTTPS, ikke HTTP
  • Tjek firewallregler: Din server skal acceptere indkommende POST-anmodninger
  • Test endpointet: Brug testknappen i appen for at verificere forbindelsen

Beskeder Ankommer Langsomt

  • Tjek Shortcuts-automatisering: Sørg for, at automatiseringen kører uden at kræve bekræftelse
  • Baggrundsappopdatering: Aktiver dette for Forward SMS i iOS-indstillinger
  • Netværksproblemer: Både din iPhone og server har brug for stabile internetforbindelser

Payload Parses Ikke

  • Content-Type: Anmodningen bruger Content-Type: application/json
  • JSON-parsing: Sørg for, at din server korrekt parser JSON-body'en
  • Tegnkodning: Beskeder er UTF-8-kodet

Ofte Stillede Spørgsmål

Kan jeg videresende til flere webhook-endpoints?

Ja, opret flere Webhook-destinationer i Forward SMS. Hver destination kan have en forskellig endpoint-URL, og alle vil modtage de videresendte beskeder.

Hvad sker der, hvis mit endpoint er nede?

Hvis dit endpoint returnerer en fejl eller er utilgængeligt, vil beskedvideresendelsen mislykkes. Appen logger disse fejl til fejlfinding. Overvej at implementere en fallback eller et overvågningssystem.

Er der en hastighedsbegrænsning på webhooks?

Der er ingen kunstig hastighedsbegrænsning fra Forward SMS. Beskeder videresendes så hurtigt, som de ankommer, og dit endpoint kan behandle dem.

Kan jeg filtrere, hvilke beskeder der videresendes?

I øjeblikket videresendes alle beskeder, der udløser Shortcuts-automatiseringen. Du kan implementere filtreringslogik i dit webhook-endpoint for at ignorere uønskede beskeder.

Kan jeg bruge HTTP i stedet for HTTPS?

Nej, af sikkerhedsmæssige årsager kræver Forward SMS HTTPS-endpoints. Dette sikrer, at dine beskeddata er krypteret under transport.

Forward SMS-ikon

Forward SMS

Videresend SMS automatisk til e-mail, Slack, Teams eller Discord

Download i App Store