Dialogflow की मदद से ऑटोमेशन जोड़ें

Dialogflow लैंग्वेज समझ (एनएलयू) टूल, जो उपयोगकर्ता के इनपुट को प्रोसेस करता है और उसे इंटेंट, और सही जवाबों के साथ जवाब देते हैं. दो वर्शन हैं का इस्तेमाल किया जा सकता है. अपने Business Messages के एजेंट को Dialogflow ES के साथ इंटिग्रेट करके, आसानी से आसान ऑटोमेशन बनाकर, एजेंट डेवलपमेंट जल्दी शुरू किया जा सकता है. इन्होंने बदलाव किया है Dialogflow CX के साथ इंटिग्रेट करके, ज़्यादा काम के लिए बेहतर ऑटोमेशन बनाए जा सकते हैं जटिल बातचीत शामिल है.

Business Messages के एजेंट, सीधे तौर पर इनके साथ इंटिग्रेशन की सुविधा देते हैं

इससे Business Messages के एजेंट को Dialogflow की अन्य सुविधाओं के साथ इंटिग्रेट किया जा सकेगा ES या Dialogflow CX, कृपया हर प्रॉडक्ट के दस्तावेज़ देखें.

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

Dialogflow इंटिग्रेशन

Business Messages की मदद से, Dialogflow पर आधारित ऑटोमेशन का फ़ायदा पाने से पहले, आपको Dialogflow के साथ काम करने की सुविधा चालू करनी होगी.

ज़रूरी शर्तें

शुरू करने के लिए, आपको इनकी ज़रूरत होगी

  • Business Messages एजेंट
  • Global क्षेत्र में मौजूद एक Dialogflow एजेंट, जिसकी मूल भाषा अंग्रेज़ी में है (hi)

अगर आपके पास Dialogflow एजेंट नहीं है, तो एक एजेंट बनाएं.

Dialogflow ES

Dialogflow ES इंटिग्रेशन को चालू करने से पहले, आपको इसकी ज़रूरत होगी Dialogflow एजेंट का प्रोजेक्ट आईडी. प्रोजेक्ट आईडी ढूंढने के लिए,

  1. Dialogflow कंसोल पर जाएं.
  2. वह Dialogflow एजेंट चुनें जिसे आपको Business Messages से कनेक्ट करना है. फिर गियर आइकन पर क्लिक करें अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है एजेंट के नाम के बगल में.
  3. Google प्रोजेक्ट में जाकर, प्रोजेक्ट आईडी की वैल्यू नोट करें.

Dialogflow CX

Dialogflow CX इंटिग्रेशन को चालू करने से पहले, आपको इसकी ज़रूरत होगी Dialogflow एजेंट का प्रोजेक्ट आईडी और एजेंट आईडी. इन आईडी का पता लगाने के लिए,

  1. Dialogflow CX कंसोल पर जाएं.
  2. अपना Dialogflow प्रोजेक्ट चुनें.
  3. एजेंट सिलेक्टर में, ओवरफ़्लो मेन्यू पर क्लिक करें अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है आपके Dialogflow एजेंट के बगल में.
  4. नाम कॉपी करें पर क्लिक करें. इसमें आपके एजेंट का पूरा नाम, निम्न प्रारूप: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID.
  5. प्रोजेक्ट आईडी और एजेंट आईडी की वैल्यू नोट करें.

