Miten tekstiviestit välitetään webhook API -päätepisteeseen?

Opas 4 min lukuaika
Kopioi linkki Jaa

Nopea vastaus: Forward SMS voi lähettää tekstiviestisi mihin tahansa HTTP-päätepisteeseen JSON webhook -muodossa. Luo Webhook-kohde sovelluksessa, syötä päätepisteen URL-osoite ja määritä Shortcuts-automaatio. Päätepisteesi vastaanottaa POST-pyynnön, joka sisältää viestin sisällön, lähettäjän ja aikaleiman.

Mikä on Webhook SMS -välitys?

Webhook SMS -välitys lähettää tekstiviestisi automaattisesti mihin tahansa hallitsemaasi HTTP-päätepisteeseen. Toisin kuin alustakohtaiset integraatiot (Slack, Discord, Teams), webhookit antavat sinulle täyden hallinnan viestien käsittelyyn. Tämä on ihanteellinen kehittäjille, jotka rakentavat mukautettuja integraatioita, lokijärjestelmiä tai automaatiotyönkulkuja.

Kun viesti saapuu, Forward SMS lähettää POST-pyynnön päätepisteeseesi strukturoidulla JSON-kuormalla, joka sisältää viestin sisällön, lähettäjätiedot ja metatiedot.

Miksi Käyttää Webhookeja

Webhookit tarjoavat joustavuutta, jota valmiit integraatiot eivät voi tarjota:

  • Mukautettu automaatio: Käynnistä mikä tahansa työnkulku, kun vastaanotat tekstiviestin - päivitä tietokantoja, lähetä ilmoituksia, suorita skriptejä tai integroi mihin tahansa palveluun
  • Datan kirjaus: Tallenna kaikki saapuvat viestit omaan tietokantaasi vaatimustenmukaisuutta, analytiikkaa tai varmuuskopiointia varten
  • Monipalvelureititys: Käsittele viestit omalla logiikallasi reitittääksesi ne eri kohteisiin sisällön tai lähettäjän perusteella
  • Sisäiset työkalut: Rakenna tekstiviestipohjaisia ominaisuuksia sisäisiin koontinäyttöihisi ja työkaluihisi
  • IoT-integraatio: Yhdistä tekstiviestihälytykset IoT-järjestelmiisi, kotiautomaatioon tai valvontainfrastruktuuriin

Webhook Payload -muoto

Kun viesti välitetään, päätepisteesi vastaanottaa POST-pyynnön seuraavalla JSON-kuormalla:

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

Payload-kentät

| Kenttä | Tyyppi | Kuvaus | |--------|--------|--------| | timestamp | string | ISO 8601 -muotoinen aikaleima viestin välityshetkestä | | content | string | Tekstiviestin sisältö | | sender | string | Lähettäjän puhelinnumero (jos saatavilla) | | contact | string | Yhteystiedon nimi osoitekirjastasi (jos löytyy) |

Webhook-välityksen Määrittäminen

Vaihe 1: Lataa Forward SMS

Lataa Forward SMS App Storesta.

Vaihe 2: Luo Webhook-kohde

Avaa sovellus, napauta "Lisää kohde" ja valitse "Webhook". Syötä päätepisteesi URL-osoite. URL-osoitteen on oltava HTTPS turvallisuussyistä.

Vaihe 3: Testaa Päätepisteesi

Käytä "Lähetä testiviesti" -painiketta varmistaaksesi, että päätepisteesi vastaanottaa webhookin oikein. Tarkista palvelimesi lokit vahvistaaksesi, että payload saapui.

Vaihe 4: Määritä Shortcuts-automaatio

Seuraa Shortcuts-asennusopastamme luodaksesi automaation, joka käynnistää viestien välityksen.

Toteutusesimerkkejä

Tässä on esimerkkejä webhookin käsittelystä eri ohjelmointikielillä:

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

Turvallisuusnäkökohdat

Käytä HTTPS:ää

Käytä aina HTTPS-päätepisteitä salataksesi webhook-payloadin siirron aikana. Forward SMS vaatii HTTPS:n webhook-URL-osoitteille.

Käsittele Virheet Siististi

Päätepisteesi tulisi palauttaa 2xx-tilakoodi kuittauksena vastaanotosta. Jos Forward SMS vastaanottaa virhevastauksen, se kirjaa epäonnistumisen lokiin.

Vianmääritys

Webhook Ei Vastaanota Viestejä

  • Tarkista URL-osoite: Varmista, että päätepisteen URL-osoite on oikein ja saavutettavissa internetistä
  • Vahvista HTTPS: URL-osoitteen on käytettävä HTTPS:ää, ei HTTP:tä
  • Tarkista palomuurisäännöt: Palvelimesi on hyväksyttävä saapuvat POST-pyynnöt
  • Testaa päätepiste: Käytä sovelluksen testipainiketta yhteyden varmistamiseen

Viestit Saapuvat Hitaasti

  • Tarkista Shortcuts-automaatio: Varmista, että automaatio toimii ilman vahvistuksen pyytämistä
  • Taustasovellusten päivitys: Ota tämä käyttöön Forward SMS:lle iOS-asetuksissa
  • Verkko-ongelmat: Sekä iPhonesi että palvelimesi tarvitsevat vakaat internet-yhteydet

Payloadia Ei Jäsennetä

  • Content-Type: Pyyntö käyttää Content-Type: application/json
  • JSON-jäsennys: Varmista, että palvelimesi jäsentää JSON-rungon oikein
  • Merkistökoodaus: Viestit ovat UTF-8-koodattuja

Usein Kysytyt Kysymykset

Voinko välittää useisiin webhook-päätepisteisiin?

Kyllä, luo useita Webhook-kohteita Forward SMS:ssä. Jokaisella kohteella voi olla eri päätepisteen URL-osoite, ja kaikki vastaanottavat välitetyt viestit.

Mitä tapahtuu, jos päätepisteeni on alhaalla?

Jos päätepisteesi palauttaa virheen tai ei ole tavoitettavissa, viestin välitys epäonnistuu. Sovellus kirjaa nämä epäonnistumiset lokiin vianmääritystä varten. Harkitse varamekanismin tai valvontajärjestelmän toteuttamista.

Onko webhookeilla nopeusrajoitusta?

Forward SMS:ssä ei ole keinotekoista nopeusrajoitusta. Viestit välitetään niin nopeasti kuin ne saapuvat ja päätepisteesi pystyy käsittelemään niitä.

Voinko suodattaa, mitkä viestit välitetään?

Tällä hetkellä kaikki Shortcuts-automaation käynnistävät viestit välitetään. Voit toteuttaa suodatuslogiikan webhook-päätepisteessäsi ei-toivottujen viestien ohittamiseksi.

Voinko käyttää HTTP:tä HTTPS:n sijaan?

Ei, turvallisuussyistä Forward SMS vaatii HTTPS-päätepisteet. Tämä varmistaa, että viestitietosi on salattu siirron aikana.

Forward SMS -ikoni

Forward SMS

Lähetä SMS automaattisesti sähköpostiin, Slackiin, Teamsiin tai Discordiin

Lataa App Storesta