Logo Site EngageLab Mark Colored TransparentDokumentation
Suchen

SMPP-Schnittstelle

Schnittstelleninformationen

Dieses Protokoll definiert das SMPP-Kommunikationsprotokoll für den EngageLab OTP-Dienst und zielt darauf ab, über TCP-Verbindungen eine effiziente und zuverlässige Nachrichtenzustellung und Statusmeldung zu erreichen. Die Schnittstelleninformationen umfassen die für die Verbindung erforderliche IP-Adresse, Portnummer und Authentifizierungsinformationen. Bitte stellen Sie eine korrekte Konfiguration gemäß dem vom autorisierten Kanal bereitgestellten Konto und Passwort sicher.

SMPP-Adresse

SMPP-Adresse: otpsmpp.api.engagelab.cc Bitte beziehen Sie die folgenden Informationen von einem autorisierten Kanal (z. B. Vertrieb oder technischer Support):

  • Port: { port }
  • Konto: { system_id }
  • Passwort: { password }

Verbindung herstellen

Client-Paket

Nach dem Herstellen einer TCP-Verbindung muss das erste Paket den Befehl BindTransceiver (d. h. 0x00000009) zur Authentifizierungsprüfung senden. Dieses Paket muss die folgenden Felder enthalten:

  • system_id: Das dem Kunden zugewiesene Systemkonto, das zur Identifizierung der Identität dient.
  • password: Das dem Systemkonto entsprechende Zugangspasswort, das zur Identitätsauthentifizierung dient.

Serverantwort

Erfolgsantwort

  • Der Server sendet eine Antwort mit dem Befehl BindTransceiverResp (d. h. 0x80000009).
  • Das Feld system_id wird mit einem Wert gefüllt, der mit dem empfangenen Feld system_id übereinstimmt.

Fehlerantwort

  • Schlägt die Authentifizierung fehl, trennt der Server die TCP-Verbindung und protokolliert den Grund für das Fehlschlagen.

Nachrichtenversand

Serverlogik

Der Nachrichtenversand verwendet den Befehl SUBMIT_SM (d. h. 0x00000004), um Anfragen zur Nachrichtenzustellung zu übermitteln. Die Serverlogik ist wie folgt:

  1. Der Server analysiert den Anfrageinhalt und verwendet fest den SMS-Kanal für die Zustellung.
  2. Die Nachrichtenzustellung erfolgt im synchronen Modus, und das Ergebnis wird mit dem Befehl SUBMIT_SM_RESP (d. h. 0x80000004) beantwortet.
  3. Der Zustellstatus wird über Nachrichten gemeldet, Einzelheiten siehe Zustellbericht.
  4. Es wird empfohlen, die UCS2-Codierung zu verwenden, um Sonderzeichen und Internationalisierung zu unterstützen.

Client-Paket

