Dialogflow এর সাথে অটোমেশন যোগ করুন

ডায়ালগফ্লো হল একটি প্রাকৃতিক ভাষা বোঝার (NLU) টুল যা ব্যবহারকারীর ইনপুট প্রক্রিয়া করে, পরিচিত অভিপ্রায়ে ম্যাপ করে এবং উপযুক্ত উত্তর দিয়ে সাড়া দেয়। Dialogflow এর দুটি সংস্করণ রয়েছে। ডায়ালগফ্লো ES-এর সাথে আপনার ব্যবসার বার্তা এজেন্টকে একীভূত করে, আপনি সহজেই আপনার এজেন্ট বিকাশ শুরু করতে সহজ অটোমেশন তৈরি করতে পারেন। Dialogflow CX এর সাথে একীভূত করে, আপনি আরও জটিল কথোপকথনের জন্য উন্নত অটোমেশন তৈরি করতে পারেন।

বিজনেস মেসেজ এজেন্ট সরাসরি ইন্টিগ্রেশন সমর্থন করে

Dialogflow ES বা Dialogflow CX- এর অন্যান্য বৈশিষ্ট্যগুলির সাথে একটি বিজনেস মেসেজ এজেন্টকে সংহত করতে, প্রতিটি পণ্যের ডকুমেন্টেশন পড়ুন।

যখন একজন ব্যবহারকারী একটি ডায়ালগফ্লো ইন্টিগ্রেশন আছে এমন একটি এজেন্টকে একটি বার্তা পাঠায়, তখন ব্যবসা বার্তাগুলি ডায়ালগফ্লোতে ব্যবহারকারীর বার্তা পাঠায় এবং বার্তার dialogflowResponse অবজেক্টে এজেন্টের কাছে Dialogflow এর প্রতিক্রিয়া পাঠায়৷ আপনার পক্ষ থেকে কোনো পদক্ষেপ ছাড়াই স্বয়ংক্রিয়ভাবে ব্যবহারকারীর কাছে Dialogflow এর প্রতিক্রিয়া পাঠাতে আপনি এজেন্টদের কনফিগার করতে পারেন। বিস্তারিত জানার জন্য স্বয়ংক্রিয় প্রতিক্রিয়া দেখুন।

ডায়ালগফ্লো ইন্টিগ্রেশন

আপনি ব্যবসায়িক বার্তাগুলির মাধ্যমে ডায়ালগফ্লো-ভিত্তিক অটোমেশনের সুবিধা নিতে পারার আগে, আপনাকে ডায়ালগফ্লো ইন্টিগ্রেশন সক্ষম করতে হবে।

পূর্বশর্ত

শুরু করার জন্য, আপনার প্রয়োজন

  • একটি ব্যবসা বার্তা এজেন্ট
  • বৈশ্বিক অঞ্চলে একটি ডায়ালগফ্লো এজেন্ট যার মূল ভাষা ইংরেজি (en)

আপনার যদি ডায়ালগফ্লো এজেন্ট না থাকে, তাহলে একটি তৈরি করুন

ডায়ালগফ্লো ES

আপনি একটি Dialogflow ES ইন্টিগ্রেশন সক্ষম করার আগে, আপনার ডায়ালগফ্লো এজেন্টের প্রকল্প আইডি প্রয়োজন৷ প্রকল্প আইডি সনাক্ত করতে,

  1. ডায়ালগফ্লো কনসোলে নেভিগেট করুন।
  2. আপনি যে ডায়ালগফ্লো এজেন্টটি ব্যবসার বার্তাগুলিতে সংযোগ করতে চান সেটি নির্বাচন করুন, তারপরে গিয়ার আইকনে ক্লিক করুন৷ এজেন্ট নামের পাশে।
  3. Google প্রকল্পের অধীনে, প্রজেক্ট আইডি মানটি নোট করুন।

ডায়ালগফ্লো সিএক্স

