Miten tekstiviestit välitetään webhook API -päätepisteeseen?
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.