Ihre SMS werden über Ihr eigenes Handy versendet.So funktioniert es
PLATTFORMAPI-erste ArchitekturSicherheitsvorrichtungspaarungSichtbarkeit der LieferungSteuerung von MehrfachgerätenVersionierte Dokumentation
Entwickler-Hub/E-Mail API

MAIL · 4 dokumentierte Operationen

E-Mail API Dokumentation

Senden Sie E-Mails, ohne Mailbox-Passwörter zu teilen, rufen Sie Postfachinhalte ab und überprüfen Sie den Status des Abmeldens.

Verbundene E-Mail- und Messaging-Kanäle synchronisiert über die Cloud
REST Basis-URLhttps://api.smsmobileapi.com

JSON Antworten · HTTPS erforderlich · UTF-8

Verbinden Sie Ihren API-Schlüssel

Einmalige Verbindung, dann testen Sie Endpunkte über SMS, Anrufe, Benachrichtigungen, WhatsApp und E-Mail.

Hier beginnen

Ihre erste Anfrage in vier Schritten

1

Konfigurieren Sie eine Mailbox im Dashboard.

2

Kopieren Sie sowohl apikey als auch die mailbox apikeybox.

3

Senden Sie zuerst eine einfache Text-E-Mail.

4

Fügen Sie Anhänge oder eingebettete Bilder erst hinzu, nachdem die Basisanforderung funktioniert.

WEBHOOK V2 FÜR DIESE API

Abonnieren Sie nur die mobilen Ereignisse, die Ihr Workflow benötigt.

2 Ereignistypen

Ein Ziel kann alles empfangen, oder Sie trennen Produktionssysteme, Analytics und operative Alerts. Jedes Ereignis hat einen präzisen Namen, sodass Ihre Anwendung es vorhersehbar verarbeiten kann.

email.sent

E-Mail gesendet

Eine E-Mail-Sendeanforderung wurde von SMSMobileAPI erstellt.

email.received

E-Mail empfangen

Ein verbundenes Postfach hat eine E-Mail empfangen.

Authentifizierung

Bewahren Sie Ihre Anmeldeinformationen auf Ihrem Server auf

E-Mail-Endpunkte erfordern den Account-Apikey und die Mailbox-spezifische Apikeybox. Speichern Sie beide Anmeldeinformationen serverseitig und maskieren Sie sie in Anwendungsprotokollen.

Historische Verwaltung

Historie sicher löschen: Vorschau, Löschen, Fortschritt verfolgen

Diese Endpunkte löschen den ausgewählten Serververlauf für Ihren API-Schlüssel, nicht Nachrichten auf Telefonen oder externen Diensten. Sie bieten keine Kontolöschung. Neue Aktivität kann nach dem Löschen erscheinen.

Lesen Sie den request_id und Retry Guide
Integrationsschutz

Standardmäßig bleiben verknüpfte oder Verarbeitungsdatensätze sichtbar. Verwenden Sie include_linked=1 nur, wenn Sie akzeptieren, dass Integrationen oder laufende Verarbeitungen möglicherweise nicht mehr funktionieren.

Wie request_id funktioniert

  1. Zeigen Sie die Zählungen mit action=preview an. Es wird kein request_id benötigt und es werden keine Datensätze gelöscht.
  2. Generieren Sie eine eindeutige request_id für eine neue Löschung, zum Beispiel eine UUID. Speichern Sie es vor dem Senden von action=delete.
  3. Für Wiederholungen, Timeouts oder HTTP 202 verwenden Sie den gleichen API-Schlüssel, den Historienendpunkt, den request_id- und den include_linked-Wert erneut. Generieren Sie niemals automatisch eine neue ID nach einem Fehler.
  4. Wenn completed=true, ist die Operation beendet. Die Wiederverwendung seiner ID gibt das gleiche Ergebnis zurück, anstatt neu angekommene Datensätze zu löschen. Verwenden Sie eine neue ID nur für eine bewusst neue Bereinigung.