আপনি একটি Dialogflow CX ইন্টিগ্রেশন সক্ষম করার আগে, আপনার ডায়ালগফ্লো এজেন্টের প্রকল্প আইডি এবং এজেন্ট আইডি প্রয়োজন৷ এই আইডিগুলি সনাক্ত করতে,

  1. ডায়ালগফ্লো সিএক্স কনসোলে নেভিগেট করুন।
  2. আপনার ডায়ালগফ্লো প্রকল্প নির্বাচন করুন।
  3. এজেন্ট সিলেক্টরে, ওভারফ্লো মেনুতে ক্লিক করুন আপনার ডায়ালগফ্লো এজেন্টের পাশে।
  4. কপি নাম ক্লিক করুন. এটি নিম্নলিখিত বিন্যাসে আপনার এজেন্টের পুরো নামটি কপি করে: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
  5. প্রজেক্ট আইডি এবং এজেন্ট আইডি মান নোট করুন।

ইন্টিগ্রেশন তৈরি করুন

  1. dialogflowServiceAccountEmail থেকে অংশীদারের Dialogflow পরিষেবা অ্যাকাউন্ট ইমেল পান। আপনার অংশীদার ID দিয়ে 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();

    পাইথন

    """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. পরিষেবা অ্যাকাউন্টের ইমেলটি অনুলিপি করুন। এই অ্যাকাউন্টটি আপনার ব্যবসার বার্তা এবং ডায়ালগফ্লো এজেন্টকে সংযুক্ত করে।

  3. Google ক্লাউড কনসোলে , আপনার ডায়ালগফ্লো প্রকল্প নির্বাচন করুন।

  4. IAM অনুমতিতে নেভিগেট করুন।

  5. যোগ করুন ক্লিক করুন, এবং নতুন সদস্যদের জন্য পরিষেবা অ্যাকাউন্ট ইমেল লিখুন।

  6. একটি ভূমিকা নির্বাচন করার জন্য, ডায়ালগফ্লো কনসোল এজেন্ট সম্পাদক নির্বাচন করুন।

  7. অন্য ভূমিকা যোগ করুন ক্লিক করুন এবং Dialogflow API ক্লায়েন্ট নির্বাচন করুন।

  8. Save এ ক্লিক করুন।

  9. আপনার ব্যবসা বার্তা এজেন্টের সাথে আপনার ডায়ালগফ্লো প্রজেক্টকে একীভূত করুন।

    AUTO_RESPONSE_STATUS ENABLED বা DISABLED দিয়ে প্রতিস্থাপন করুন, আপনি ব্যবসা বার্তাগুলি ডায়ালগফ্লো প্রতিক্রিয়া সহ ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে প্রতিক্রিয়া জানাতে চান কিনা তার উপর নির্ভর করে৷

    ডায়ালগফ্লো 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();

    পাইথন

    """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)

    ডায়ালগফ্লো সিএক্স

    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();

    পাইথন

    """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 দেখুন।

ব্যবসা বার্তা এবং ডায়ালগফ্লো সংযোগ করতে প্রায় দুই মিনিট সময় লাগে৷ ইন্টিগ্রেশনের স্থিতি পরীক্ষা করতে, ইন্টিগ্রেশনের OperationInfo পান।

ইন্টিগ্রেশন আপডেট করুন

আপনার এজেন্টের স্বতঃ-প্রতিক্রিয়া সেটিং আপডেট করতে, নিম্নলিখিত কমান্ডটি চালান। AUTO_RESPONSE_STATUS ENABLED বা DISABLED দিয়ে প্রতিস্থাপন করুন আপনি ব্যবসা বার্তাগুলি ডায়ালগফ্লো প্রতিক্রিয়া সহ ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে প্রতিক্রিয়া জানাতে চান কিনা তার উপর নির্ভর করে৷

ডায়ালগফ্লো 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
}'

ডায়ালগফ্লো সিএক্স

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 দেখুন।

ডায়ালগফ্লো সংস্করণগুলির মধ্যে স্যুইচ করুন

একটি বিজনেস মেসেজ এজেন্ট একবারে শুধুমাত্র একটি ডায়ালগফ্লো ইন্টিগ্রেশন সমর্থন করতে পারে। একটি ডায়ালগফ্লো সংস্করণ থেকে অন্য সংস্করণে স্যুইচ করতে, নতুন একটি তৈরি করার আগে আপনাকে বর্তমান ইন্টিগ্রেশনটি সরাতে হবে৷

ইন্টিগ্রেশন মুছুন

আপনি যদি আপনার ব্যবসা বার্তা এজেন্ট থেকে ডায়ালগফ্লো অপসারণ করতে চান তবে নিম্নলিখিত কমান্ডের সাথে ইন্টিগ্রেশনটি মুছুন।

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();

পাইথন

"""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 দেখুন।