इंटिग्रेशन बनाएं

  1. पार्टनर के Dialogflow सेवा खाते का ईमेल इस पते से पाएं dialogflowServiceAccountEmail. बदलें अपने पार्टनर आईडी से PARTNER_ID.

    cURL

    
    # This code gets the partner.
    # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/partners/get
    
    # Replace the __PARTNER_ID__
    # Make sure a service account key file exists at ./service_account_key.json
    
    curl -X GET \
    "https://businesscommunications.googleapis.com/v1/partners/__PARTNER_ID__" \
    -H "Content-Type: application/json" \
    -H "User-Agent: curl/business-communications" \
    -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
    

    Node.js

    
    /**
     * This code snippet gets a partner.
     * Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/partners/get
     *
     * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
     * Business Communications client library.
     */
    
    /**
     * Edit the values below:
     */
     const PARTNER_ID = 'EDIT_HERE';
     const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
    
     const businesscommunications = require('businesscommunications');
     const {google} = require('googleapis');
    
     // Initialize the Business Communications API
     const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
    
     // Set the scope that we need for the Business Communications API
     const scopes = [
       'https://www.googleapis.com/auth/businesscommunications',
     ];
    
     // Set the private key to the service account file
     const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
    
     async function main() {
       const authClient = await initCredentials();
    
       const partnerName = 'partners/' + PARTNER_ID;
    
       if (authClient) {
         // Setup the parameters for the API call
         const apiParams = {
           auth: authClient,
           name: partnerName,
         };
    
         bcApi.partners.get(apiParams, {}, (err, response) => {
           if (err !== undefined && err !== null) {
             console.dir(err);
           } else {
             // Agent found
             console.log(response.data);
           }
         });
       }
       else {
         console.log('Authentication failure.');
       }
     }
    
     /**
      * Initializes the Google credentials for calling the
      * Business Messages API.
      */
      async function initCredentials() {
       // Configure a JWT auth client
       const authClient = new google.auth.JWT(
         privatekey.client_email,
         null,
         privatekey.private_key,
         scopes,
       );
    
       return new Promise(function(resolve, reject) {
         // Authenticate request
         authClient.authorize(function(err, tokens) {
           if (err) {
             reject(false);
           } else {
             resolve(authClient);
           }
         });
       });
     }
    
     main();
    

    Python

    
    """This code gets a partner.
    
    Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/partners/get
    
    This code is based on the https://github.com/google-business-communications/python-businessmessages
    Python Business Messages client library.
    """
    
    from oauth2client.service_account import ServiceAccountCredentials
    from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
    from businesscommunications.businesscommunications_v1_messages import (
        Agent,
        BusinesscommunicationsPartnersGetRequest,
    )
    
    # Edit the values below:
    PARTNER_ID = 'EDIT_HERE'
    SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
    SERVICE_ACCOUNT_FILE = './service_account_key.json'
    
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    
    client = BusinesscommunicationsV1(credentials=credentials)
    
    partners_service = BusinesscommunicationsV1.PartnersService(client)
    
    partner_name = 'partners/' + PARTNER_ID
    
    partner = partners_service.Get(BusinesscommunicationsPartnersGetRequest(
            name=partner_name
        ))
    
    print(partner)
    
  2. सेवा खाते के ईमेल पते को कॉपी करें. इस खाते से आपके Business Messages को कनेक्ट किया जाता है के लिए उपलब्ध हैं.

  3. Google Cloud में कंसोल, अपना Dialogflow प्रोजेक्ट चुनें.

  4. IAM पर जाएं अनुमतियां हैं.

  5. जोड़ें पर क्लिक करें और नए सदस्यों के लिए सेवा खाते का ईमेल डालें.

  6. कोई भूमिका चुनने के लिए, Dialogflow कंसोल एजेंट एडिटर को चुनें.

  7. एक और भूमिका जोड़ें पर क्लिक करें और Dialogflow एपीआई क्लाइंट चुनें.

  8. सेव करें पर क्लिक करें.

  9. अपने Dialogflow प्रोजेक्ट को Business Messages के एजेंट के साथ इंटिग्रेट करें.

    ज़रूरत के हिसाब से, AUTO_RESPONSE_STATUS को 'चालू है' या 'बंद है' से बदलें यह जानने के लिए कि Business Messages से जवाब अपने-आप मिले या नहीं ऐसे उपयोगकर्ता जिनके पास Dialogflow के जवाब हैं.

    Dialogflow ES

    cURL

    
    # This code creates a Dialogflow ES integration.
    # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_es
    
    # Replace the __BRAND_ID__, __AGENT_ID__, __DIALOGFLOW_ES_PROJECT_ID__ and __AUTO_RESPONSE_STATUS__
    # Make sure a service account key file exists at ./service_account_key.json
    
    curl -X POST \
    "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations" \
    -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
    -H "Content-Type: application/json"  \
    -H "User-Agent: curl/business-communications" \
    -d '{
       "dialogflowEsIntegration": {
         "dialogflowProjectId": "__DIALOGFLOW_ES_PROJECT_ID__",
         "autoResponseStatus": "__AUTO_RESPONSE_STATUS__"
       }
    }'
    

    Node.js

    
    /**
     * This code snippet creates a Dialogflow ES integration.
     * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_es
     *
     * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
     * Business Communications client library.
     */
    
    /**
     * Edit the values below:
     */
     const BRAND_ID = 'EDIT_HERE';
     const AGENT_ID = 'EDIT_HERE';
     const DIALOGFLOW_ES_PROJECT_ID = 'EDIT_HERE'
     const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
    
     const businesscommunications = require('businesscommunications');
     const {google} = require('googleapis');
     const uuidv4 = require('uuid').v4;
    
     // Initialize the Business Communications API
     const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
    
     // Set the scope that we need for the Business Communications API
     const scopes = [
       'https://www.googleapis.com/auth/businesscommunications',
     ];
    
     // Set the private key to the service account file
     const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
    
     async function main() {
       const authClient = await initCredentials();
       const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID;
    
       if (authClient) {
         const integrationObject = {
           dialogflowEsIntegration: {
             dialogflowProjectId: DIALOGFLOW_ES_PROJECT_ID,
             autoResponseStatus: 'ENABLED'
           }
         };
    
         // Setup the parameters for the API call
         const apiParams = {
           auth: authClient,
           parent: agentName,
           resource: integrationObject
         };
    
         bcApi.brands.agents.integrations.create(apiParams, {}, (err, response) => {
           if (err !== undefined && err !== null) {
             console.dir(err);
           } else {
             // Agent created
             console.log(response.data);
           }
         });
       }
       else {
         console.log('Authentication failure.');
       }
     }
    
     /**
      * Initializes the Google credentials for calling the
      * Business Messages API.
      */
      async function initCredentials() {
       // Configure a JWT auth client
       const authClient = new google.auth.JWT(
         privatekey.client_email,
         null,
         privatekey.private_key,
         scopes,
       );
    
       return new Promise(function(resolve, reject) {
         // Authenticate request
         authClient.authorize(function(err, tokens) {
           if (err) {
             reject(false);
           } else {
             resolve(authClient);
           }
         });
       });
     }
    
     main();
    

    Python

    
    """This code snippet creates a Dialogflow ES integration.
    
    Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_es
    
    This code is based on the https://github.com/google-business-communications/python-businessmessages
    Python Business Messages client library.
    """
    
    from oauth2client.service_account import ServiceAccountCredentials
    from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
    from businesscommunications.businesscommunications_v1_messages import (
        BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest,
        DialogflowEsIntegration
    )
    
    # Edit the values below:
    BRAND_ID = 'EDIT_HERE'
    AGENT_ID = 'EDIT_HERE'
    DIALOGFLOW_ES_PROJECT_ID = 'EDIT_HERE'
    SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
    SERVICE_ACCOUNT_FILE = './service_account_key.json'
    
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    
    client = BusinesscommunicationsV1(credentials=credentials)
    
    integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client)
    
    agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
    
    integration = integrations_service.Create(BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest(
      integration=DialogflowEsIntegration(
        autoResponseStatus=DialogflowEsIntegration.AutoResponseStatusValueValuesEnum.ENABLED,
        dialogflowProjectId=DIALOGFLOW_ES_PROJECT_ID
      ),
      parent=agent_name
    ))
    
    print(integration)
    

    Dialogflow CX

    cURL

    
    # This code creates a Dialogflow CX integration.
    # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_cx
    
    # Replace the __BRAND_ID__, __AGENT_ID__, __DIALOGFLOW_CX_PROJECT_ID__, __DIALOGFLOW_CX_AGENT_ID__ and __AUTO_RESPONSE_STATUS__
    # Make sure a service account key file exists at ./service_account_key.json
    
    curl -X POST \
    "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations" \
    -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
    -H "Content-Type: application/json"  \
    -H "User-Agent: curl/business-communications" \
    -d '{
       "dialogflowCxIntegration": {
         "dialogflowProjectId": "__DIALOGFLOW_CX_PROJECT_ID__",
         "dialogflowAgentId": "__DIALOGFLOW_CX_AGENT_ID__",
         "autoResponseStatus": "__AUTO_RESPONSE_STATUS__"
       }
    }'
    

    Node.js

    
    /**
     * This code snippet creates a Dialogflow CX integration.
     * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_cx
     *
     * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
     * Business Communications client library.
     */
    
    /**
     * Edit the values below:
     */
    const BRAND_ID = 'EDIT_HERE';
    const AGENT_ID = 'EDIT_HERE';
    const DIALOGFLOW_CX_AGENT_ID = 'EDIT_HERE'
    const DIALOGFLOW_CX_PROJECT_ID = 'EDIT_HERE'
    const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
    
    const businesscommunications = require('businesscommunications');
    const {google} = require('googleapis');
    const uuidv4 = require('uuid').v4;
    
    // Initialize the Business Communications API
    const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
    
    // Set the scope that we need for the Business Communications API
    const scopes = [
      'https://www.googleapis.com/auth/businesscommunications',
    ];
    
    // Set the private key to the service account file
    const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
    
    async function main() {
      const authClient = await initCredentials();
      const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID;
    
      if (authClient) {
        const integrationObject = {
          dialogflowCxIntegration: {
            dialogflowProjectId: DIALOGFLOW_CX_PROJECT_ID,
            dialogflowAgentId: DIALOGFLOW_CX_AGENT_ID,
            autoResponseStatus: 'ENABLED'
          }
        };
    
        // Setup the parameters for the API call
        const apiParams = {
          auth: authClient,
          parent: agentName,
          resource: integrationObject
        };
    
        bcApi.brands.agents.integrations.create(apiParams, {}, (err, response) => {
          if (err !== undefined && err !== null) {
            console.dir(err);
          } else {
            // Agent created
            console.log(response.data);
          }
        });
      }
      else {
        console.log('Authentication failure.');
      }
    }
    
    /**
     * Initializes the Google credentials for calling the
     * Business Messages API.
     */
     async function initCredentials() {
      // Configure a JWT auth client
      const authClient = new google.auth.JWT(
        privatekey.client_email,
        null,
        privatekey.private_key,
        scopes,
      );
    
      return new Promise(function(resolve, reject) {
        // Authenticate request
        authClient.authorize(function(err, tokens) {
          if (err) {
            reject(false);
          } else {
            resolve(authClient);
          }
        });
      });
    }
    
    main();
    

    Python

    
    """This code snippet creates a Dialogflow CX integration.
    
    Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#dialogflow_cx
    
    This code is based on the https://github.com/google-business-communications/python-businessmessages
    Python Business Messages client library.
    """
    
    from oauth2client.service_account import ServiceAccountCredentials
    from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
    from businesscommunications.businesscommunications_v1_messages import (
        BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest,
        DialogflowCxIntegration
    )
    
    # Edit the values below:
    BRAND_ID = 'EDIT_HERE'
    AGENT_ID = 'EDIT_HERE'
    DIALOGFLOW_CX_AGENT_ID = 'EDIT_HERE'
    DIALOGFLOW_CX_PROJECT_ID = 'EDIT_HERE'
    SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
    SERVICE_ACCOUNT_FILE = './service_account_key.json'
    
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    
    client = BusinesscommunicationsV1(credentials=credentials)
    
    integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client)
    
    agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
    
    integration = integrations_service.Create(BusinesscommunicationsBrandsAgentsIntegrationsCreateRequest(
      integration=DialogflowCxIntegration(
        autoResponseStatus=DialogflowCxIntegration.AutoResponseStatusValueValuesEnum.ENABLED,
        dialogflowAgentId=DIALOGFLOW_CX_AGENT_ID,
        dialogflowProjectId=DIALOGFLOW_CX_PROJECT_ID
      ),
      parent=agent_name
    ))
    
    print(integration)
    

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

