Hoe verstuur je SMS naar een webhook API-eindpunt?
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.