ইন্টিগ্রেশন তথ্য পান

একটি ইন্টিগ্রেশন সম্পর্কে তথ্য পেতে, আপনি ব্যবসায়িক যোগাযোগ API ব্যবহার করতে পারেন, যতক্ষণ না আপনার কাছে ইন্টিগ্রেশনের 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();

পাইথন

"""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 দেখুন।

একজন এজেন্টের জন্য সমস্ত ইন্টিগ্রেশন তালিকাভুক্ত করুন

আপনি যদি ইন্টিগ্রেশনের নাম না জানেন, তাহলে আপনি একটি GET অনুরোধ URL থেকে INTEGRATION_ID মান বাদ দিয়ে একটি এজেন্টের সাথে যুক্ত সমস্ত ইন্টিগ্রেশনের তথ্য পেতে পারেন৷

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();

পাইথন

"""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 দেখুন।

অভিপ্রায় মিলে

আপনি একটি বিজনেস মেসেজ এজেন্টের জন্য ডায়ালগফ্লো ইন্টিগ্রেশন সক্ষম করার পরে, আপনার এজেন্ট আপনার ডায়ালগফ্লো প্রোজেক্টের কনফিগার করা উদ্দেশ্যগুলিকে বুঝতে এবং আপনাকে কোড না লিখতে ব্যবহারকারীর প্রশ্নের উত্তর দিতে পারে৷ অভিপ্রায় সম্পর্কে আরও জানতে, Dialogflow ES এবং Dialogflow CX- এর ডকুমেন্টেশন দেখুন।

আপনি অটোমেশনের মাধ্যমে সমর্থন করতে চান এমন প্রতিটি কথোপকথনের বিকল্পের জন্য আপনার ডায়ালগফ্লো অভিপ্রায়গুলি কনফিগার করুন৷ ব্যবসায়িক বার্তা এজেন্টরা ব্যবহারকারীর বার্তাগুলি বোঝার জন্য ডায়ালগফ্লোতে নির্ভর করে।

Dialogflow API-কে কল করার সময়, Business Messages ব্যবহারকারীর মেসেজ পেলোডকে আপনার উদ্দেশ্য এবং আপনার পরিপূর্ণতা ওয়েবহুকে পাঠায়। যখন একটি ব্যবহারকারীর বার্তা একটি অভিপ্রায়ের সাথে মিলে যায়, তখন আপনি QueryParameters মধ্যে business_messages_payload ক্ষেত্রে Struct ফর্ম্যাটে এই পেলোডটি অ্যাক্সেস করতে পারেন।

পেলোডে DialogflowResponse ব্যতীত ব্যবহারকারীর বার্তা থেকে সমস্ত ক্ষেত্র রয়েছে।

Dialogflow CX-এর জন্য, ব্যবসায়িক বার্তাগুলি আপনার উদ্দেশ্যগুলির সাথে google_business_messages মান সহ channel নামক একটি সেশন প্যারামিটার পাস করে এবং আপনি নিম্নলিখিত ফর্ম্যাটে আপনার এজেন্টে এটি উল্লেখ করতে পারেন: $session.params.channel

একই ডায়ালগফ্লো এজেন্টে একাধিক চ্যানেল সমর্থন করার জন্য এই প্যারামিটারটি আপনার ডায়ালগফ্লো পূরণে শর্ত যুক্ত করতে ব্যবহার করা যেতে পারে।

ক্যোয়ারী প্যারামিটার সম্পর্কে আরও জানতে, ডায়ালগফ্লো ইএস এবং ডায়ালগফ্লো সিএক্স রেফারেন্স দেখুন।

