SMS-API-Dokumentation

API-Oberfläche Dokumentation
OpenAPI / Swagger Interaktive Dokumentation · OpenAPI-Schema

REST API zum Senden von SMS, Verwalten von SIMs und Geräten sowie HTTP-Webhooks. Kanonisches Präfix: /api/ (keine Version im Pfad).

Interaktive OpenAPI: /api/docs/ · Schema: /api/schema/.

Bevor Sie die API verwenden können, melden Sie sich an und erstellen Sie ein Zugriffstoken, und ersetzen Sie dann YOUR_ACCESS_TOKEN.

Optional: sim_card weglassen, um Ihre primäre SIM zu verwenden; wenn diese nicht verfügbar ist, wird die nächste SIM nach Routenpriorität als Fallback verwendet. MCP-Agent

Antworten & Fehler

Erfolgreiche JSON-Antworten verwenden 200/201. Fehler verwenden einen DRF-Stil-Body:

{
  "detail": "Error message"
}
/* or field errors: */
{
  "to_number": ["This field is required."]
}
StatusWann
400Validierungsfehler
401Fehlendes oder ungültiges Zugriffstoken / JWT
403Authentifiziert, aber nicht erlaubt
404Unbekannte ID
429Ratenlimit / Kontingent
502Webhook-Testlieferung fehlgeschlagen (remote Ziel)

Auth-Fehler (curl)

curl -i \
    --header 'Accept: application/json' \
    --request GET https://www.tincansmartphone.com/api/sim-cards/
# → 401 {"detail":"Authentication credentials were not provided."}

Liste der SIM-Karten

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.com/api/sim-cards/

SMS senden

curl \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --data '{"sim_card":"SIM_CARD_ID", "to_number":"<RECEIVER_PHONE_NUMBER>", "text": "Hello!"}' \
    --request POST https://www.tincansmartphone.com/api/messages/outbound/

Liste der eingehenden SMS

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.com/api/messages/inbound/

Geräte-Telemetrie

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.com/api/devices/<DEVICE_ID>/telemetry/

Webhooks

Erstellen Sie HTTP-Callbacks für SMS/SIM-Ereignisse. Sie können auch Webhooks über die MCP-Tools create_webhook, list_webhooks, delete_webhook, test_webhook verwalten.

Ereignis Beschreibung
sms.out.created Eine SMS wurde zur Versendung an die Api geschickt.
sms.out.sent Eine SMS wurde als versendet markiert.
sms.in.received Eine SMS wurde empfangen.
simcard.added Eine Sim-Karte wurde hinzugefügt.
simcard.changed Eine Sim-Karte wurde geändert.
simcard.removed Eine Sim-Karte wurde entfernt.

Webhook erstellen

curl \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --data '{"target": "https://example.com/hook", "event": "sms.in.received"}' \
    --request POST https://www.tincansmartphone.com/api/webhooks/

Liste der Webhooks

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.com/api/webhooks/

Webhook testen

Sendet einen Beispiel-JSON-Body mit "test": true an die Hook-URL und gibt den Remote-Status zurück.

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request POST https://www.tincansmartphone.com/api/webhooks/<WEBHOOK_ID>/test/

Webhook löschen

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request DELETE https://www.tincansmartphone.com/api/webhooks/<WEBHOOK_ID>/

Beispiel für einen Validierungsfehler (fehlende Felder) → 400 mit Feldfehlern. Unbekannte ID → 404 {"detail":"Nicht gefunden."}.

MCP JSON-RPC: POST /mcp/ (öffentliche Doku-Tools ohne Auth; Telefon-Tools mit demselben Token-Header). Öffnen Sie die MCP-Konsole