REST-API zum Steuern von SMS-Sitzungen verwenden
SMS Gateway stellt eine REST-API bereit, die Sie in Ihren Contact-Center-Anwendungen verwenden können, damit Contact-Center-Mitarbeiter SMS-Sitzungen zwischen einem Kunden und dem SMS-Agenten einleiten können. Sie können die REST-API in die Anwendungen integrieren, indem Sie die zugehörigen cURL-Befehle verwenden. Zu Testzwecken können Sie auch direkt mit der REST-API über die zugehörige Swagger-Benutzerschnittstelle interagieren.
Informationen zur REST-API
Sie können SMS-Sitzungen über die REST-API steuern, indem Sie die verfügbaren Operationen ausführen, wie z. B. die Erstellung einer Sitzung oder einer Testkonfiguration. Die REST-API steuert SMS-Sitzungen, indem sie zwei Typen von JSON-Daten an SMS-Gateway übergibt:
- SMS-Sitzungsdaten: SMS-Sitzungsdaten definieren die Sitzung. Zu den Informationen gehören Tenanttelefonnummer des SMS-Providers, Benutzertelefonnummer und optionale Sitzungszeitlimitwerte.
- Benutzerdaten: Diese optionalen Daten sind anwendungsdefinierter Kontext, der als nicht transparente Daten an die Serviceorchestrierungsengine oder direkt an Watson Assistant übergeben wird.
Sie können jede Operation direkt über die Swagger-Benutzerschnittstelle der REST-API testen, oder Sie verwenden die cURL-Befehle für jede Operation in Ihrer Contact-Center-Anwendung.
Operationen, die Sie ausführen können
Sie können mit der REST-API die folgenden Operationen ausführen.
- Sitzungen verwalten
- Sitzung erstellen: Erstellt eine SMS-Sitzung zwischen den angegebenen Benutzer- und Tenanttelefonnummern.
- Sitzung löschen: Beendet und entfernt eine vorhandene SMS-Sitzung.
-
Konfigurationen testen
- SMS-Provider-Konfiguration testen: Sendet eine SMS-Nachricht mit dem Hinweis "
Test Connection message from SMS Gateway". Wenn die Nachricht gesendet werden kann, war der Test erfolgreich. -
Watson Assistant-Servicekonfiguration testen: Sendet die Anforderung an den konfigurierten Watson Assistant-Arbeitsbereich. Wenn eine Nachricht empfangen wird, die nicht null ist, war der Test erfolgreich.
Wichtig: Wenn Sie eine Antwort erhalten möchten, muss Ihr Dialog einen Knoten mit der Bedingung
conversation_startund einen Knoten mit einer Standardantwort enthalten. Sie können den Test mit dem Beispielgespräch durchführen oder Ihren eigenen Dialog erstellen. - XSLD-Caching-Server-Konfiguration testen: Sendet die Anforderung an die konfigurierten XSLD-Katalogendpunkte. Die Anforderung erstellt einen Eintrag mit einem Testwert im XSLD-Datengrid, ruft den Wert ab und löscht den Eintrag. Wenn alle diese Aktionen abgeschlossen sind, ist der Test erfolgreich.
- SMS-Provider-Konfiguration testen: Sendet eine SMS-Nachricht mit dem Hinweis "
- SMS Gateway während Telefonaten integrieren Während einer Conversation-Sitzung mit einem Anrufer muss IBM® Voice Gateway möglicherweise mit dem Anrufer über SMS-Nachrichten interagieren. Die folgenden Operationen unterstützen
die Integration von SMS Gateway mit Voice Gateway
- SMS-Pipe erstellen: Erstellt eine SMS-Pipe-Sitzung zwischen Voice Gateway und SMS Gateway, die SMS-Pipe, und erstellt eine verschlüsselte SMS-Pipe-ID, die die Benutzertelefonnummer und die Tenanttelefonnummer enthält. Dies aktiviert SMS-Messaging zwischen einem Sprachagenten und dem Anrufer über SMS Gateway.
- SMS-Nachricht mithilfe der SMS-Pipe-ID senden: Nachdem die SMS-Pipe-Sitzung zwischen Voice Gateway und SMS Gateway erstellt wurde, verwendet Voice Gateway diese Operatoin, um SMS-Nachrichten an einen Anrufer zu senden.
- SMS-Nachricht ohne SMS-Pipe-ID senden: Diese Operation sendet nur die abgehende SMS-Nachricht an den Anrufer. Der Benutzer stellt die Tenanttelefonnummer, die Benutzertelefonnummer und die Nachricht bereit.
- SMS-Pipe löschen: Beendet und entfernt die SMS-Pipe-Sitzung, die von Voice Gateway erstellt wurde.
Wenn eine der Operationen nicht erfolgreich ist, überprüfen Sie die SMS Gateway-Protokolle, um Informationen darüber zu erhalten, was nicht ordnungsgemäß gelaufen ist.
Auf die Swagger-Benutzerschnittstelle der REST-API zugreifen
Nachdem Sie SMS Gateway bereitgestellt haben, können Sie auf die Swagger-Benutzerschnittstelle der REST-API über die folgenden URLs zugreifen:
-
Gesicherte Verbindung:
https://<host-address:secured-port>/publicURL/apis/explorer/Beispiel:
https://123.4.5.67:9443/publicURL/apis/explorer/ # Einzelinstanzbereitstellung https://123.4.5.67:30043/publicURL/apis/explorer/ # Hochverfügbarkeitsbereitstellung -
Nicht gesicherte Verbindung:
http://<host-address:unsecured-port>/publicURL/apis/explorer/Beispiel:
http://123.4.5.67:9080/publicURL/apis/explorer/ # Einzelinstanzbereitstellung http://123.4.5.67:30080/publicURL/apis/explorer/ # Hochverfügbarkeitsbereitstellung
Klicken Sie auf der resultierenden Seite mit den SMS Gateway-APIs auf List operations, um die für SMS-Sitzungen verfügbaren Operationen anzuzeigen.
Operation testen
- Klicken Sie in der Spalte Data type auf das Beispiel, um das Feld Value vorab zu füllen.
- Ändern Sie die JSON-Daten im Feld Value, z. b. indem Sie die Benutzer- und Tenanttelefonnummer eingeben. Wichtig: Die Tenanttelefonnummer muss exakt der in der SMS Gateway-Konfiguration angegebenen Tenanttelefonnummer entsprechen.
- Klicken Sie auf Try it out!, um die Operation auszuführen.
- Geben Sie den Benutzernamen und das Kennwort ein, wenn Sie dazu aufgefordert werden. Sie werden aufgefordert, sich zu authentifizieren, wenn Sie die Authentifizierung für die REST-API aktiviert haben.
Nachdem Sie versucht haben, die Operation auszuführen, werden in der Schnittstelle die folgenden Informationen angezeigt:
- Der für die Ausführung der Operation verwendete cURL-Befehl
- Die URL der Anforderung
- Die Antwortinformationen von SMS Gateway
cURL-Befehle verwenden
Sie können REST-API-Operationen ausführen, indem Sie cURL-Befehle entweder in der Befehlszeile absetzen oder sie in einer Anwendung integrieren. Linux-basierte Systeme beinhalten in der Regel cURL, aber wenn Ihr Betriebssystem cURL nicht enthält, können Sie das Paket für Ihr Betriebssystem von der Seite curl.haxx.se herunterladen und installieren.
Befehle zum Senden von Anforderungen werden im folgenden Format angegeben:
curl -X <HTTP request> --header 'Content-Type: application/json' --header 'Accept: application/json' -d <JSON data>
Sie können auch die folgenden Optionen angeben. Ausführliche Informationen zu den einzelnen Optionen finden Sie in der Dokumentation zu curl.
-k: SSL-/TLS-Verschlüsselung für eine nicht gesicherte Verbindung umgehen-u <user name:password>: Benutzernamen und Kennwort senden, wenn Sie die Authentifizierung für die REST-API aktiviert haben
Befehlsbeispiele
Die folgenden curl-Beispielbefehle veranschaulichen verschiedene Operationen, die Sie mit der REST-API ausführen können. Wenn Sie die Beispielbefehle ausführen, stellen Sie sicher, dass Sie die Werte für smsUserPhoneNumber und smsTenantPhoneNumber durch Ihre eigenen Werte ersetzen.
Wichtig: Die Tenanttelefonnummer muss exakt mit der in der SMS Gateway-Konfiguration angegebenen Tenanttelefonnummer übereinstimmen. Die Telefonnummer des Benutzers muss in einem mit den Anforderungen Ihres SMS-Providers übereinstimmenden Format angegeben werden. Zum Beispiel erfordern Twilio-Telefonnummern ein Pluszeichen (+), aber RestcommONE-Telefonnummern müssen ohne Pluszeichen (+) angegeben werden.
Sitzungen verwalten
Verwalten Sie Sitzungen mithilfe der folgenden Befehle.
Sitzung erstellen
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsUserPhoneNumber": "+18765554321", \
"smsTenantPhoneNumber": "+12345556789", \
"smsUserData": { "data": "Data"}, \
"smsSessionTimeoutCount": 600 \
}' 'http://host:9080/sms.gateway/session'
Sitzung löschen
curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsUserPhoneNumber": "+18765554321", \
"smsTenantPhoneNumber": "+12345556789" \
}' 'http://host:9080/sms.gateway/session'
Konfiguration testen
Testen Sie Ihre Konfiguration mithilfe der folgenden Befehle.
Konfiguration für SMS-Provider testen
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsTenantPhoneNumber": "+18765554321", \
"smsUserPhoneNumber": "+12345556789" \
}' 'http://host:9080/sms.gateway/testConfig/SMSProvider'
Konfiguration für Watson Assistant-Service testen
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsTenantPhoneNumber": "+18765554321", \
"smsUserPhoneNumber": "+12345556789", \
"smsUserData": { "data": "Data" }, \
"smsSessionTimeoutCount": 600 \
}' 'http://host:9080/sms.gateway/testConfig/WCS'
Konfiguration für XSLD-Caching-Server testen
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsTenantPhoneNumber": "+18765554321" \
}' 'http://host:9080/sms.gateway/testConfig/XS'
SMS Gateway-Unterstützung für Voice Gateway-Befehlsbeispiele integrieren
Die folgenden curl-Beispielbefehle veranschaulichen die Befehle, die SMS Gateway verwendet, um Kunden beim Senden und Empfangen von SMS-Nachrichten an Voice Gateway während eines Anrufs zu unterstützen. Wenn Sie die Beispielbefehle
ausführen, ersetzen Sie die Werte für smsUserPhoneNumber und smsTenantPhoneNumber durch Ihre eigenen Werte. Damit die Beispielbefehle erfolgreich eingesetzt werden können, müssen Sie zum Senden von Anforderungen auch
die Angaben zu host und port in Ihrer SMS Gateway-Server-URL konfigurieren. Ihre SMS Gateway-Server-URL kann entweder mit http:// oder https:// beginnen, je nachdem, ob der sichere Port konfiguriert
ist. Sie muss jedoch immer mit /sms.gateway/smsPipe enden.
Beschreibungen der Anforderungs- und Antwortvariablen finden Sie in der Swagger-Benutzerschnittstelle zur REST-API. Weitere Informationen finden Sie unter Auf die Swagger-Benutzerschnittstelle der REST-API zugreifen.
Wichtig: Die Tenanttelefonnummer muss exakt mit der in der SMS Gateway-Konfiguration angegebenen Tenanttelefonnummer übereinstimmen. Die Telefonnummer des Benutzers muss in einem mit den Anforderungen Ihres SMS-Providers übereinstimmenden Format angegeben werden. Zum Beispiel erfordern Twilio-Telefonnummern ein Pluszeichen (+), aber RestcommONE-Telefonnummern müssen ohne Pluszeichen (+) angegeben werden.
SMS-Pipe erstellen
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsUserPhoneNumber": "+18765554321", \
"smsTenantPhoneNumber": "+12345556789", \
"smsResponseURL": "https://vgwServer:port/smsRecv", \
"smsToken": "tokenID",\
"smsMediaURL": [ "https://media.com/media/l4JyRqcDU93S334KQ/first.gif", \
"https://media.com/media/l4JyRqcDU93S334KQ/second.gif" ], \
"smsMessage": "Hello this is a chat message sent from Voice Gateway.",\
"smsOpaqueData": { "data": "Data"} ,\
"smsPipeTimeoutCount": 1200 \
}' 'http://host:port/sms.gateway/smsPipe'
SMS- oder MMS-Nachricht mit der SMS-Pipe-ID senden
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsMessage": "Hello this is a chat message sent from Voice Gateway.",\
"smsMediaURL": [ "https://media.com/media/l4JyRqcDU93S334KQ/first.gif", \
"https://media.com/media/l4JyRqcDU93S334KQ/second.gif" ], \
"smsOpaqueData": { "data": "Data"}
}' 'http://host:port/sms.gateway/smsPipe/pipeID/KzE1MTAzMzAyNTgyOisxOTE5Njk5MjYwzJjZmNhZC1lMzc/sms'
SMS- oder MMS-Nachricht ohne SMS-Pipe-ID senden
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
"smsUserPhoneNumber": "+18765554321", \
"smsTenantPhoneNumber": "+12345556789", \
"smsMessage": "Hello this is a chat session starting from Voice Gateway."
\
"smsMediaURL": [ "https://media.com/media/l4JyRqcDU93S334KQ/first.gif", \
"https://media.com/media/l4JyRqcDU93S334KQ/second.gif" ]
}' 'http://host:port/sms.gateway/smsPipe/sms'
SMS-Pipe löschen
curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{}' 'http://host:port/sms.gateway/smsPipe/pipeID/KzE1MTAzMzAyNTgyOisxOTE5Njk5MjYwzJjZmNhZC1lMzc'