পূর্বশর্ত

Dialogflow এর মধ্যে NLU মডেল তৈরি করার সময়, আপনি একটি অভিপ্রায়ের জন্য বিভিন্ন ধরনের প্রতিক্রিয়া কনফিগার করতে পারেন। ব্যবসায়িক বার্তাগুলি ডিফল্ট প্রতিক্রিয়া সমর্থন করে, যার মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকতে পারে:

  • পাঠ্য
  • কাস্টম পেলোড
  • লাইভ এজেন্ট হ্যান্ডঅফ (শুধুমাত্র ডায়ালগফ্লো সিএক্স)

একটি কাস্টম পেলোড অবশ্যই একটি বৈধ ব্যবসা বার্তা JSON বার্তা প্রতিক্রিয়া অবজেক্টের সাথে মেলে। একটি অভিপ্রায়ের জন্য কাস্টম পেলোড প্রতিক্রিয়া কনফিগার করার সময়, ব্যবসা বার্তা নিম্নলিখিত ক্ষেত্রগুলিকে উপেক্ষা করে:

  • 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": {}
}

FAQ বট

আপনি একটি ব্যবসা বার্তা এজেন্টের জন্য একটি Dialogflow ES ইন্টিগ্রেশন সক্ষম করার পরে, আপনি একটি FAQ বট তৈরি করতে পারেন৷ যখন আপনি একটি সমর্থিত জ্ঞান নথি হিসাবে প্রশ্ন এবং উত্তর সরবরাহ করেন, তখন ব্যবসা বার্তা এবং ডায়ালগফ্লো আপনাকে কোড লিখতে ছাড়াই ব্যবহারকারীর প্রশ্নগুলি বোঝার এবং উত্তর দেওয়ার জন্য প্রয়োজনীয় পরিকাঠামো তৈরি করে।

কর্মরত একটি FAQ বট দেখতে, ব্যবসা বার্তা FAQ বট এর সাথে চ্যাট করুন।

পূর্বশর্ত

আপনি একটি প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী বট তৈরি করার আগে, আপনার জ্ঞানের নথি (সর্বোচ্চ 50 MB): একটি সর্বজনীনভাবে উপলব্ধ HTML ফাইল বা একটি CSV ফাইল হিসাবে উপলব্ধ আপনার প্রশ্ন এবং উত্তর প্রয়োজন৷

সাধারণত, জ্ঞান নথি

  • উত্তরগুলিতে সীমিত মার্কডাউন অন্তর্ভুক্ত করতে পারে, যেমন রিচ টেক্সটে উল্লেখ করা হয়েছে।
  • সর্বোচ্চ 50 এমবি সাইজ থাকতে হবে।
  • 2000টি প্রশ্ন/উত্তর জোড়ার বেশি হওয়া উচিত নয়।
  • বিভিন্ন উত্তর সহ ডুপ্লিকেট প্রশ্ন সমর্থন করবেন না।

HTML ফাইলের জন্য,

  • সর্বজনীন URL থেকে ফাইলগুলি অবশ্যই Google অনুসন্ধান সূচক দ্বারা ক্রল করা হয়েছে, যাতে সেগুলি অনুসন্ধান সূচীতে বিদ্যমান থাকে৷ আপনি Google সার্চ কনসোল দিয়ে এটি পরীক্ষা করতে পারেন। মনে রাখবেন যে ইনডেক্সার আপনার সামগ্রীকে তাজা রাখে না। উৎস বিষয়বস্তুর পরিবর্তন হলে আপনাকে অবশ্যই আপনার দস্তাবেজটি স্পষ্টভাবে আপডেট করতে হবে।
  • প্রতিক্রিয়া তৈরি করার সময় ডায়ালগফ্লো কন্টেন্ট থেকে HTML ট্যাগ সরিয়ে দেয়। এই কারণে, এইচটিএমএল ট্যাগ এড়াতে এবং সম্ভব হলে প্লেইন টেক্সট ব্যবহার করা ভাল।
  • একটি একক প্রশ্ন/উত্তর জোড়া সহ ফাইল সমর্থিত নয়।