request_id identifiziert Ihren Löschvorgang, nicht einen individuellen SMS. Erlaubtes Format: 16–128 ASCII Buchstaben, Ziffern, Bindestriche oder Unterstriche. Geeignet ist ein mit crypto.randomUUID() erzeugtes UUID.

Die Löschung erfolgt stapelweise. Bei HTTP 202 mit continue_required=true wiederholen Sie action=delete nach 3 Sekunden. Es gibt keinen Hintergrund-Cron. action=status liest nur den Fortschritt und setzt die Löschung nicht fort, auch bei HTTP 200.

Lösch- und Statusbeispiele

Ersetzen Sie das Beispiel request_id durch Ihren eigenen eindeutigen Wert, bevor Sie beginnen. Die folgenden Löschanforderungen ändern den realen Kontoverlauf; sie sind keine Vorschau.

POST · API Schlüssel
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
POST · OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
GET · Status
curl -G "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

GET akzeptiert auch action=preview oder action=delete. POST wird empfohlen: URL-Parameter können in den Browserverlauf und die Serverprotokolle gelangen. Legen Sie niemals eine Lösch-URL in einen öffentlichen Link, ein Bild oder einen Prefetch ein.

Senden Sie für POST alle Parameter im Formularkörper oder einem JSON-Objekt, niemals in der Abfragezeichenfolge. Unbekannte Parameter werden abgelehnt; Datums- oder mobile Filter werden nicht unterstützt.

Authentifizierung für History-Endpunkte

Verwenden Sie apikey oder ein Authorization: Bearer-Zugriffstoken, das von SMSMobileAPI OAuth2 ausgegeben wurde. Senden Sie kein Refresh-Token oder einen API-Schlüssel als Bearer-Token. Expired Tokens werden abgelehnt.

Wenn die Bereiche festgelegt sind, erlaubt history:read Vorschau/Status und history:delete erlaubt auch das Löschen. Es gelten Einschränkungen sowohl für den Token als auch für den OAuth-Client. Legacy-Token ohne Scopes behalten ihren bestehenden Kontozugriff.

OAuth2 wählt den eindeutigen primären API-Schlüssel aus. Wenn mehrere Primärschlüssel vorhanden sind, geben Sie auch apikey an, um einen zum Konto gehörenden auszuwählen. Sekundärschlüssel gewähren niemals Zugriff auf die Primärschlüsselhistorie.

Lesen Sie die Antwort, bevor Sie fortfahren

count_delete ist die kumulative Zahl, die durch diese Operation entfernt wird. selected_at_start ist die erste Auswahl; protected_at_start zählt ausgeschlossene Datensätze. Verwenden Sie preview.linked_or_processing, um verknüpfte Datensätze zu zählen, auch wenn include_linked=1.

JSON · HTTP 202
{
    "result": {
        "error": 0,
        "history": "email",
        "action": "delete",
        "request_id": "6d54ac58-41f1-4fbc-9a39-6e6c86089451",
        "status": "processing",
        "completed": false,
        "count_delete": 100,
        "total_before": 250,
        "selected_at_start": 200,
        "protected_at_start": 50,
        "include_linked": 0,
        "continue_required": true,
        "message": "Repeat GET or POST with the same request_id and include_linked to continue. Status requests do not run deletion."
    }
}
  • 200 mit completed=true: fertig. Eine 200-Vorschau oder Statusantwort allein beweist keine Vollendung.
  • 400 INVALID_REQUEST_ID: Überprüfen Sie das Format. 404 REQUEST_NOT_FOUND: Es gibt keine Operation für diese ID, API-Schlüssel und Historie.
  • 401: ungültige oder abgelaufene Anmeldeinformationen. 403: unzureichender OAuth-Bereich oder nicht autorisiertes Konto.
  • 409 HISTORY_BUSY: eine weitere Bereinigung läuft; setzen Sie sie vom ursprünglichen Client fort. 409 INCLUDE_LINKED_CONFLICT: Wiederherstellung des ursprünglichen include_linked-Werts.
  • 409 OAUTH_ACCOUNT_AMBIGUOUS: Geben Sie einen API-Schlüssel an, der zu diesem Konto gehört.
  • 503 oder Netzwerkunterbrechung: Einige Batches können bereits abgeschlossen sein. Überprüfen Sie die Konfiguration und versuchen Sie es dann erneut mit dem ursprünglichen request_id. Erstellen Sie keinen Ersatzvorgang automatisch.
