संदेश प्राप्त करना

Business पर रजिस्टर करने के बाद मैसेज, आपको अपने टेस्ट एजेंट की तरफ़ से मैसेज मिल सकते हैं. आपको मैसेज मिल सकते हैं उन ब्रैंड के लिए जिन्हें मैनेज करने की ज़िम्मेदारी आप पर है बनाएं, पुष्टि करें, और लॉन्च करें एजेंट मौजूद हैं.

जब कोई ग्राहक ऐसे एजेंट को मैसेज भेजता है जिसे मैनेज करने का अधिकार आपके पास है, तो Business Messages आपके वेबहुक को JSON पेलोड भेजता है, जिसमें कई आईडी, मैसेज का कॉन्टेंट, और जगह की जानकारी.

Business Communications डेवलपर कंसोल के लॉग का इस्तेमाल करना पेज मैसेज की डिलीवरी से जुड़ी समस्याओं को हल करने के लिए.

आने वाले मैसेज मैनेज करें

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

मैसेज को स्वीकार करें

वेबहुक को मिले मैसेज को स्वीकार करने के लिए, मान्य एचटीटीपी रिस्पॉन्स दें आपके वेबहुक पर भेजे गए मैसेज पर.

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

पुष्टि करें कि यह मैसेज Google ने भेजा है

मैसेज प्रोसेस करने से पहले, आपको पुष्टि करनी होगी कि Google ने मैसेज भेजा है कॉन्टेंट.