CSV ফাইলের জন্য,

  • ফাইলের প্রথম কলামে প্রশ্ন থাকতে হবে এবং দ্বিতীয়টিতে উত্তর দিতে হবে, হেডার ছাড়াই।
  • ফাইলগুলিকে ডিলিমিটার হিসাবে কমা ব্যবহার করতে হবে।

একটি FAQ বট তৈরি করুন

একটি FAQ বট তৈরি করতে, আপনি প্রথমে বটের সমস্ত ডেটা সঞ্চয় করার জন্য একটি জ্ঞানের ভিত্তি তৈরি করুন, তারপর আপনার জ্ঞানের ভিত্তিতে প্রশ্ন/উত্তর জোড়া সহ এক বা একাধিক নথি যোগ করুন।

একটি জ্ঞান ভিত্তি তৈরি করুন

একটি জ্ঞান বেস তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান। 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 মান অন্তর্ভুক্ত করা উচিত।

সর্বজনীন HTML ফাইল

নিম্নলিখিত ভেরিয়েবলগুলি প্রতিস্থাপন করুন:

  • BRAND_ID , AGENT_ID , এবং INTEGRATION_ID ইন্টিগ্রেশনের name থেকে অনন্য মান সহ
  • আপনার পছন্দের শনাক্তকারী স্ট্রিং সহ KNOWLEDGE_BASE_DISPLAY_NAME এবং DOCUMENT_DISPLAY_NAME
  • জ্ঞান নথির সর্বজনীন URL সহ 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_RAW_BYTES একটি base64-এনকোডেড স্ট্রিং হিসাবে CSV ফাইল সহ

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 পান।

একটি জ্ঞান নথি মুছুন

আপনার ব্যবসার বার্তা এজেন্ট থেকে প্রশ্ন/উত্তর জোড়া মুছে ফেলতে হলে, নিম্নলিখিত কমান্ডের সাহায্যে জ্ঞানের নথিটি মুছে দিন।

একটি একক বিদ্যমান নথি মুছে ফেলার জন্য নিম্নলিখিত কমান্ডটি চালান। 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 দেখুন।

স্বয়ংক্রিয় প্রতিক্রিয়া

আপনি ডায়ালগফ্লো ইন্টিগ্রেশনের সময় স্বয়ংক্রিয় প্রতিক্রিয়া সক্ষম করলে, ব্যবসা বার্তা স্বয়ংক্রিয়ভাবে ডায়ালগফ্লো-এর মাধ্যমে ব্যবহারকারীকে প্রতিক্রিয়া জানায়৷ আপনার ব্যবসার বার্তা এজেন্ট সর্বোচ্চ আত্মবিশ্বাসের সাথে মিল রেখে সাড়া দেয়। একটি ডায়ালগফ্লো ES ইন্টিগ্রেশনের সাথে, যদি একটি FAQ উত্তর এবং একটি কাস্টম অভিপ্রায় উভয়ের সাথে মিল থাকে, ব্যবসার বার্তাগুলি সেই ম্যাচের সাথে সাড়া দেয় যার সর্বোচ্চ আত্মবিশ্বাস রয়েছে৷

ব্যবসায়িক বার্তাগুলি BOT প্রতিনিধিদের থেকে আসা সমস্ত স্বয়ংক্রিয়-প্রতিক্রিয়া বার্তাগুলিকে চিহ্নিত করে৷ যদি আপনার এজেন্ট লাইভ এজেন্টদের সমর্থন করে, ব্যবসা বার্তা REPRESENTATIVE_JOINED ইভেন্টগুলির পরে স্বয়ংক্রিয় প্রতিক্রিয়াগুলি স্থগিত করে এবং REPRESENTATIVE_LEFT ইভেন্টগুলির পরে স্বয়ংক্রিয় প্রতিক্রিয়াগুলি পুনরায় শুরু করে৷ বট থেকে লাইভ এজেন্ট পর্যন্ত হ্যান্ডঅফ দেখুন।