STRASSE

Senden Sie eine E-Mail

#
ENDPUNKThttps://api.smsmobileapi.com/sendemail/

Senden Sie Klartext- oder HTML-E-Mails über eine konfigurierte Mailbox.

Wann man es benutzt

Verwenden Sie es für transaktionale oder operative E-Mails aus Ihrer Anwendung.

Parameter

NameTypAnforderungenBeschreibung
apikey Zeichenkette Erforderlich Ihr Konto API Schlüssel.
apikeybox Zeichenkette Erforderlich API-Schlüssel der konfigurierten Mailbox.
sender_name Zeichenkette Erforderlich Zeigen Sie den Namen des Absenders an.
sender_email E-Mail Erforderlich Absender-E-Mail-Adresse.
recipient_email E-Mail Erforderlich Empfängeradresse.
mail_subject Zeichenkette Erforderlich Betreff der E-Mail.
mail_body Zeichenkette Erforderlich Klartext oder HTML-Body.
allow_self_signed ja, nein Erforderlich Nur dann auf yes gesetzt, wenn der konfigurierte Mailserver ein vertrauenswürdiges internes selbstsigniertes Zertifikat verwendet.
unsubscribe 1 Fakultativ Fügt abmeldebegriffe und einen link hinzu.
email_cc1 E-Mail Fakultativ Erster optionaler CC-Empfänger.
email_cc2 E-Mail Fakultativ Zweiter optionaler CC-Empfänger.
email_cc3 E-Mail Fakultativ Dritter optionaler CC-Empfänger.
attachmentBase64 Base64 Fakultativ Base64-codierter Anhangsinhalt.
attachmentBase64_name_1 Dateiname Fakultativ Original-Anhangdateiname mit Erweiterung, z. B. bill.pdf. Erforderlich, wenn attachmentBase64 einen Wert hat.
charset Zeichenkette Fakultativ Zeichensatz; Standard UTF-8.
embeddedImage HTTPS URLS Fakultativ Bild zum Einbetten in die E-Mail.
embeddedImage_cid Zeichenkette Fakultativ Content-ID aus dem HTML-Body.
format Zeichenkette Fakultativ Angefordertes Antwortformat.
reply_name Zeichenkette Fakultativ Antwort-to-Anzeigename.
reply_email E-Mail Fakultativ Antwort-an-Adresse.

Anfordern Beispiel

CURL
curl -X POST "https://api.smsmobileapi.com/sendemail/" \
  -d "apikey=YOUR_API_KEY" \
  -d "apikeybox=YOUR_MAILBOX_KEY" \
  --data-urlencode "sender_name=Example Team" \
  -d "sender_email=team@example.com" \
  -d "recipient_email=customer@example.net" \
  --data-urlencode "mail_subject=Order confirmation" \
  --data-urlencode "mail_body=Your order has been confirmed." \
  --data-urlencode "attachmentBase64=BASE64_FILE_CONTENT" \
  -d "attachmentBase64_name_1=invoice.pdf" \
  -d "allow_self_signed=no"

Möchten Sie diese Anfrage ausführen?Verbinden Sie Ihren API-Schlüssel oben auf der Seite, um den interaktiven Tester zu entsperren.