Google ने आपको मिला मैसेज भेजा है, इसकी पुष्टि करने के लिए:

  1. मैसेज के X-Goog-Signature हेडर को पार्स करें. इसे हैश किया गया है, मैसेज के मुख्य हिस्से के पेलोड की base64-एन्कोडेड कॉपी.
  2. अपने क्लाइंट टोकन का इस्तेमाल करना. यह टोकन तब दिखाया जाता है, जब आपने वेबहुक) कुंजी के तौर पर, मैसेज पेलोड के बाइट का SHA512 HMAC बनाएं और नतीजे को base64 कोड में बदलें.

  3. X-Goog-Signature हैश की तुलना अपने बनाए गए हैश से करें.

    • अगर हैश मेल खाते हैं, तो इसका मतलब है कि आपने पुष्टि की है कि Google ने मैसेज भेजा है.
    • अगर हैश मेल नहीं खाते हैं, तो अपनी हैशिंग प्रोसेस की जांच करें दिखाई देगा. अगर आपकी हैशिंग प्रोसेस ठीक से काम कर रही है और आपको जो आपको धोखाधड़ी से भेजे गए हैं, अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है हमसे संपर्क करें (आपको हस्ताक्षर करना होगा Business Messages के Google खाते से साइन इन करें.

Echo Bot के लिए GitHub डेटा स्टोर करने की जगह में मैसेज की पुष्टि करने का उदाहरण देखें Java में, Node.js, और Python.

स्थान-भाषा की पहचान करें

लोग कई जगहों से और कई भाषाओं में बातचीत करते हैं. Business Messages से पता चलता है resolvedLocale और userDeviceLocale फ़ील्ड, जो उनके डिवाइसों पर आधारित हैं स्थान-भाषा सेटिंग. देखें स्थानीय भाषा में लिखना और स्थान-भाषाएँ.

जब भी हो सके, उपयोगकर्ताओं के मैसेज को रूट करें और भाषा प्राथमिकताएं.

कॉन्टेक्स्ट के आधार पर मैसेज को रूट करें

मैसेज के कॉन्टेक्स्ट से यह पता चलता है कि उपयोगकर्ता को किस तरह की जानकारी चाहिए. उदाहरण के लिए, अगर कोई उपयोगकर्ता किसी placeId मान है, तो उन्होंने एक खास जगह को मैसेज भेजा है (जिसकी पहचान placeId ने की है) और जगह के हिसाब से सवाल पूछे जा सकते हैं. इसी तरह, अगर किसी मैसेज में nearPlaceId वैल्यू, जिससे उपयोगकर्ता के आस-पास की जगह की पहचान होती है. उपयोगकर्ता के आस-पास की जगह की पहचान हो सकती है एजेंट को जगह से जुड़ी खास जानकारी चाहिए, लेकिन एजेंट को वह स्थान, जिसके साथ उपयोगकर्ता बातचीत शुरू करने से पहले चैट करना चाहता है.

मैसेज के कॉन्टेक्स्ट की जानकारी का इस्तेमाल करके, उसे सही जगह पर भेजें ये जवाब देने के लिए सही हैं:

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

यह पता करना कि उपयोगकर्ता ने किस तरह का मैसेज भेजा है

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

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

मैसेज का कॉन्टेंट प्रोसेस करना

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

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

अगर कोई उपयोगकर्ता मैसेज भेजता है, तो आपका एजेंट का उपयोग करने के लिए प्रोत्साहित करते हैं या प्राकृतिक भाषा समझ का उपयोग करते हैं (जैसे कि डायलॉगफ़्लो इंटिग्रेशन उपयोगकर्ता के मैसेज को प्रोसेस करने और आगे बढ़ने का तरीका पहचानने के लिए.

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

उपयोगकर्ता को जवाब दें

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

जवाब लिखते समय, उपयोगकर्ता की स्थान-भाषा का इस्तेमाल करें. इसके अलावा, हर एक ऑब्जेक्ट में userInfo ऑब्जेक्ट से वैल्यू लेकर, जवाबों को पसंद के मुताबिक बनाएं जो आपको मिला है.

मैसेज के टाइप

इस कोड से पता चलता है कि आपके एजेंट को मैसेज कैसे मिलते हैं.

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

टेक्स्ट

जवाब देने का सबसे आम तरीका, सादा टेक्स्ट है. मैसेज में ये हैं फ़ॉर्मैट पर लागू होती है.

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "requestId": "REQUEST_ID",
  "message": {
    "messageId": "MESSAGE_ID",
    "name": "conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "text": "MESSAGE_TEXT",
    "createTime": "MESSAGE_CREATE_TIME",
  },
  "dialogflowResponse": {
    "autoResponded": "BOOLEAN",
    "faqResponse": {
      "userQuestion": "USER_QUESTION",
      "answers": [{
        "faqQuestion": "FAQ_QUESTION",
        "faqAnswer": "FAQ_ANSWER",
        "matchConfidenceLevel": "CONFIDENCE_LEVEL",
        "matchConfidence": "CONFIDENCE_NUMERIC",
      }],
    },
  },
  "context": {
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
  },
  "sendTime": "SEND_TIME",
}

फ़ॉर्मैटिंग और वैल्यू के विकल्पों के लिए, यह देखें Message.

इमेज

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

अगर आपके एजेंट में ऑटोमेशन की सुविधा शामिल है, तो पक्का करें कि ऑटोमेशन को जवाब देने का तरीका पता हो अगर कोई उपयोगकर्ता कोई इमेज शेयर करता है. लाइव एजेंट के लिए, पक्का करें कि इमेज पास की गई हों या मैसेज में मौजूद यूआरएल पर क्लिक किया जा सकता है.

...
"message": {
    "text": "https://storage.googleapis.com/business-messages-us/936640919331/jzsu6cdguNGsBhmGJGuLs1DS?x-goog-algorithm\u003dGOOG4-RSA-SHA256\u0026x-goog-credential\u003duranium%40rcs-uranium.iam.gserviceaccount.com%2F20190826%2Fauto%2Fstorage%2Fgoog4_request\u0026x-goog-date\u003d20190826T201038Z\u0026x-goog-expires\u003d604800\u0026x-goog-signedheaders\u003dhost\u0026x-goog-signature\u003d89dbf7a74d21ab42ad25be071b37840a544a43d68e67270382054e1442d375b0b53d15496dbba12896b9d88a6501cac03b5cfca45d789da3e0cae75b050a89d8f54c1ffb27e467bd6ba1d146b7d42e30504c295c5c372a46e44728f554ba74b7b99bd9c6d3ed45f18588ed1b04522af1a47330cff73a711a6a8c65bb15e3289f480486f6695127e1014727cac949e284a7f74afd8220840159c589d48dddef1cc97b248dfc34802570448242eac4d7190b1b10a008404a330b4ff6f9656fa84e87f9a18ab59dc9b91e54ad11ffdc0ad1dc9d1ccc7855c0d263d93fce6f999971ec79879f922b582cf3bb196a1fedc3eefa226bb412e49af7dfd91cc072608e98"
  }
...

फ़ॉर्मैटिंग और वैल्यू के विकल्पों के लिए, यह देखें Message.

सुझाव

सुझाए गए जवाबों और सुझाई गई कार्रवाइयों की मदद से, उपयोगकर्ता जवाब दे सकते हैं या कार्रवाई कर सकते हैं टैप से कार्रवाइयां. जब कोई व्यक्ति किसी सुझाव पर टैप करता है, तो एजेंट को पेलोड मिलता है सुझाव टेक्स्ट और पोस्टबैक डेटा के साथ.

सुझाव वाले मैसेज का फ़ॉर्मैट इस तरह होता है.

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "requestId": "REQUEST_ID",
  "suggestionResponse": {
    "message": "conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "postbackData": "POSTBACK_DATA",
    "createTime": "RESPONSE_CREATE_TIME",
    "text": "SUGGESTION_TEXT",
    "suggestionType": "SUGGESTION_TYPE",
  }
  "context": {
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
  },
  "sendTime": "SEND_TIME",
}

फ़ॉर्मैटिंग और वैल्यू के विकल्पों के लिए, यह देखें SuggestionResponse.

पुष्टि करने का अनुरोध