একটি প্রায়শই জিজ্ঞাসিত প্রশ্নের উত্তর সহ স্বয়ংক্রিয় প্রতিক্রিয়া

একটি ডায়ালগফ্লো ES ইন্টিগ্রেশনের মাধ্যমে, যদি একটি প্রায়শই জিজ্ঞাসিত প্রশ্নের উত্তরে সর্বোচ্চ আত্মবিশ্বাস থাকে, ব্যবসা বার্তা একটি পাঠ্য বার্তার উত্তর ম্যাপ করে। যদি একটি সম্পর্কিত কিন্তু ভিন্ন উত্তর উপলব্ধ থাকে, তাহলে বার্তাটি "অন্য উত্তর দেখুন" পরামর্শ প্রদর্শন করে। যদি তা না হয়, বার্তাটিতে একটি প্রশ্ন এবং প্রস্তাবিত উত্তর রয়েছে যা জিজ্ঞাসা করে যে বার্তাটি ব্যবহারকারীর অনুরোধ সন্তুষ্ট করেছে কিনা।

একটি অভিপ্রায় প্রতিক্রিয়া সঙ্গে স্বয়ংক্রিয় প্রতিক্রিয়া

উদ্দেশ্য প্রতিক্রিয়া নিম্নলিখিত প্রতিক্রিয়াগুলির মধ্যে এক বা একাধিক অন্তর্ভুক্ত করতে পারে৷

যদি একটি অভিপ্রায়ের প্রতিক্রিয়া সর্বোচ্চ আত্মবিশ্বাসের স্তরের সাথে মিলে যায়, তাহলে নিম্নলিখিতগুলি প্রযোজ্য হবে৷

  • যদি প্রতিক্রিয়ার অন্তত একটি পাঠ্য মান থাকে, ব্যবসা বার্তা এই মানটিকে একটি পাঠ্য বার্তায় মানচিত্র করে।
  • যদি প্রতিক্রিয়াটিতে একটি বৈধ বিজনেস মেসেজ JSON অবজেক্ট স্ট্রাকচার সহ অন্তত একটি কাস্টম পেলোড থাকে, তাহলে বিজনেস মেসেজ প্রদত্ত JSON অবজেক্ট ব্যবহার করে একটি বার্তা তৈরি করে।
  • যদি প্রতিক্রিয়াটিতে কমপক্ষে একটি লাইভ এজেন্ট হ্যান্ডঅফ প্রতিক্রিয়া থাকে, একটি লাইভ এজেন্ট অনুরোধের সাথে স্বয়ংক্রিয় প্রতিক্রিয়া দেখুন।

যেহেতু ডায়ালগফ্লো একটি অভিপ্রায় ম্যাচের মধ্যে একাধিক প্রতিক্রিয়া অন্তর্ভুক্ত করতে পারে, ব্যবসা বার্তা প্রতিটি পাঠ্য, কাস্টম পেলোড বা লাইভ এজেন্ট হ্যান্ডঅফ প্রতিক্রিয়া একটি পৃথক বার্তা হিসাবে প্রেরণ করে। যদি একটি অভিপ্রায় মিলে একাধিক বার্তা থাকে, কিন্তু তার মধ্যে কিছু ত্রুটিপূর্ণ হয়, ব্যবসা বার্তাগুলি শুধুমাত্র স্বয়ংক্রিয় প্রতিক্রিয়া হিসাবে বৈধ বার্তা পাঠায়৷

একটি লাইভ এজেন্ট অনুরোধ সহ স্বয়ংক্রিয় প্রতিক্রিয়া

