Jak přeposílat SMS na webhook API endpoint?

Návod 5 min čtení
Kopírovat odkaz Sdílet

Rychlá odpověď: Forward SMS může odesílat vaše textové zprávy na libovolný HTTP endpoint jako JSON webhook. Vytvořte v aplikaci destinaci Webhook, zadejte URL vašeho endpointu a nastavte automatizaci Zkratky. Váš endpoint obdrží POST požadavek s obsahem zprávy, odesílatelem a časovým razítkem.

Co je přeposílání SMS přes webhook?

Přeposílání SMS přes webhook automaticky odesílá vaše textové zprávy na libovolný HTTP endpoint, který spravujete. Na rozdíl od integrací specifických pro konkrétní platformy (Slack, Discord, Teams) vám webhooky poskytují úplnou kontrolu nad zpracováním zpráv. To je ideální pro vývojáře vytvářející vlastní integrace, logovací systémy nebo automatizační workflow.

Když zpráva dorazí, Forward SMS odešle POST požadavek na váš endpoint se strukturovaným JSON payloadem obsahujícím obsah zprávy, informace o odesílateli a metadata.

Proč používat webhooky

Webhooky nabízejí flexibilitu, kterou předpřipravené integrace nemohou nabídnout:

  • Vlastní automatizace: Spusťte jakýkoliv workflow při přijetí SMS - aktualizujte databáze, odesílejte notifikace, spouštějte skripty nebo integrujte s jakoukoliv službou
  • Logování dat: Ukládejte všechny příchozí zprávy do vlastní databáze pro účely compliance, analýzy nebo zálohování
  • Směrování na více služeb: Zpracovávejte zprávy vlastní logikou pro jejich směrování na různé destinace podle obsahu nebo odesílatele
  • Interní nástroje: Vytvářejte funkce poháněné SMS do vašich interních dashboardů a nástrojů
  • IoT integrace: Propojte SMS upozornění s vašimi IoT systémy, domácí automatizací nebo monitorovací infrastrukturou

Formát webhook payloadu

Když je zpráva přeposlána, váš endpoint obdrží POST požadavek s následujícím JSON payloadem:

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

Pole payloadu

| Pole | Typ | Popis | |------|-----|-------| | timestamp | string | Časové razítko ve formátu ISO 8601, kdy byla zpráva přeposlána | | content | string | Obsah textové zprávy | | sender | string | Telefonní číslo odesílatele (pokud je k dispozici) | | contact | string | Jméno kontaktu z vašeho adresáře (pokud bylo nalezeno) |

Nastavení přeposílání přes webhook

Krok 1: Stáhněte Forward SMS

Stáhněte Forward SMS z App Store.

Krok 2: Vytvořte destinaci Webhook

Otevřete aplikaci, klepněte na "Přidat destinaci" a vyberte "Webhook". Zadejte URL vašeho endpointu. URL musí být HTTPS z bezpečnostních důvodů.

Krok 3: Otestujte váš endpoint

Použijte tlačítko "Odeslat testovací zprávu" pro ověření, že váš endpoint správně přijímá webhook. Zkontrolujte logy vašeho serveru pro potvrzení, že payload dorazil.

Krok 4: Nastavte automatizaci Zkratky

Postupujte podle našeho průvodce nastavením Zkratek pro vytvoření automatizace, která spouští přeposílání zpráv.

Příklady implementace

Zde jsou příklady pro zpracování webhooku v různých jazycích:

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

Bezpečnostní aspekty

Používejte HTTPS

Vždy používejte HTTPS endpointy pro šifrování webhook payloadu při přenosu. Forward SMS vyžaduje HTTPS pro webhook URL.

Ošetřujte chyby elegantně

Váš endpoint by měl vrátit stavový kód 2xx pro potvrzení přijetí. Pokud Forward SMS obdrží chybovou odpověď, zaznamená selhání do logu.

Řešení problémů

Webhook nepřijímá zprávy

  • Zkontrolujte URL: Ujistěte se, že URL vašeho endpointu je správná a dostupná z internetu
  • Ověřte HTTPS: URL musí používat HTTPS, nikoliv HTTP
  • Zkontrolujte pravidla firewallu: Váš server musí přijímat příchozí POST požadavky
  • Otestujte endpoint: Použijte testovací tlačítko v aplikaci pro ověření konektivity

Zprávy přicházejí pomalu

  • Zkontrolujte automatizaci Zkratek: Ujistěte se, že automatizace běží bez nutnosti potvrzení
  • Obnova aplikací na pozadí: Povolte tuto funkci pro Forward SMS v Nastavení iOS
  • Problémy se sítí: Váš iPhone i server potřebují stabilní internetové připojení

Payload se neparsuje

  • Content-Type: Požadavek používá Content-Type: application/json
  • JSON parsování: Ujistěte se, že váš server správně parsuje JSON tělo
  • Kódování znaků: Zprávy jsou kódovány v UTF-8

Často kladené otázky

Mohu přeposílat na více webhook endpointů?

Ano, vytvořte v Forward SMS více destinací Webhook. Každá destinace může mít jinou URL endpointu a všechny budou přijímat přeposílané zprávy.

Co se stane, když je můj endpoint nedostupný?

Pokud váš endpoint vrátí chybu nebo je nedostupný, přeposílání zprávy selže. Aplikace zaznamenává tato selhání pro účely ladění. Zvažte implementaci záložního systému nebo monitoringu.

Existuje limit rychlosti pro webhooky?

Forward SMS nemá žádný umělý limit rychlosti. Zprávy jsou přeposílány tak rychle, jak přicházejí a jak je váš endpoint dokáže zpracovat.

Mohu filtrovat, které zprávy se přeposílají?

Momentálně jsou přeposílány všechny zprávy, které spustí automatizaci Zkratek. Můžete implementovat filtrační logiku ve vašem webhook endpointu pro ignorování nechtěných zpráv.

Mohu použít HTTP místo HTTPS?

Ne, z bezpečnostních důvodů Forward SMS vyžaduje HTTPS endpointy. To zajišťuje, že vaše data zpráv jsou při přenosu šifrována.

Ikona Forward SMS

Forward SMS

Automatické přeposílání SMS na e-mail, Slack, Teams a Discord

Stáhnout v App Store