Business Messages और Dialogflow को कनेक्ट करने में करीब दो मिनट लगते हैं. यहां की यात्रा पर हूं इंटिग्रेशन की स्थिति और इंटिग्रेशन की स्थिति OperationInfo.

इंटिग्रेशन अपडेट करना

अपने एजेंट की अपने-आप जवाब देने की सेटिंग को अपडेट करने के लिए, नीचे दिया गया कमांड चलाएं. AUTO_RESPONSE_STATUS को 'चालू है' से बदलें या यह इस बात पर निर्भर नहीं करता है कि आपको Business Messages की सुविधा अपने-आप चालू करनी है या नहीं Dialogflow के जवाब से उपयोगकर्ताओं को जवाब दे सकते हैं.

Dialogflow ES

cURL


# This code updates the Dialogflow association.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateDialogflowAssociation

# Replace the __BRAND_ID__ and __AGENT_ID__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/dialogflowAssociation?updateMask=enableAutoResponse" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "enableAutoResponse": true
}'

Dialogflow CX

cURL


# This code updates the Dialogflow association.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateDialogflowAssociation

# Replace the __BRAND_ID__ and __AGENT_ID__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/dialogflowAssociation?updateMask=enableAutoResponse" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "enableAutoResponse": true
}'

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

Dialogflow के अलग-अलग वर्शन के बीच स्विच करना

Business Messages का एजेंट, एक बार में सिर्फ़ एक Dialogflow इंटिग्रेशन के साथ काम कर सकता है. एक Dialogflow वर्शन से दूसरे पर जाने के लिए, आपको मौजूदा इंटिग्रेशन को सेट अप करें.

इंटिग्रेशन मिटाएं

अगर आपको अपने Business Messages के एजेंट से Dialogflow को हटाना है, तो इंटिग्रेशन को ध्यान में रखें.

cURL


# This code deletes an integration.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_the_integration

# Replace the __BRAND_ID__, __AGENT_ID__ and __INTEGRATION_ID__
# Make sure a service account key file exists at ./service_account_key.json

curl -X DELETE \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"

Node.js


/**
 * This code snippet deletes an integration.
 * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_the_integration
 *
 * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
 * Business Communications client library.
 */

