Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

DingTalk ​

PRX über die Stream-Mode-WebSocket-API für Echtzeit-Bot-Messaging in der Alibaba-Arbeitsplatzplattform mit DingTalk verbinden.

Voraussetzungen ​

  • Eine DingTalk-Organisation (Unternehmen oder Team)
  • Eine Bot-Anwendung erstellt in der DingTalk Developer Console
  • Client-ID (AppKey) und Client Secret (AppSecret) von der Entwicklerkonsole

Schnelleinrichtung ​

1. DingTalk-Bot erstellen ​

  1. Gehen Sie zur DingTalk Open Platform und melden Sie sich an
  2. Erstellen Sie eine neue "Enterprise Internal Application" (oder "H5 Micro Application")
  3. Fügen Sie die "Robot"-Fähigkeit zu Ihrer Anwendung hinzu
  4. Unter "Credentials" kopieren Sie die Client ID (AppKey) und das Client Secret (AppSecret)
  5. Aktivieren Sie "Stream Mode" unter der Bot-Konfiguration

2. Konfigurieren ​

toml
[channels_config.dingtalk]
client_id = "dingxxxxxxxxxxxxxxxxxx"
client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
allowed_users = ["manager1234"]

3. Überprüfen ​

bash
prx channel doctor dingtalk

Konfigurationsreferenz ​

FeldTypStandardBeschreibung
client_idStringerforderlichClient-ID (AppKey) von der DingTalk-Entwicklerkonsole
client_secretStringerforderlichClient Secret (AppSecret) von der Entwicklerkonsole
allowed_users[String][]Erlaubte DingTalk-Mitarbeiter-IDs. Leer = alle ablehnen. "*" = alle erlauben

Funktionen ​

  • Stream-Mode-WebSocket -- persistente WebSocket-Verbindung zum DingTalk-Gateway für Echtzeit-Nachrichtenzustellung
  • Keine öffentliche URL erforderlich -- Stream Mode stellt eine ausgehende Verbindung her, kein eingehendes Webhook-Setup nötig
  • Private und Gruppenchats -- verarbeitet sowohl 1:1-Konversationen als auch Gruppenchat-Nachrichten
  • Sitzungs-Webhooks -- antwortet über pro-Nachricht-Sitzungs-Webhook-URLs, die von DingTalk bereitgestellt werden
  • Automatische Gateway-Registrierung -- registriert sich beim DingTalk-Gateway, um einen WebSocket-Endpunkt und ein Ticket zu erhalten
  • Konversationstyp-Erkennung -- unterscheidet zwischen Privatgesprächen und Gruppenkonversationen

Einschränkungen ​

  • Stream Mode erfordert eine stabile ausgehende WebSocket-Verbindung zu DingTalk-Servern
  • Antworten verwenden pro-Nachricht-Sitzungs-Webhooks, die ablaufen können, wenn sie nicht zeitnah verwendet werden
  • Bot muss von einem Admin zum Gruppenchat hinzugefügt werden, bevor er Gruppennachrichten empfangen kann
  • DingTalk-APIs sind hauptsächlich auf Chinesisch dokumentiert; internationale Unterstützung ist begrenzt
  • Enterprise-Admin-Genehmigung kann für die Bereitstellung interner Anwendungen erforderlich sein

Fehlerbehebung ​

Bot verbindet sich nicht mit DingTalk ​

  • Überprüfen Sie, ob client_id und client_secret korrekt sind
  • Stellen Sie sicher, dass "Stream Mode" in der DingTalk-Entwicklerkonsole unter Bot-Einstellungen aktiviert ist
  • Prüfen Sie, ob ausgehende Verbindungen zu DingTalk-Servern nicht durch eine Firewall blockiert werden

Nachrichten werden empfangen, aber Antworten schlagen fehl ​

  • Sitzungs-Webhooks sind pro Nachricht und können ablaufen; stellen Sie sicher, dass Antworten zeitnah gesendet werden
  • Prüfen Sie, ob der Bot die notwendigen API-Berechtigungen in der Entwicklerkonsole hat

Gruppennachrichten werden nicht empfangen ​

  • Der Bot muss explizit von einem Admin zur Gruppe hinzugefügt werden
  • Überprüfen Sie, ob die Mitarbeiter-ID des Absenders in allowed_users enthalten ist, oder setzen Sie allowed_users = ["*"]

Released under the Apache-2.0 License.