Schlüssel verbinden ↑
Gut zu wissen
  • Bevorzugen Sie POST, weil E-Mail-Körper lang sein können.
  • Wenn attachmentBase64 bereitgestellt wird, ist attachmentBase64 name 1 erforderlich und muss die Dateierweiterung enthalten.
  • Base64-Anhänge können große Anforderungen stellen; gelten Sie in Ihrer Anwendung sinnvolle Größenbeschränkungen.
ERHALTEN

E-Mails abrufen

#
ENDPUNKThttps://api.smsmobileapi.com/getemail/

Ruft Nachrichten aus einem konfigurierten Postfachordner ab.

Wann man es benutzt

Verwenden Sie es, um eingehende E-Mails in einen Helpdesk oder Anwendungsworkflow zu synchronisieren.

Parameter

NameTypAnforderungenBeschreibung
apikey Zeichenkette Erforderlich Ihr Konto API Schlüssel.
apikeybox Zeichenkette Erforderlich Mailbox API Schlüssel.
mbox Zeichenkette Erforderlich Mailbox-Ordner, zum Beispiel INBOX.
start Ganzzahl Erforderlich Startindex; Verwenden Sie 0 für die erste Seite.

Anfordern Beispiel

CURL
curl "https://api.smsmobileapi.com/getemail/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&mbox=INBOX&start=0"

Möchten Sie diese Anfrage ausführen?Verbinden Sie Ihren API-Schlüssel oben auf der Seite, um den interaktiven Tester zu entsperren.

Schlüssel verbinden ↑
Gut zu wissen
  • Die Antworten umfassen verfügbare Betreff-, Absender-, Empfänger-, Körper-, Zeitstempel- und Anlagedetails.
ERHALTEN

Überprüfen Sie nicht abonnierte Kontakte

#
ENDPUNKThttps://api.smsmobileapi.com/email/unsubscribed/

Prüft die Abmeldung von Datensätzen, die durch E-Mails generiert wurden, die über die Plattform gesendet werden.

Wann man es benutzt

Verwenden Sie es vor dem Senden von Kampagnen und beim Synchronisieren von Unterdrückungslisten.

Parameter

NameTypAnforderungenBeschreibung
apikey Zeichenkette Erforderlich Ihr Konto API Schlüssel.
apikeybox Zeichenkette Erforderlich Mailbox API Schlüssel.
email E-Mail Fakultativ Filtern Sie einen Kontakt. Ein leeres Ergebnis bedeutet, dass kein Abmeldedatensatz gefunden wurde.

Anfordern Beispiel

CURL
curl "https://api.smsmobileapi.com/email/unsubscribed/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&email=customer@example.net"

Möchten Sie diese Anfrage ausführen?Verbinden Sie Ihren API-Schlüssel oben auf der Seite, um den interaktiven Tester zu entsperren.

Schlüssel verbinden ↑
Gut zu wissen
  • Halten Sie Ihre eigene Empfängerdatenbank mit den Abmeldeergebnissen synchronisiert.
  • Sie bleiben für die geltenden Anti-Spam- und Datenschutzregeln verantwortlich.
POST

Verlauf gesendeter E-Mails löschen

#
ENDPUNKThttps://api.smsmobileapi.com/delete-history-email/

Clears schickte E-Mail-Logs für diesen API-Schlüssel über Postfächer hinweg. Es löscht keine Nachrichten in einer Mailbox. Es ist kein apikeybox erforderlich.

Wann man es benutzt

Verwenden Sie zuerst die Vorschau, überprüfen Sie die Zählungen und fordern Sie dann explizit die Löschung an. Dadurch wird der gesamte ausgewählte Verlauf für den API-Schlüssel ohne Datums-, Telefon- oder Nachrichtenfilter gelöscht.

Parameter