Dialogflow CX লাইভ এজেন্ট হ্যান্ডঅফ প্রতিক্রিয়া সমর্থন করে। এটি সংকেত দেয় যে কথোপকথনটি একজন মানব প্রতিনিধির কাছে হস্তান্তর করা উচিত এবং এটি আপনাকে আপনার হ্যান্ডঅফ পদ্ধতির জন্য কাস্টম মেটাডেটা পাস করতে দেয়। যদি একটি অভিপ্রায়ের প্রতিক্রিয়া সর্বোচ্চ আত্মবিশ্বাসের স্তরের সাথে মিলে যায় এবং এতে একটি লাইভ এজেন্ট হ্যান্ডঅফ অন্তর্ভুক্ত থাকে, তাহলে বিজনেস মেসেজ আপনার ওয়েবহুকে একটি লাইভ এজেন্ট অনুরোধ করা ইভেন্ট পাঠায়। এই ইভেন্টটি পরিচালনা করতে, বট থেকে লাইভ এজেন্ট পর্যন্ত হ্যান্ডঅফ দেখুন।

একটি ফলব্যাক বার্তা সহ স্বয়ংক্রিয় প্রতিক্রিয়া

ডায়লগফ্লো যদি উচ্চ আত্মবিশ্বাসের স্তরের মিল না পায়, ব্যবসা বার্তা একটি ফলব্যাক প্রতিক্রিয়া পাঠায়। Dialogflow ES এবং Dialogflow CX-এ ফলব্যাকগুলি ভিন্নভাবে পরিচালনা করা হয়।

ডায়ালগফ্লো ES

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী বটগুলির জন্য, যদি একটি FAQ উত্তরের সাথে কোন মিল না থাকে, ব্যবসা বার্তা একটি ফলব্যাক বার্তা পাঠায় যে এটি একটি উত্তর খুঁজে পায়নি৷

কনফিগার করা অভিপ্রায়গুলির জন্য, যদি কোনও অভিপ্রায় প্রতিক্রিয়ার সাথে কোনও মিল না থাকে তবে ব্যবসা বার্তা একটি ফলব্যাক অভিপ্রায় প্রতিক্রিয়া পাঠায়৷ আপনি 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 বিল্ট-ইন ইভেন্ট হিসাবে ফলব্যাক অভিপ্রায় প্রতিক্রিয়াগুলি পরিচালনা করে। যদি কোনো অভিপ্রায়ের প্রতিক্রিয়ার সাথে কোনো মিল না থাকে, তাহলে Business Messages ডায়ালগফ্লোতে নো-ম্যাচ ডিফল্ট ইভেন্ট থেকে একটি ফলব্যাক বার্তা পাঠায়। আপনি Dialogflow দ্বারা প্রদত্ত ফলব্যাক পাঠ্য ব্যবহার করতে পারেন, অথবা অতিরিক্ত পাঠ্য, কাস্টম পেলোড এবং লাইভ এজেন্ট হ্যান্ডঅফ বিকল্পগুলির সাথে ফলব্যাক কনফিগার করতে পারেন।

এখানে একটি ফলব্যাক অভিপ্রায় প্রতিক্রিয়ার একটি উদাহরণ রয়েছে যা আপনার ওয়েবহুক পেতে পারে:

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

ব্যবসার বার্তা হার্ড-কোড intent_name এবং intent_display_name

ডায়ালগফ্লো-নির্দিষ্ট ক্ষেত্র

আপনি ডায়ালগফ্লো ইন্টিগ্রেশন সক্ষম করার পরে, এজেন্ট যে ব্যবহারকারী বার্তাগুলি গ্রহণ করে তাতে dialogflowResponse অবজেক্ট অন্তর্ভুক্ত থাকে। আপনার ওয়েবহুক সমস্ত ব্যবহারকারীর বার্তাগুলির জন্য পেলোড গ্রহণ করে তা নির্বিশেষে ব্যবসার বার্তাগুলি আপনার পক্ষে স্বয়ংক্রিয়ভাবে বার্তাটির প্রতিক্রিয়া জানায় বা না করে। একটি স্বয়ংক্রিয়-প্রতিক্রিয়া চেক করতে, autoResponded ক্ষেত্রটির মান দেখুন এবং আপনার ব্যবহারকারীকে প্রতিক্রিয়া জানাতে হবে কিনা তা স্থির করুন৷