/**
 * Edit the values below:
 */
 const BRAND_ID = 'EDIT_HERE';
 const AGENT_ID = 'EDIT_HERE';
 const INTEGRATION_ID = 'EDIT_HERE';
 const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';

 const businesscommunications = require('businesscommunications');
 const {google} = require('googleapis');
 const uuidv4 = require('uuid').v4;

 // Initialize the Business Communications API
 const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});

 // Set the scope that we need for the Business Communications API
 const scopes = [
   'https://www.googleapis.com/auth/businesscommunications',
 ];

 // Set the private key to the service account file
 const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);

 async function main() {
   const authClient = await initCredentials();
   const integrationName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID;

   if (authClient) {
     // Setup the parameters for the API call
     const apiParams = {
       auth: authClient,
       name: integrationName,
     };

     bcApi.brands.agents.integrations.delete(apiParams, {}, (err, response) => {
       if (err !== undefined && err !== null) {
         console.dir(err);
       } else {
         // Agent created
         console.log(response.data);
       }
     });
   }
   else {
     console.log('Authentication failure.');
   }
 }

 /**
  * Initializes the Google credentials for calling the
  * Business Messages API.
  */
  async function initCredentials() {
   // Configure a JWT auth client
   const authClient = new google.auth.JWT(
     privatekey.client_email,
     null,
     privatekey.private_key,
     scopes,
   );

   return new Promise(function(resolve, reject) {
     // Authenticate request
     authClient.authorize(function(err, tokens) {
       if (err) {
         reject(false);
       } else {
         resolve(authClient);
       }
     });
   });
 }

 main();

Python


"""This code snippet deletes an integration.

Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_the_integration

This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""

from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
    BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest
)

# Edit the values below:
BRAND_ID = 'EDIT_HERE'
AGENT_ID = 'EDIT_HERE'
INTEGRATION_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)

client = BusinesscommunicationsV1(credentials=credentials)

integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client)

integration_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID

integration = integrations_service.Delete(BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest(
  name=integration_name
))

print(integration)

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

इंटिग्रेशन के बारे में जानकारी पाएं

इंटिग्रेशन के बारे में जानकारी पाने के लिए, Business Communications का इस्तेमाल किया जा सकता है एपीआई तब तक, जब तक आपके पास इंटिग्रेशन की name वैल्यू है.

सिंगल इंटिग्रेशन के बारे में जानकारी पाएं

इंटिग्रेशन की जानकारी पाने के लिए, नीचे दिया गया कमांड चलाएं.

cURL


# This code gets information about an integration.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#get_info_for_a_single_integration

# Replace the __BRAND_ID__, __AGENT_ID__ and __INTEGRATION_ID__
# Make sure a service account key file exists at ./service_account_key.json

curl -X GET \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"

Node.js


/**
 * This code snippet gets information about an integration.
 * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#get_info_for_a_single_integration
 *
 * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
 * Business Communications client library.
 */

/**
 * Edit the values below:
 */
 const BRAND_ID = 'EDIT_HERE';
 const AGENT_ID = 'EDIT_HERE';
 const INTEGRATION_ID = 'EDIT_HERE';
 const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';

 const businesscommunications = require('businesscommunications');
 const {google} = require('googleapis');
 const uuidv4 = require('uuid').v4;

 // Initialize the Business Communications API
 const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});

 // Set the scope that we need for the Business Communications API
 const scopes = [
   'https://www.googleapis.com/auth/businesscommunications',
 ];

 // Set the private key to the service account file
 const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);

 async function main() {
   const authClient = await initCredentials();
   const integrationName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID;

   if (authClient) {
     // Setup the parameters for the API call
     const apiParams = {
       auth: authClient,
       name: integrationName,
     };

     bcApi.brands.agents.integrations.get(apiParams, {}, (err, response) => {
       if (err !== undefined && err !== null) {
         console.dir(err);
       } else {
         // Agent created
         console.log(response.data);
       }
     });
   }
   else {
     console.log('Authentication failure.');
   }
 }

 /**
  * Initializes the Google credentials for calling the
  * Business Messages API.
  */
  async function initCredentials() {
   // Configure a JWT auth client
   const authClient = new google.auth.JWT(
     privatekey.client_email,
     null,
     privatekey.private_key,
     scopes,
   );

   return new Promise(function(resolve, reject) {
     // Authenticate request
     authClient.authorize(function(err, tokens) {
       if (err) {
         reject(false);
       } else {
         resolve(authClient);
       }
     });
   });
 }

 main();

Python


"""This code snippet gets information about an integration.

Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#get_info_for_a_single_integration

This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""

from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
    BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest
)

# Edit the values below:
BRAND_ID = 'EDIT_HERE'
AGENT_ID = 'EDIT_HERE'
INTEGRATION_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)

client = BusinesscommunicationsV1(credentials=credentials)

integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client)

integration_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/integrations/' + INTEGRATION_ID

integration = integrations_service.Get(BusinesscommunicationsBrandsAgentsIntegrationsDeleteRequest(
  name=integration_name
))

print(integration)

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

एजेंट के लिए सभी इंटिग्रेशन की सूची बनाएं

अगर आपको इंटिग्रेशन का नाम नहीं पता है, तो यहां बताई गई सभी चीज़ों की जानकारी INTEGRATION_ID को छोड़कर, किसी एजेंट से जुड़े इंटिग्रेशन की वैल्यू को GET अनुरोध के यूआरएल से लिया गया है.

cURL


# This code lists all integrations for an agent.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#list_all_integrations_for_an_agent

# Replace the __BRAND_ID__ and __AGENT_ID__
# Make sure a service account key file exists at ./service_account_key.json

curl -X GET \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"

Node.js


/**
 * This code snippet lists all integrations for an agent.
 * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#list_all_integrations_for_an_agent
 *
 * This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
 * Business Communications client library.
 */

/**
 * Edit the values below:
 */
 const BRAND_ID = 'EDIT_HERE';
 const AGENT_ID = 'EDIT_HERE';
 const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';

 const businesscommunications = require('businesscommunications');
 const {google} = require('googleapis');
 const uuidv4 = require('uuid').v4;

 // Initialize the Business Communications API
 const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});

 // Set the scope that we need for the Business Communications API
 const scopes = [
   'https://www.googleapis.com/auth/businesscommunications',
 ];

 // Set the private key to the service account file
 const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);

 async function main() {
   const authClient = await initCredentials();

   if (authClient) {
     // Setup the parameters for the API call
     const apiParams = {
       auth: authClient,
       parent: 'brands/' + BRAND_ID + '/agents/' + AGENT_ID,
     };

     bcApi.brands.agents.integrations.list(apiParams, {}, (err, response) => {
       if (err !== undefined && err !== null) {
         console.dir(err);
       } else {
         // Agent created
         console.log(response.data);
       }
     });
   }
   else {
     console.log('Authentication failure.');
   }
 }

 /**
  * Initializes the Google credentials for calling the
  * Business Messages API.
  */
  async function initCredentials() {
   // Configure a JWT auth client
   const authClient = new google.auth.JWT(
     privatekey.client_email,
     null,
     privatekey.private_key,
     scopes,
   );

   return new Promise(function(resolve, reject) {
     // Authenticate request
     authClient.authorize(function(err, tokens) {
       if (err) {
         reject(false);
       } else {
         resolve(authClient);
       }
     });
   });
 }

 main();