पुष्टि करने के अनुरोध का सुझाव मिलने पर, उपयोगकर्ता OAuth से साइन इन कर सकते हैं सेवा देने वाली कंपनी/व्यक्ति को एजेंट को पहचान की जानकारी देनी होगी या एजेंट को ये काम करने की अनुमति देनी होगी उपयोगकर्ताओं पर कार्रवाई करें की ओर से. इसके साथ पुष्टि करें OAuth.

अगर कोई उपयोगकर्ता बताए गए OAuth प्रोवाइडर के साथ साइन इन कर लेता है, तो एजेंट को ऑथराइज़ेशन कोड के साथ पेलोड मिलता है. अगर कोई उपयोगकर्ता इनमें से किसी काम को पूरा नहीं करता है साइन इन करने पर, एजेंट को गड़बड़ी की जानकारी के साथ एक पेलोड मिलता है.

पुष्टि करने के अनुरोध वाले मैसेज का फ़ॉर्मैट इस तरह होता है.

{
  "agent": "brands/BRAND_ID/agents/AGENT_ID",
  "conversationId": "CONVERSATION_ID",
  "customAgentId": "CUSTOM_AGENT_ID",
  "requestId": "REQUEST_ID",
  "authenticationResponse": {
    "code": "AUTHORIZATION_CODE",
    "redirect_uri": "REDIRECT_URI",
    "errorDetails": {
      "error": "ERROR",
      "errorDescription": "ERROR_DESCRIPTION",
    },
  }
  "context": {
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
  },
  "sendTime": "SEND_TIME",
}

फ़ॉर्मैटिंग और वैल्यू के विकल्पों के लिए, यह देखें AuthenticationResponse.

मैसेज का कॉन्टेक्स्ट

हर मैसेज में कॉन्टेक्स्ट की जानकारी होती है कि मैसेज कहां से आया है.

...
  "context": {
    "customContext": "CUSTOM_CONTEXT",
    "entryPoint": "CONVERSATION_ENTRYPOINT",
    "placeId": "LOCATION_PLACE_ID",
    "nearPlaceId": "NEARBY_LOCATION_PLACE_ID",
    "deflectedPhoneNumber": "DEFLECTED_PHONE_NUMBER",
    "resolvedLocale": "MATCH_OF_USER_AND_AGENT_LOCALES",
    "userInfo": {
      "displayName": "USER_NAME",
      "userDeviceLocale": "USER_LOCALE",
    },
    "widget": {
      "url": "WEBSITE_URL",
      "widgetContext": "WIDGET_CONTEXT",
    },
  },
...
फ़ील्ड ब्यौरा
customContext पार्टनर की ओर से तय किया गया संदर्भ डेटा.
entryPoint वह मैसेज प्लैटफ़ॉर्म जिससे उपयोगकर्ता ने बातचीत शुरू की. EntryPoint से शुरू करें.
placeId स्थान के लिए Google स्थल डेटाबेस से एक अनन्य पहचानकर्ता मैसेज दिखता है. यह केवल स्थान-विशिष्ट से मिलने वाले संदेशों में दिखाई देता है एंट्री पॉइंट.
nearPlaceId Google स्थल डेटाबेस से प्रथम लोकल पैक में जगह की जानकारी. उन जगहों की पुष्टि करें जहां उपयोगकर्ता चैट करना चाहते हैं nearPlaceId वैल्यू मिलने के बाद सेट होगी.
deflectedPhoneNumber जिस फ़ोन नंबर ने Business Messages का इस्तेमाल करके, उपयोगकर्ता को कॉल करने से मना किया जब बातचीत शुरू हुई.
resolvedLocale

उपयोगकर्ता की स्थान-भाषा का सबसे सटीक मिलान (रिपोर्ट में बताया गया है userDeviceLocale) और एजेंट की काम करने वाली स्थान-भाषाएं (बातचीत की चुनिंदा सेटिंग की मदद से तय किया जाता है). यहां जाएं: स्थानीय भाषा में कॉन्टेंट उपलब्ध कराना और शुरू करें बातचीत कर सकते हैं.

स्थान-भाषा की वैल्यू, अच्छी तरह से फ़ॉर्मैट किया गया IETF BCP 47 भाषा टैग है.

userInfo.displayName मैसेज भेजने वाले उपयोगकर्ता का नाम. अगर उपयोगकर्ता इससे ऑप्ट आउट करता है पहचान शेयर करने की सुविधा, यह फ़ील्ड खाली है.
userInfo.userDeviceLocale उपयोगकर्ता की स्थान-भाषा, जिसे उसके डिवाइस से रिपोर्ट किया जाता है और सही फ़ॉर्मैट में IETF BCP 47 भाषा टैग.
widget.url उस वेबसाइट का यूआरएल जहां बातचीत वाला प्लैटफ़ॉर्म लॉन्च हुआ है.
widget.widgetContext इस्तेमाल किए गए विजेट के लिए, एट्रिब्यूट की वैल्यू data-bm-widget-context बातचीत शुरू करने के लिए.

बातचीत का इतिहास

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