Der Client sendet den Befehl SUBMIT_SM (d. h. 0x00000004), um eine Nachricht zu übermitteln, die die folgenden Felder enthalten muss:

  1. service_type
    • Werte: MSG / CODE / MRKT
    • Standardwert: MSG
  2. source_addr
    • Kann leer gelassen werden, wird derzeit in OTP nicht verwendet.
  3. destination_addr
    • Nachrichtenziel, muss im internationalen Mobilfunknummernformat vorliegen (z. B. +6598765432).
  4. short_message
    • Nachrichteninhalt im JSON-Format, wie folgt:
      { "id": "xxx", // Template ID "language": "default", // Language used, default is default "code": "xx", // Verification code, used only when service_type is code "params": { // Custom key-value pairs "key1": "val1" // val format is string } }
                    
                    {
        "id": "xxx",          // Template ID
        "language": "default", // Language used, default is default
        "code": "xx",          // Verification code, used only when service_type is code
        "params": {            // Custom key-value pairs
          "key1": "val1"       // val format is string
        }
      }
      
                  
      Diesen Codeblock im schwebenden Fenster anzeigen
  5. data_coding
    • Es wird empfohlen, die UCS2-Codierung zu verwenden, um sicherzustellen, dass die Sonderzeichen {} normal verarbeitet werden.
    • Wird das direkte Senden von {} unterstützt, kann die Standardcodierung (d. h. 0x00) verwendet werden.
  6. status im Header
    • Auf 0x00000000 gesetzt.

Serverantwort

Der Server sendet den Befehl SUBMIT_SM_RESP (d. h. 0x80000004), um das Ergebnis der Nachrichtenzustellung zu beantworten.

Erfolgsantwort

  • Wert des status-Felds im Header: 0x00000000
  • MESSAGE_ID-Feld: Antwort-Nachrichten-ID, dient zur Zuordnung des Zustellberichts.

Fehlerantwort

  • Der Server füllt das status-Feld im Header, um den Grund für das Fehlschlagen anzugeben:
Statuscode Beschreibung Wert
ESME_RINVPARAM Ungültiger Parameter, bitte Anfrageformat prüfen 0x00000032
ESME_RSYSERR Interner Dienstfehler, bitte später erneut versuchen 0x00000008
ESME_RSUBMITFAIL Zustellung fehlgeschlagen, möglicherweise aufgrund von Vorlagenproblemen oder anderen Gründen 0x00000045
ESME_RINVNUMMSGS Formatfehler im Inhalt des Felds short_message 0x00000055
ESME_RUNKNOWNERR Unbekannter Fehler, bitte technischen Support kontaktieren 0x000000FF

Zustellbericht

Der Server meldet den Zustellbericht über den Befehl DELIVER_SM (d. h. 0x00000005). Die einzelnen Felder sind wie folgt:

  1. service_type
    • Fester Wert: MSG
  2. source_addr
    • Leer lassen.
  3. destination_addr
    • Übereinstimmend mit destination_addr im Befehl SUBMIT_SM.
  4. data_coding
    • Codierungsmethode: Standardwert 0x00.
  5. esm_class
    • Auf 0x00 gesetzt.
  6. short_message
    • Den Zustellbericht im Format delivery receipt kapseln.
  7. ReceiptedMessageID in tlv
    • Nachrichten-ID, dient zur Zuordnungskennzeichnung.
  8. MessageState in tlv
    • Nachrichtenstatus, Feldwert 0x0427.

Statusanalyse

Im short_message-Feld ist die Bedeutung des Werts stat wie folgt:

Status Bedeutung
DELIVRD Erfolgreich zugestellt
UNDELIV Zustellung fehlgeschlagen

Weitere Hinweise

Ungültige Befehle

Bei ungültigen, vom Client übermittelten Befehlen gibt der Server den Befehl GENERIC_NACK (d. h. 0x80000000) zurück und protokolliert die relevanten Logs. Der Server unterstützt nur die folgenden Befehle:

  1. Befehl EnquireLink (d. h. 0x00000015)
  2. Befehl Unbind (d. h. 0x00000006)
  3. Befehl SubmitSM (d. h. 0x00000004)
  4. Befehl DeliverSMResp (d. h. 0x80000005)
  5. Befehl BindTransceiver (d. h. 0x00000009)

Keep Alive

Der Client muss alle 30 Sekunden (Toleranz ±5 Sekunden) einen Befehl EnquireLink (d. h. 0x00000015) senden, um sicherzustellen, dass die Verbindung aktiv ist.

Bedeutung der Sendestatus

Statuscode Bedeutung
ESME_RINVPARAM Ungültiger Parameter, bitte Anfrageformat prüfen
ESME_RINVNUMMSGS Formatfehler im Inhalt des Felds short_message
ESME_RSUBMITFAIL Zustellung fehlgeschlagen, möglicherweise aufgrund von Vorlagenproblemen oder anderen Gründen
ESME_RSYSERR Interner Dienstfehler, bitte später erneut versuchen
ESME_RUNKNOWNERR Unbekannter Fehler, bitte technischen Support kontaktieren
DELIVRD Nachricht erfolgreich zugestellt
UNDELIV Nachricht konnte nicht zugestellt werden

Terminologie

  • SMPP: Short Message Peer-to-Peer Protocol, wird für den Nachrichtenaustausch in SMS-Gateways verwendet.
  • SUBMIT_SM: SMPP-Befehl zum Übermitteln von SMS-Nachrichten.
  • DELIVER_SM: SMPP-Befehl, den der Server verwendet, um den Zustellstatus von Nachrichten zu melden.

Bei Fragen wenden Sie sich bitte an den OTP Technical Support.

Icon Solid Transparent White Qiyu
Vertrieb kontaktieren