Hoe verstuur je SMS naar een webhook API-eindpunt?

Gids 5 min leestijd
Kopieer link Delen

Snel antwoord: Forward SMS kan je tekstberichten naar elk HTTP-eindpunt versturen als een JSON webhook. Maak een Webhook-bestemming aan in de app, voer je eindpunt-URL in en stel een Shortcuts-automatisering in. Je eindpunt ontvangt een POST-verzoek met de berichtinhoud, afzender en tijdstempel.

Wat is Webhook SMS Doorsturen?

Webhook SMS doorsturen stuurt je tekstberichten automatisch door naar elk HTTP-eindpunt dat je beheert. In tegenstelling tot platformspecifieke integraties (Slack, Discord, Teams), geven webhooks je volledige controle over hoe berichten worden verwerkt. Dit is ideaal voor ontwikkelaars die aangepaste integraties, logsystemen of automatiseringsworkflows bouwen.

Wanneer een bericht binnenkomt, stuurt Forward SMS een POST-verzoek naar je eindpunt met een gestructureerde JSON-payload die de berichtinhoud, afzenderinformatie en metadata bevat.

Waarom Webhooks Gebruiken

Webhooks bieden flexibiliteit die vooraf gebouwde integraties niet kunnen evenaren:

  • Aangepaste automatisering: Activeer elke workflow wanneer je een SMS ontvangt - update databases, verstuur notificaties, voer scripts uit of integreer met elke dienst
  • Gegevensregistratie: Sla alle inkomende berichten op in je eigen database voor compliance, analyse of back-updoeleinden
  • Multi-service routering: Verwerk berichten met je eigen logica om ze naar verschillende bestemmingen te routeren op basis van inhoud of afzender
  • Interne tools: Bouw SMS-gestuurde functies in je interne dashboards en tools
  • IoT-integratie: Verbind SMS-meldingen met je IoT-systemen, huisautomatisering of monitoringinfrastructuur

Webhook Payload Formaat

Wanneer een bericht wordt doorgestuurd, ontvangt je eindpunt een POST-verzoek met de volgende JSON-payload:

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

Payload Velden

| Veld | Type | Beschrijving | |------|------|--------------| | timestamp | string | ISO 8601 geformatteerde tijdstempel wanneer het bericht is doorgestuurd | | content | string | De tekstberichtinhoud | | sender | string | Telefoonnummer van de afzender (indien beschikbaar) | | contact | string | Contactnaam uit je adresboek (indien gevonden) |

Webhook Doorsturen Instellen

Stap 1: Download Forward SMS

Download Forward SMS uit de App Store.

Stap 2: Maak een Webhook-bestemming Aan

Open de app, tik op "Bestemming toevoegen" en selecteer "Webhook". Voer je eindpunt-URL in. De URL moet HTTPS zijn voor de veiligheid.

Stap 3: Test Je Eindpunt

Gebruik de knop "Testbericht versturen" om te verifiëren dat je eindpunt de webhook correct ontvangt. Controleer je serverlogs om te bevestigen dat de payload is aangekomen.

Stap 4: Stel Shortcuts-automatisering In

Volg onze Shortcuts installatiegids om de automatisering te maken die het doorsturen van berichten activeert.

Implementatievoorbeelden

Hier zijn voorbeelden voor het afhandelen van de webhook in verschillende talen:

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

Beveiligingsoverwegingen

Gebruik HTTPS

Gebruik altijd HTTPS-eindpunten om de webhook-payload tijdens verzending te versleutelen. Forward SMS vereist HTTPS voor webhook-URL's.

Handel Fouten Netjes Af

Je eindpunt moet een 2xx-statuscode retourneren om ontvangst te bevestigen. Als Forward SMS een foutrespons ontvangt, wordt de mislukking gelogd.

Probleemoplossing

Webhook Ontvangt Geen Berichten

  • Controleer de URL: Zorg ervoor dat je eindpunt-URL correct en toegankelijk is vanaf het internet
  • Verifieer HTTPS: De URL moet HTTPS gebruiken, niet HTTP
  • Controleer firewallregels: Je server moet inkomende POST-verzoeken accepteren
  • Test het eindpunt: Gebruik de testknop in de app om de connectiviteit te verifiëren

Berichten Komen Langzaam Aan

  • Controleer Shortcuts-automatisering: Zorg ervoor dat de automatisering draait zonder bevestiging te vragen
  • Achtergrond App Vernieuwen: Schakel dit in voor Forward SMS in iOS-instellingen
  • Netwerkproblemen: Zowel je iPhone als server hebben stabiele internetverbindingen nodig

Payload Wordt Niet Geparsed

  • Content-Type: Het verzoek gebruikt Content-Type: application/json
  • JSON parsing: Zorg ervoor dat je server de JSON-body correct parseert
  • Tekencodering: Berichten zijn UTF-8 gecodeerd

Veelgestelde Vragen

Kan ik naar meerdere webhook-eindpunten doorsturen?

Ja, maak meerdere Webhook-bestemmingen aan in Forward SMS. Elke bestemming kan een andere eindpunt-URL hebben, en allemaal zullen ze de doorgestuurde berichten ontvangen.

Wat gebeurt er als mijn eindpunt niet beschikbaar is?

Als je eindpunt een fout retourneert of onbereikbaar is, zal het doorsturen van berichten mislukken. De app logt deze mislukkingen voor debugging. Overweeg een terugvaloptie of monitoringsysteem te implementeren.

Is er een snelheidslimiet op webhooks?

Er is geen kunstmatige snelheidslimiet van Forward SMS. Berichten worden zo snel doorgestuurd als ze binnenkomen en je eindpunt ze kan verwerken.

Kan ik filteren welke berichten worden doorgestuurd?

Momenteel worden alle berichten die de Shortcuts-automatisering activeren doorgestuurd. Je kunt filterlogica implementeren in je webhook-eindpunt om ongewenste berichten te negeren.

Kan ik HTTP gebruiken in plaats van HTTPS?

Nee, om veiligheidsredenen vereist Forward SMS HTTPS-eindpunten. Dit zorgt ervoor dat je berichtgegevens versleuteld zijn tijdens verzending.

Forward SMS-icoon

Forward SMS

Stuur sms'jes automatisch door naar e-mail, Slack, Teams en Discord

Download in de App Store