NameTypAnforderungenBeschreibung
apikey Zeichenkette Fakultativ Erforderlich ohne OAuth2. Wählen Sie bei OAuth2 optional einen API-Schlüssel aus, der zum selben Konto gehört.
action Vorschau | löschen | Status Fakultativ preview zählt ohne zu löschen; delete startet oder setzt die Löschung fort; status zeigt nur den Fortschritt. Standard der API: delete. Standard dieses Testers: preview.
include_linked 0 | 1 Fakultativ Standard 0: Verlinkte Datensätze beibehalten oder Datensätze verarbeiten. Set 1 um sie einzuschließen, mit dem Risiko, Integrationen zu unterbrechen. Behalten Sie diesen Wert unverändert, wenn Sie eine Löschung fortsetzen.
request_id Zeichenkette Fakultativ Für delete und status erforderlich, für preview optional. Verwenden Sie 16–128 ASCII-Buchstaben, Ziffern, Bindestriche (-) oder Unterstriche (_). Erzeugen Sie pro neuer Löschung eine eindeutige ID und behalten Sie sie bei jedem Wiederholungsversuch. Dies ist weder eine Nachrichten-ID noch ein API-Schlüssel.

Anfordern Beispiel

CURL
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=preview" -d "include_linked=0"
Lösch- und Statusbeispiele

Ersetzen Sie das Beispiel request_id durch Ihren eigenen eindeutigen Wert, bevor Sie beginnen. Die folgenden Löschanforderungen ändern den realen Kontoverlauf; sie sind keine Vorschau.

POST · API Schlüssel
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
POST · OAuth2
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
  -H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
  -d "action=delete" -d "include_linked=0" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"
GET · Status
curl -G "https://api.smsmobileapi.com/delete-history-email/" \
  --data-urlencode "apikey=YOUR_API_KEY" \
  -d "action=status" \
  -d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"

Beispielantwort

JSON
{
    "result": {
        "error": 0,
        "history": "email",
        "action": "preview",
        "total": 120,
        "simple": 100,
        "linked_or_processing": 20,
        "selected": 100,
        "include_linked": 0,
        "operation_in_progress": false,
        "active_include_linked": null
    }
}

Möchten Sie diese Anfrage ausführen?Verbinden Sie Ihren API-Schlüssel oben auf der Seite, um den interaktiven Tester zu entsperren.

Schlüssel verbinden ↑
Gut zu wissen
  • Das obige Beispiel ist eine Vorschau, keine Löschung. Zählungen sind illustrativ; die endgültige Auswahl wird festgelegt, wenn die Löschung beginnt.
  • include_linked=1 kann GHL, Zapier, Automatisierungen, Abmeldelinks oder Lieferverfolgung stören. Es umgeht niemals Kontobesitz- oder Speicherintegritätsprüfungen.

Fehlerbehebung

Fehler und sichere Versuche

Lesen Sie den HTTP-Status und das JSON-Fehlerfeld, bevor Sie es erneut versuchen. Versuchen Sie keine Validierungs- oder Authentifizierungsfehler erneut, ohne die Anforderung zuerst zu korrigieren.

HTTPCodeWas zu tun ist
400missing_parameterEin erforderlicher Parameter ist leer oder fehlt. Überprüfen Sie die Parametertabelle für den Endpunkt.
403invalid_apikeyDer API-Schlüssel ist unbekannt, abgelaufen oder nicht für die angeforderte Funktion autorisiert.
429too_many_requestsAnfragen kommen zu schnell. Warten Sie, dann versuchen Sie es mit exponentiellem Backoff.
500server_errorDer Dienst konnte die Anfrage nicht abschließen. Behalten Sie die Antwort und den Kontakt-Support bei, wenn sie bestehen bleibt.
Retro-RegelReproduzieren Sie nur vorübergehende 429 und 5xx Antworten. Beginnen Sie nach 1 Sekunde, dann wieder auf 2, 4 und 8 Sekunden.

Brauchen Sie Hilfe?

Bringen Sie den Anfragekontext mit - nicht Ihre Geheimnisse.

Teilen Sie den Endpunkt, den Zeitstempel, den HTTP-Status und die desinfizierte Antwort. Fügen Sie niemals API-Schlüssel, Token oder private Nachrichteninhalte hinzu.

Kontakt API Unterstützung