Python


"""This code snippet lists all integrations for an agent.

Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#list_all_integrations_for_an_agent

This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""

from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
    BusinesscommunicationsBrandsAgentsIntegrationsListRequest
)

# Edit the values below:
BRAND_ID = 'EDIT_HERE'
AGENT_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)

client = BusinesscommunicationsV1(credentials=credentials)

integrations_service = BusinesscommunicationsV1.BrandsAgentsIntegrationsService(client)

agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID

integration = integrations_service.List(
  BusinesscommunicationsBrandsAgentsIntegrationsListRequest(parent=agent_name)
)

print(integration)

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

इंटेंट मैचिंग

Business Messages के एजेंट के लिए, Dialogflow को इंटिग्रेट करने की सुविधा चालू करने के बाद, एजेंट को समझने के लिए, वह आपके Dialogflow प्रोजेक्ट के कॉन्फ़िगर किए गए इंटेंट का इस्तेमाल कर सकता है. कोड लिखे बिना ही उपयोगकर्ता के सवालों के जवाब दे सकते हैं. इस बारे में ज़्यादा जानने के लिए इंटेंट के लिए, Dialogflow ES के लिए दस्तावेज़ देखें और Dialogflow CX का इस्तेमाल करें.

बातचीत वाले हर विकल्प के लिए, अपने Dialogflow के इंटेंट कॉन्फ़िगर करें सहायता मिलती है. Business Messages के एजेंट, Dialogflow का इस्तेमाल इन कामों के लिए करते हैं उपयोगकर्ता के मैसेज को समझ सके.

Dialogflow एपीआई को कॉल करते समय, Business Messages उपयोगकर्ता के मैसेज का पेलोड आपके मकसद और उन्हें पूरा करने के लिए बने वेबहुक में. जब किसी उपयोगकर्ता के मैसेज का मिलान होता है इंटेंट से, इस पेलोड को Struct फ़ॉर्मैट में ऐक्सेस करें QueryParameters में business_messages_payload फ़ील्ड.

पेलोड में DialogflowResponse को छोड़कर, उपयोगकर्ता के मैसेज के सभी फ़ील्ड शामिल होते हैं.

Dialogflow CX के लिए Business Messages, channel नाम का एक सेशन पैरामीटर भी आपके इंटेंट पर पास करता है, जिसकी वैल्यू google_business_messages होती है. इसे अपने एजेंट में, यहां दिए गए फ़ॉर्मैट में रेफ़रंस किया जा सकता है: $session.params.channel.

इस पैरामीटर का इस्तेमाल आपके Dialogflow फ़ुलफ़िलमेंट में शर्त जोड़ने के लिए किया जा सकता है, ताकि एक ही Dialogflow एजेंट में कई चैनल काम कर सकें.

क्वेरी पैरामीटर के बारे में ज़्यादा जानने के लिए, Dialogflow ES और Dialogflow CX के रेफ़रंस देखें.

ज़रूरी शर्तें

Dialogflow में एनएलयू मॉडल बनाते समय, अलग-अलग तरह के कॉन्फ़िगरेशन कॉन्फ़िगर किए जा सकते हैं इंटेंट के लिए रिस्पॉन्स टाइप का इस्तेमाल करें. Business Messages, डिफ़ॉल्ट रिस्पॉन्स में काम करता है. इसमें ये चीज़ें शामिल हो सकती हैं:

  • टेक्स्ट
  • पसंद के मुताबिक पेलोड
  • लाइव एजेंट हैंडऑफ़ (सिर्फ़ Dialogflow CX)

कस्टम पेलोड, Business Messages JSON के मान्य मैसेज रिस्पॉन्स से मेल खाना चाहिए ऑब्जेक्ट ढूंढें. किसी इंटेंट के लिए कस्टम पेलोड रिस्पॉन्स कॉन्फ़िगर करते समय, Business Messages इन फ़ील्ड को अनदेखा करता है:

  • name
  • messageId
  • representative

इन सैंपल के तौर पर दिए गए जवाब देखें.

सुझावों वाला टेक्स्ट

{
  "text": "Hello World!",
  "fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
  "suggestions": [
    {
      "reply": {
        "text": "Hello",
        "postbackData": "hello-formal"
      }
    },
    {
      "reply": {
        "text": "Hi!",
        "postbackData": "hello-informal"
      }
    }
  ]
}

रिच कार्ड

{
  "fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
  "richCard": {
    "standaloneCard": {
      "cardContent": {
        "title": "Hello, world!",
        "description": "Sent with Business Messages.",
        "media": {
          "height": "TALL",
          "contentInfo":{
            "altText": "Google logo",
            "fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
            "forceRefresh": "false"
          }
        },
        "suggestions": [
          {
            "reply": {
              "text": "Suggestion #1",
              "postbackData": "suggestion_1"
            }
          },
          {
            "reply": {
              "text": "Suggestion #2",
              "postbackData": "suggestion_2"
            }
          }
        ]
      }
    }
  }
}
{
  "fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
  "richCard": {
    "carouselCard": {
      "cardWidth": "MEDIUM",
      "cardContents": [
        {
          "title": "Card #1",
          "description": "The description for card #1",
          "suggestions": [
            {
              "reply": {
                "text": "Card #1",
                "postbackData": "card_1"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/cute-dog.jpg",
              "forceRefresh": false
            }
          }
        },
        {
          "title": "Card #2",
          "description": "The description for card #2",
          "suggestions": [
            {
              "reply": {
                "text": "Card #2",
                "postbackData": "card_2"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/elephant.jpg",
              "forceRefresh": false
            }
          }
        }
      ]
    }
  }
}

लाइव एजेंट हैंडऑफ़

{
  "metadata": {}
}

अक्सर पूछे जाने वाले सवाल बॉट

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

अक्सर पूछे जाने वाले सवाल बॉट का इस्तेमाल करने के लिए, Business Messages के बारे में अक्सर पूछे जाने वाले सवाल से चैट करें बॉट.

ज़रूरी शर्तें

अक्सर पूछे जाने वाले सवाल वाला बॉट बनाने से पहले, यह ज़रूरी है कि आपके सवाल और जवाब इस ईमेल पते पर उपलब्ध हों नॉलेज दस्तावेज़ (ज़्यादा से ज़्यादा 50 एमबी): सार्वजनिक तौर पर उपलब्ध एचटीएमएल फ़ाइल या CSV फ़ाइल.

आम तौर पर, नॉलेज दस्तावेज़

  • इसके जवाबों में सीमित मार्कडाउन शामिल किया जा सकता है. इसके बारे में रिच बॉक्स में बताया गया है टेक्स्ट.
  • फ़ाइल का साइज़ 50 एमबी से ज़्यादा नहीं होना चाहिए.
  • सवाल/जवाब 2,000 से ज़्यादा नहीं होने चाहिए.
  • अलग-अलग जवाबों वाले डुप्लीकेट सवालों को बढ़ावा न दें.

एचटीएमएल फ़ाइलों के लिए,

  • सार्वजनिक यूआरएल की फ़ाइलों को Google के सर्च इंडेक्सर से क्रॉल किया जाना ज़रूरी है, ताकि वे Search इंडेक्स में मौजूद रहें. आप Google की सहायता टीम से संपर्क करके, Search Console. ध्यान दें कि इंडेक्सर, आपके कॉन्टेंट को अप-टू-डेट नहीं रखता. आपको साफ़ तौर पर सोर्स कॉन्टेंट में बदलाव होने पर, अपने दस्तावेज़ को अपडेट करें.
  • Dialogflow, जवाब बनाते समय कॉन्टेंट से एचटीएमएल टैग हटा देता है. क्योंकि यही नहीं, बेहतर होगा कि एचटीएमएल टैग का इस्तेमाल न करें. साथ ही, जहां तक हो सके सादे टेक्स्ट का इस्तेमाल करें.
  • सिर्फ़ एक सवाल/जवाब वाली फ़ाइल का इस्तेमाल नहीं किया जा सकता.

CSV फ़ाइलों के लिए,

  • Files के पहले कॉलम में सवाल और दूसरे कॉलम में जवाब होने चाहिए, बिना हेडर के.
  • फ़ाइलों में डीलिमिटर के तौर पर कॉमा का इस्तेमाल किया जाना चाहिए.

अक्सर पूछे जाने वाले सवालों के लिए बॉट बनाएं

अक्सर पूछे जाने वाले सवालों वाला बॉट बनाने के लिए, आपको सबसे पहले एक नॉलेज बेस बनाना होगा. इसमें आपसे सभी ज़रूरी जानकारी सेव की जा सकेगी बॉट का डेटा शामिल करें, फिर अपने सवाल/जवाब की जोड़ी के साथ एक या ज़्यादा दस्तावेज़ अपने नॉलेज बेस.

नॉलेज बेस बनाएं

नॉलेज बेस बनाने के लिए, नीचे दिया गया कमांड चलाएं. बदलें BRAND_ID, AGENT_ID, और INTEGRATION_ID वैल्यू को दस्तावेज़ के name से यूनीक वैल्यू के साथ सबमिट करें. बदलें KNOWLEDGE_BASE_DISPLAY_NAME का विकल्प चुनें.

नॉलेज बेस बनाने के बाद, दस्तावेज़ बनाए जा सकते हैं शामिल करें.

cURL


# This code creates a knowledge base.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#create-knowledge-base

# Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__ and __KNOWLEDGE_BASE_DISPLAY_NAME__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "dialogflowEsIntegration": {
    "dialogflowKnowledgeBases": [
      {
        "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__"
      }
    ]
  }
}'

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

नॉलेज दस्तावेज़ बनाएं

नॉलेज दस्तावेज़ बनाने के लिए, नीचे दिया गया निर्देश चलाएं.

मौजूदा दस्तावेज़ों की सूची में दस्तावेज़ जोड़ें या अगर कोई सूची नहीं है, तो नई सूची बनाएं मौजूद है. मौजूदा दस्तावेज़ों की सूची में दस्तावेज़ का name शामिल होना चाहिए अनुरोध में मान.

सार्वजनिक एचटीएमएल फ़ाइल

नीचे दिए गए वैरिएबल को बदलें:

  • BRAND_ID, AGENT_ID, और INTEGRATION_ID इंटिग्रेशन के name से यूनीक वैल्यू के साथ
  • KNOWLEDGE_BASE_DISPLAY_NAME और DOCUMENT_DISPLAY_NAME के साथ अपनी पसंद की स्ट्रिंग की पहचान करना
  • PUBLIC_URL के बारे में जानें दस्तावेज़ का सार्वजनिक यूआरएल

cURL


# This code creates a knowledge base document from an HTML document and adds it to the knowledge base.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#create-document

# Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__, __KNOWLEDGE_BASE_DISPLAY_NAME__, __DOCUMENT_DISPLAY_NAME__ and __PUBLIC_URL__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "dialogflowEsIntegration": {
    "dialogflowKnowledgeBases": [
      {
        "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__",
        "documents": [
          {
            "displayName": "__DOCUMENT_DISPLAY_NAME__",
            "faqUrl": "__PUBLIC_URL__"
          }
        ]
      }
    ]
  }
}'

लोकल CSV फ़ाइल

नीचे दिए गए वैरिएबल को बदलें:

  • BRAND_ID, AGENT_ID, और INTEGRATION_ID इंटिग्रेशन के name से यूनीक वैल्यू के साथ
  • KNOWLEDGE_BASE_DISPLAY_NAME और DOCUMENT_DISPLAY_NAME के साथ अपनी पसंद की स्ट्रिंग की पहचान करना
  • CSV फ़ाइल के साथ CSV_RAW_BYTES बेस64-एन्कोडेड स्ट्रिंग के रूप में फ़ाइल

cURL


# This code creates a knowledge base document from a CSV document and adds it to the knowledge base.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#create-document

# Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__, __KNOWLEDGE_BASE_DISPLAY_NAME__, __DOCUMENT_DISPLAY_NAME__ and __CSV_RAW_BYTES__
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "dialogflowEsIntegration": {
    "dialogflowKnowledgeBases": [
      {
        "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__",
        "documents": [
          {
            "displayName": "__DOCUMENT_DISPLAY_NAME__",
            "rawContent": "__CSV_RAW_BYTES__"
          }
        ]
      }
    ]
  }
}'

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

नॉलेज बेस में किसी दस्तावेज़ को जोड़ने में करीब दो मिनट लगते हैं. जांच करने के लिए दस्तावेज़ की स्थिति, एकीकरण की जानकारी पाएं OperationInfo.

नॉलेज दस्तावेज़ मिटाना

अगर आपको अपने Business Messages के एजेंट से सवाल/जवाब की पेयर हटाना है, तो उस नॉलेज दस्तावेज़ को मिटाएं जिसमें ये निर्देश मौजूद हैं.

किसी एक मौजूदा दस्तावेज़ को मिटाने के लिए, नीचे दिया गया कमांड चलाएं. बदलें BRAND_ID, AGENT_ID, और INTEGRATION_ID वैल्यू को दस्तावेज़ के name से यूनीक वैल्यू के साथ सबमिट करें. बदलें सही स्ट्रिंग के साथ KNOWLEDGE_BASE_DISPLAY_NAME.

cURL


# This code deletes a knowledge base document.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/integrate/dialogflow?method=api#delete_a_knowledge_document

# Replace the __BRAND_ID__, __AGENT_ID__, __INTEGRATION_ID__ and __KNOWLEDGE_BASE_DISPLAY_NAME__
# To delete all knowledge bases, set dialogflowKnowledgeBases to an empty list. Otherwise, the list should contain all existing knowledgebases except the one you would like to remove.
# Make sure a service account key file exists at ./service_account_key.json

curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/integrations/__INTEGRATION_ID__?updateMask=dialogflowEsIntegration.dialogflowKnowledgeBases" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
  "dialogflowEsIntegration": {
    "dialogflowKnowledgeBases": [
      {
        "displayName": "__KNOWLEDGE_BASE_DISPLAY_NAME__"
      }
    ]
  }
}'

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

अपने-आप मिलने वाले जवाब

अगर आप Dialogflow इंटिग्रेशन के दौरान, अपने-आप जवाब भेजने की सुविधा चालू करते हैं, तो Business Messages, Dialogflow के ज़रिए उपयोगकर्ता को अपने-आप जवाब देता है. आपका कारोबार मैसेज एजेंट, सबसे ज़्यादा कॉन्फ़िडेंस लेवल के हिसाब से जवाब देता है. एक डायलॉग बॉक्स में ES का इंटिग्रेशन, अगर अक्सर पूछे जाने वाले सवालों के जवाब और कस्टम इंटेंट, Business Messages, उस मैच के साथ जवाब देता है जिसमें सबसे ज़्यादा कॉन्फ़िडेंस लेवल की ज़रूरत होती है.

Business Messages, अपने-आप जवाब देने वाले सभी मैसेज को BOT से मिले हुए के तौर पर मार्क करता है प्रतिनिधि होते हैं. अगर आपका एजेंट लाइव एजेंट की सुविधा देता है, तो Business Messages, REPRESENTATIVE_JOINED के बाद अपने-आप जवाब देने की सुविधा को निलंबित कर देगा इवेंट और REPRESENTATIVE_LEFT इवेंट के बाद अपने-आप भेजे जाने वाले जवाब फिर से शुरू कर देगा. Handoff देखें बॉट से लेकर लाइव एजेंट तक.

अक्सर पूछे जाने वाले सवाल के जवाब के साथ अपने-आप जवाब देना

अगर अक्सर पूछे जाने वाले सवालों के जवाब भरोसेमंद हैं, तो Dialogflow ES इंटिग्रेशन की मदद से लेवल पर, Business Messages एक मैसेज के जवाब को मैप करता है. अगर कोई मिलता-जुलता, लेकिन अलग जवाब उपलब्ध है, तो मैसेज में "कोई और देखें जवाब" सुझाव. अगर ऐसा नहीं है, तो मैसेज में एक सवाल और सुझाया गया ऐसे जवाब जिनमें यह पूछा जाए कि मैसेज से उपयोगकर्ता का अनुरोध पूरा हुआ या नहीं.

इंटेंट से मिले जवाब के साथ अपने-आप जवाब दिया जा सकता है

इंटेंट रिस्पॉन्स में, इनमें से एक या उससे ज़्यादा रिस्पॉन्स शामिल हो सकते हैं.

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

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

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

लाइव एजेंट के ज़रिए अनुरोध अपने-आप मिलने की सुविधा

Dialogflow CX पर लाइव एजेंट का हैंडऑफ़ सेट किया जा सकता है जवाब. इससे यह पता चलता है कि बातचीत किसी व्यक्ति को सौंपी जानी चाहिए प्रतिनिधि के तौर पर उपलब्ध है. इसकी मदद से, अपने हैंडऑफ़ के लिए कस्टम मेटाडेटा भेजा जा सकता है प्रक्रिया. अगर इंटेंट रिस्पॉन्स में सबसे ज़्यादा कॉन्फ़िडेंस लेवल मैच होता है और वह इसमें लाइव एजेंट का हैंडऑफ़ शामिल होता है. साथ ही, Business Messages लाइव एजेंट के लिए अनुरोध किया गया इवेंट को भी टैग किया जा सकता है. इस इवेंट को मैनेज करने के लिए, देखें बॉट से लाइव एजेंट तक पहुंचने की सुविधा.

फ़ॉलबैक मैसेज की मदद से अपने-आप जवाब देना

अगर Dialogflow को हाई कॉन्फ़िडेंस लेवल मैच नहीं मिलता है, तो Business Messages फ़ॉलबैक रिस्पॉन्स. फ़ॉलबैक को Dialogflow ES में अलग तरीके से मैनेज किया जाता है और डायलॉग बॉक्स CX.

Dialogflow ES

अक्सर पूछे जाने वाले सवाल बॉट के लिए, अगर अक्सर पूछे जाने वाले सवालों के जवाब से कोई मिलान नहीं होता है, तो Business Messages फ़ॉलबैक मैसेज दिखाता है कि उसे कोई जवाब नहीं मिला.

कॉन्फ़िगर किए गए इंटेंट के लिए, अगर इंटेंट रिस्पॉन्स से कोई मैच नहीं होता है, तो Business Messages, फ़ॉलबैक इंटेंट रिस्पॉन्स भेजता है. आप Dialogflow से मिले फ़ॉलबैक टेक्स्ट का इस्तेमाल कर सकते हैं या अतिरिक्त टेक्स्ट और कस्टम पेलोड के साथ फ़ॉलबैक.

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

{
  "intentResponses": [
    {
      "intentName": "projects/df-integration/agent/intents/12345",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "1.0",
      "fulfillmentMessages": [
        {
          "text": "One more time?"
        }
      ]
    }
  ]
}

डायलॉग बॉक्स, intent_name और intent_display_name को पहले से अपने-आप भर देता है.

Dialogflow CX

Dialogflow CX, फ़ॉलबैक इंटेंट के रिस्पॉन्स को इस तरह हैंडल करता है पहले से मौजूद इवेंट. अगर इंटेंट जवाब से कोई मैच नहीं होता है, तो Business Messages Dialogflow में 'मेल नहीं खाने वाला' डिफ़ॉल्ट इवेंट से फ़ॉलबैक मैसेज. आप Dialogflow से मिले फ़ॉलबैक टेक्स्ट का इस्तेमाल करें या फ़ॉलबैक को कॉन्फ़िगर करें इसमें अतिरिक्त टेक्स्ट, पसंद के मुताबिक पेलोड, और लाइव एजेंट हैंडऑफ़ विकल्प शामिल हैं.

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

{
  "intentResponses": [
    {
      "intentName": "sys.no-match-default",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "0.3",
      "fulfillmentMessages": [
        {
          "text": "I missed that, say that again?"
        }
      ]
    }
  ]
}

Business Messages, intent_name और intent_display_name को हार्ड कोड करता है.

डायलॉग फ़्लो के खास फ़ील्ड

Dialogflow इंटिग्रेशन चालू करने के बाद, उपयोगकर्ता एजेंट को मैसेज भेजता है मिलता है शामिल करें dialogflowResponse ऑब्जेक्ट है. आपके वेबहुक को सभी उपयोगकर्ता मैसेज के लिए पेलोड मिलते हैं, भले ही Business Messages ने आपके की ओर से. अपने आप दिए जाने वाले जवाब की जांच करने के लिए, autoResponded फ़ील्ड में जाकर, तय करें कि आपको उपयोगकर्ता को जवाब देने की ज़रूरत है या नहीं.

Dialogflow ES

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
    }],
  "faqResponse": {
    "userQuestion": "USER_QUESTION",
    "answers": [{
      "faqQuestion": "FAQ_QUESTION",
      "faqAnswer": "FAQ_ANSWER",
      "matchConfidenceLevel": "CONFIDENCE_LEVEL",
      "matchConfidence": "CONFIDENCE_NUMERIC",
    }],
  },
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
फ़ील्ड ब्यौरा
queryText बातचीत वाली क्वेरी का ओरिजनल टेक्स्ट. अगर अपने-आप स्पेलिंग होती है Dialogflow मॉडल queryText के लिए, सुधार करने की सुविधा चालू की गई है इसमें सही किए गए उपयोगकर्ता का इनपुट शामिल है.
intentName मैच होने वाले इंटेंट का यूनीक आइडेंटिफ़ायर.
intentDisplayName मैच होने वाले इंटेंट का नाम.
intentDetectionConfidence मैच में अंकों वाली कॉन्फ़िडेंस रेटिंग queryText से intentName के बीच.
text मैसेज से दिया गया जवाब.
jsonPayload कस्टम पेलोड रिस्पॉन्स. यह स्ट्रिंग कस्टम Dialogflow में पेलोड के बारे में बताया गया है. अगर पेलोड में Business Messages का मान्य JSON JSON मौजूद नहीं है ऑब्जेक्ट स्ट्रक्चर के हिसाब से, error समस्या के बारे में बताता है.
error इंटेंट पूरा करने के मैसेज में किसी गड़बड़ी का ब्यौरा.
userQuestion उपयोगकर्ता के पूछा गया सवाल, जिसे Dialogflow ने पार्स किया है.
faqQuestion Dialogflow में मौजूद एक सवाल, उपयोगकर्ता के सवाल से मेल खाता है.
faqAnswer Dialogflow से मिला जवाब, उपयोगकर्ता के सवाल से मेल खाता है.
matchConfidenceLevel इनके बीच के मैच में आत्मविश्वास का स्तर userQuestion और faqQuestion.
matchConfidence के बीच के मैच में अंकों वाली कॉन्फ़िडेंस रेटिंग userQuestion और faqQuestion.
autoResponded Business Messages ने अपने-आप जवाब दिया है या नहीं एक उपयोगकर्ता, जिसे Dialogflow से जवाब मिल रहा है.
message अपने-आप दिए जाने वाले जवाब का पेलोड.
responseSource अपने-आप दिए जाने वाले जवाब का सोर्स. यहां जाएं: ResponseSource.

Dialogflow CX

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
      "liveAgentHandoff": {
        "metadata": {}
      }
    }],
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
फ़ील्ड ब्यौरा
queryText बातचीत वाली क्वेरी का ओरिजनल टेक्स्ट. अगर अपने-आप स्पेलिंग होती है Dialogflow मॉडल queryText के लिए, सुधार करने की सुविधा चालू की गई है इसमें सही किए गए उपयोगकर्ता का इनपुट शामिल है.
intentName मैच होने वाले इंटेंट का यूनीक आइडेंटिफ़ायर.
intentDisplayName मैच होने वाले इंटेंट का नाम.
intentDetectionConfidence मैच में अंकों वाली कॉन्फ़िडेंस रेटिंग queryText से intentName के बीच.
text मैसेज से दिया गया जवाब.
jsonPayload कस्टम पेलोड रिस्पॉन्स. यह स्ट्रिंग कस्टम Dialogflow में पेलोड के बारे में बताया गया है. अगर पेलोड में Business Messages का मान्य JSON JSON मौजूद नहीं है ऑब्जेक्ट स्ट्रक्चर के हिसाब से, error समस्या के बारे में बताता है.
error इंटेंट पूरा करने के मैसेज में किसी गड़बड़ी का ब्यौरा.
liveAgentHandoff लाइव एजेंट के हैंडऑफ़ की प्रोसेस के लिए कस्टम मेटाडेटा.
autoResponded Business Messages ने अपने-आप जवाब दिया है या नहीं एक उपयोगकर्ता, जिसे Dialogflow से जवाब मिल रहा है.
message अपने-आप दिए जाने वाले जवाब का पेलोड.
responseSource अपने-आप दिए जाने वाले जवाब का सोर्स. यहां जाएं: ResponseSource.