Seitentyp: docs
SMS senden
Versenden Sie Produktions-SMS während Unterdrückungs-, Ausgaben-, Absender- und Anbieterprüfungen.
Direkte Antwort
Versenden Sie Produktions-SMS während Unterdrückungs-, Ausgaben-, Absender- und Anbieterprüfungen.
Seiteninhalt
Ausgehende Sendungen durchlaufen denselben Sicherheitspfad, unabhängig davon, ob sie von der API, dem Message Composer, dem Kampagnen-Builder oder der Workflow-Engine stammen.
## Beispiele anfordern
### sperren
```bash
Locken https://api.texttree.ai/api/v1/messages \
-H „Autorisierung: Inhaber $TEXTREE_ACCESS_TOKEN“ \
-H „Inhaltstyp: application/json“ \
-d '{
„Telefonnummer“: „+15551234567“,
„body“: „Ihr Termin ist morgen um 9 Uhr.“
„Metadaten“: {
„workflow“: „Terminierung“
}
}'
```
### JavaScript
```js
const Antwort = Warten auf fetch(" https://api.texttree.ai/api/v1/messages", {
Methode: „POST“,
Referenzen: {
Autorisierung: `Bearer ${process.env.TEXTREE_ACCESS_TOKEN}`,
„Content-Type“: „application/json“,
},
body: JSON.stringify({
Telefonnummer: „+15551234567“,
body: „Ihr Termin ist um morgen 9 Uhr.“
Metadaten: { Workflow: "Terminerinnerung" },
}),
});
const result = Warten auf Antwort.json();
```
### Python
```py
sagte importiere
Importanfragen
result = request.post(
" https://api.texttree.ai/api/v1/messages",
headers={"Authorization": f"Bearer {os.environ['TEXTREE_ACCESS_TOKEN']} "},
json={
„Telefonnummer“: „+15551234567“,
„body“: „Ihr Termin ist morgen um 9 Uhr.“
„Metadaten“: {"workflow": "appointment-reminder"} ,
},
Zeitüberschreitung=10,
).json()
```
### Elixier
```Elixier
Mix.install([:req])
Ergebnis =
Erforderlicher Beitrag!(
" https://api.texttree.ai/api/v1/messages",
Autor: {:bearer, System.fetch_env!("TEXTREE_ACCESS_TOKEN")} ,
json: %{
phone_number: "+15551234567",
body: "Your appointment is tomorrow at 9 AM.",
metadata: %{workflow: "appointment-reminder"}
}
).Körper
```
Jede Sendung wird auf Arbeitsbereichslöschungen, Ausgabenlimits, Hauptbuchreserven und Verfügbarkeit überprüft
des Absenders, Validierung der Nutzlast und Vorbereitung des Lieferanten vor der Ausführung mit dem Lieferanten. Kampagnensendungen
Sie prüfen auch auf kampagnenspezifische Löschungen, bevor Sie eine TextTree-Nachricht in die Warteschlange stellen, und ggf. Nacht einmal
Fügen Sie eine Kampagnenunterdrückung vor dem endgültigen Versand hinzu.
Das schnelle Übermittlungsformular und die Übermittlungsseite des Panels verwenden denselben Warteschlangenpfad wie
die API. Betreiber können in der App eine verbundene Marken-Absendernummer auswählen oder
Belassen Sie die Absenderauswahl auf „Automatisch“. Ein ausgewählter Absender muss mit dem verbundenen bleiben
Arbeitsbereich, wenn der Arbeiter die Nachricht versendet; Falls nicht verfügbar, wird sterben
Der Job endet mit `sender_number_unavailable` und greift nicht auf einen anderen zurück
Abwesend.
Die Idempotenz der Nachricht umfasst den ausgewählten Absender. Ein `idempotency_key` wiederverwenden
mit einem anderen Empfänger, Körper, Kosten oder Absender ist ein Idempotenzkonflikt.
## Fehlerverhalten
Wenn ein Versand blockiert wird, gibt die API einen strukturierten Fehler zurück und das Nachrichtenprotokoll zeigt dasselbe an
Grund auf der Zeitleiste.
```json
{
„Fehler“: {
„code“: „workspace_suppressed“,
„message“: „Empfänger wird für diesen Arbeitsbereich unterdrückt.“
„fix“: „Respektieren Sie die Unterdrückung oder entfernen Sie sie erst, nachdem Ihr Compliance-Prozess SMS wieder zulässt.“
}
}
```