मैसेज पाना

आरबीएम एजेंट को वेबहुक के ज़रिए मैसेज और इवेंट मिलते हैं. जब कोई उपयोगकर्ता आपके एजेंट को मैसेज भेजता है, तो Google की आरबीएम सेवा, कॉन्फ़िगर किए गए वेबहुक पर मैसेज भेजती है. इसके बाद आपका एजेंट, मैसेज को डिकोड कर सकता है, उसे प्रोसेस कर सकता है, और उपयोगकर्ता को जवाब दे सकता है.

उपयोगकर्ता, एजेंट को मैसेज भेजता है

उपयोगकर्ता अपने आरसीएस क्लाइंट के हिसाब से कोई भी टेक्स्ट, जगह या फ़ाइलें भेज सकते हैं. आपके एजेंट को ऐसे मैसेज, जगह या फ़ाइलों को हैंडल करना होगा जिसे उपयोगकर्ता भेज सकता है. साथ ही, अगर किसी गड़बड़ी की वजह से ये मैसेज ट्रिगर होते हैं, तो उन्हें भी यही दिखेगा.

इनकमिंग मैसेज मैनेज करें

आपका एजेंट, लोगों के मैसेज को कैसे हैंडल और जवाब करता है, यह आपके कारोबारी नियम पर निर्भर करता है. हालांकि, आम तौर पर उपयोगकर्ता के मैसेज का जवाब देने का तरीका एक जैसा होता है.

पहला चरण: जानें कि उपयोगकर्ता ने किस तरह का मैसेज भेजा है

उपयोगकर्ता चार तरह के मैसेज भेज सकते हैं:

  • टेक्स्ट मैसेज, फ़्रीफ़ॉर्म रिस्पॉन्स होते हैं.
  • सुझाव मैसेज में, पोस्टबैक डेटा और सुझाई गई कार्रवाई का टेक्स्ट या उपयोगकर्ता ने टैप करके सुझाए गए जवाब शामिल होते हैं.
  • जगह के मैसेज में अक्षांश और देशांतर की वैल्यू होती हैं.

  • फ़ाइल मैसेज में किसी फ़ाइल और उससे जुड़े डेटा का यूआरआई शामिल होता है.

दूसरा चरण: मैसेज के कॉन्टेंट को प्रोसेस करना

उपयोगकर्ता मैसेज के कॉन्टेंट से, एजेंट को समझने में मदद मिलनी चाहिए और उसे बातचीत में अगला जवाब देना चाहिए.

उपयोगकर्ता के इंटेंट को पहचानने का सबसे आसान तरीका, सुझाए गए जवाब या सुझाई गई कार्रवाई के पोस्टबैक डेटा का इस्तेमाल करना है. सुझाव के साथ टेक्स्ट चाहे जो भी हो, पोस्टबैक डेटा मशीन से पढ़ा जा सकता है.

अगर कोई उपयोगकर्ता मैसेज भेजता है, तो आपका एजेंट काम करने वाले कीवर्ड के लिए दिए गए जवाब को पार्स कर सकता है. इसके अलावा, उपयोगकर्ता के मैसेज को प्रोसेस करने और अगले पाथ की पहचान करने के लिए, एनएलयू (जैसे कि Dialogflow) का इस्तेमाल कर सकता है.

जगह और फ़ाइल मैसेज में टेक्स्ट या पोस्टबैक डेटा शामिल नहीं होता है. इसलिए, जवाब देने से पहले आपके एजेंट को बातचीत का संदर्भ और हाल के मैसेज ध्यान में रखने चाहिए.

अगर आपके एजेंट को लोगों के मैसेज का जवाब देने का तरीका नहीं पता, तो उसे गड़बड़ी वाली स्थिति के साथ जवाब देना चाहिए. इसके बाद, उपयोगकर्ता से ज़्यादा जानकारी मांगकर, किसी दूसरे तरीके से इनपुट देकर या ऐसी सुझाई गई कार्रवाइयां दिखाकर बातचीत जारी रखने की कोशिश करनी चाहिए जिनका जवाब एजेंट को पता हो.

तीसरा चरण: इंटरैक्शन के लिए कारोबारी नियम को पूरा करना

जब आपका एजेंट, लोगों के मैसेज का सही जवाब पहचान लेता है, तो वह आपके इन्फ़्रास्ट्रक्चर से ज़रूरी जानकारी इकट्ठा करता है. साथ ही, इंटरैक्शन के लिए कारोबारी नियम को पूरा करने के लिए, अन्य सिस्टम से जुड़ता है.

चौथा चरण: उपयोगकर्ता को जवाब देना

इंटरैक्शन के लिए बिज़नेस लॉजिक पूरा करने के बाद, वह एक और मैसेज भेजता है और उपयोगकर्ता से बातचीत जारी रखता है.

उदाहरण

इस कोड से पता चलता है कि आपके एजेंट को मैसेज कैसे मिलते हैं. फ़ॉर्मैटिंग और वैल्यू की जानकारी के लिए, UserMessage देखें.

एजेंट को मैसेज मिलता है

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "text": "Hello, world!"
}

एजेंट को सुझाव से मैसेज मिलता है

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "suggestionResponse": {
    "postbackData": "suggestion_1",
    "text": "Suggestion #1"
  }
}

एजेंट को जगह की जानकारी मिलती है

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "location": {
    "latitude": 37.422000,
    "longitude": -122.084056
  }
}

एजेंट को फ़ाइल मिलती है

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "userFile": {
    "category": "IMAGE",
    "thumbnail": {
      "mimeType": "image/jpeg",
      "fileSizeBytes": 1280,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8",
      "fileName": "4_animated.jpeg"
    },
    "payload": {
      "mimeType": "image/gif",
      "fileSizeBytes": 127806,
      "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9",
      "fileName": "4_animated.gif"
    }
  }
}

इनकमिंग इवेंट मैनेज करें

आपके एजेंट को सूचनाएं तब मिलती हैं, जब वह लोगों को मैसेज भेजता है और लोगों को भेजा जाता है.

इस कोड से पता चलता है कि आपके एजेंट को मैसेज कैसे मिलते हैं. फ़ॉर्मैटिंग और वैल्यू की जानकारी के लिए, UserEvent देखें.

उपयोगकर्ता को मैसेज डिलीवर हो गया

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "DELIVERED"
}

उपयोगकर्ता ने मैसेज पढ़ा

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "READ"
}

उपयोगकर्ता टाइप कर रहा है

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "IS_TYPING",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "agentId": "AGENT_ID"
}