ডায়ালগফ্লো 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 মূল কথোপকথনমূলক প্রশ্নের পাঠ্য। ডায়ালগফ্লো মডেলের জন্য স্বয়ংক্রিয় বানান সংশোধন সক্ষম করা থাকলে, queryText সঠিক ব্যবহারকারীর ইনপুট থাকে।
intentName মিলে যাওয়া অভিপ্রায়ের অনন্য শনাক্তকারী।
intentDisplayName মিলিত অভিপ্রায়ের নাম।
intentDetectionConfidence queryText এবং intentName এর মধ্যে মিলের সাংখ্যিক আত্মবিশ্বাসের রেটিং।
text একটি টেক্সট প্রতিক্রিয়া.
jsonPayload একটি কাস্টম পেলোড প্রতিক্রিয়া। এই স্ট্রিংটি ডায়ালগফ্লোতে সংজ্ঞায়িত কাস্টম পেলোডের সাথে মেলে। যদি পেলোডে একটি বৈধ বিজনেস মেসেজ JSON অবজেক্ট স্ট্রাকচার না থাকে, error বর্ণনা করে।
error একটি অভিপ্রায় পূর্ণতা বার্তা সহ একটি ত্রুটির একটি বিবরণ৷
userQuestion ব্যবহারকারী যে প্রশ্নটি করেছেন, ডায়ালগফ্লো দ্বারা পার্স করা হয়েছে।
faqQuestion ডায়ালগফ্লো থেকে একটি প্রশ্ন ব্যবহারকারীর প্রশ্নের সাথে মিলেছে।
faqAnswer ডায়ালগফ্লো থেকে একটি উত্তর ব্যবহারকারীর প্রশ্নের সাথে মিলেছে।
matchConfidenceLevel userQuestion এবং faqQuestion এর মধ্যে মিলের আস্থার স্তর।
matchConfidence userQuestion এবং faqQuestion এর মধ্যে মিলের সাংখ্যিক আস্থা রেটিং।
autoResponded Business Messages স্বয়ংক্রিয়ভাবে ডায়ালগফ্লো থেকে একটি উত্তর সহ ব্যবহারকারীর কাছে প্রতিক্রিয়া জানায় কিনা।
message স্বয়ংক্রিয় প্রতিক্রিয়ার পেলোড।
responseSource স্বয়ংক্রিয় প্রতিক্রিয়ার উত্স। ResponseSource দেখুন।

ডায়ালগফ্লো সিএক্স

...
"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 মূল কথোপকথনমূলক প্রশ্নের পাঠ্য। ডায়ালগফ্লো মডেলের জন্য স্বয়ংক্রিয় বানান সংশোধন সক্ষম করা থাকলে, queryText সঠিক ব্যবহারকারীর ইনপুট থাকে।
intentName মিলে যাওয়া অভিপ্রায়ের অনন্য শনাক্তকারী।
intentDisplayName মিলিত অভিপ্রায়ের নাম।
intentDetectionConfidence queryText এবং intentName এর মধ্যে মিলের সাংখ্যিক আত্মবিশ্বাসের রেটিং।
text একটি টেক্সট প্রতিক্রিয়া.
jsonPayload একটি কাস্টম পেলোড প্রতিক্রিয়া। এই স্ট্রিংটি ডায়ালগফ্লোতে সংজ্ঞায়িত কাস্টম পেলোডের সাথে মেলে। যদি পেলোডে একটি বৈধ বিজনেস মেসেজ JSON অবজেক্ট স্ট্রাকচার না থাকে, error বর্ণনা করে।
error একটি অভিপ্রায় পূর্ণতা বার্তা সহ একটি ত্রুটির একটি বিবরণ৷
liveAgentHandoff আপনার লাইভ এজেন্ট হ্যান্ডঅফ পদ্ধতির জন্য কাস্টম মেটাডেটা।
autoResponded Business Messages স্বয়ংক্রিয়ভাবে ডায়ালগফ্লো থেকে একটি উত্তর সহ ব্যবহারকারীর কাছে প্রতিক্রিয়া জানায় কিনা।
message স্বয়ংক্রিয় প্রতিক্রিয়ার পেলোড।
responseSource স্বয়ংক্রিয় প্রতিক্রিয়ার উত্স। ResponseSource দেখুন।