پس از ثبت نام بهعنوان شریک ، میتوانید با ایجاد نمایندگیهای Business Messages برای مارکهایی که مدیریت میکنید، مکالمات را فعال کنید.
عامل یک نهاد مکالمه ای است که کاربران با آن تعامل دارند. شما برای هر برندی که مدیریت می کنید یک نماینده ایجاد می کنید. شما نمایندگانی را با Business Communications API ایجاد و مدیریت میکنید و پیامرسانی را برای نمایندگان خود با Business Messages API کنترل میکنید.
یک نماینده شامل عملکردهای تجاری یک برند، مانند پشتیبانی آنلاین، و مکان های فیزیکی (در صورت وجود) است. هر پیام حاوی زمینه ای است که کاربر مکالمه را از آن آغاز کرده است. زیرساخت مسیریابی پیام شما میتواند تشخیص دهد که آیا کاربر یک مکان تجاری خاص را مشاهده کرده یا به دنبال پشتیبانی عمومی بوده است و میتواند پیامها را به مقصد صحیح هدایت کند.
به عنوان مثال، اگر شما نام تجاری Growing Tree Bank را مدیریت می کنید که دارای یک وب سایت و دو مکان است، یک نماینده واحد "Growing Tree Bank" ایجاد می کنید. کاربران می توانند از طریق جستجوهای کلی یا مبتنی بر مکان با عامل مواجه شوند و زمینه ای که کاربر در آن عامل را پیدا کرده است همراه با هر پیام به وب هوک شما ارسال می شود. شما از این زمینه برای هدایت پیام به کارکنان یک مکان یا تیم پشتیبانی وبسایت استفاده میکنید که پاسخی ایجاد میکنند و مکالمه را با کاربر ادامه میدهند.
قبل از ایجاد یک نماینده، انتظارات نمایندگان را در Business Messages درک کنید.
- نمایندگان باید از دستورالعملهای طراحی که در طراحی مکالمه برای پیامهای تجاری آمده است پیروی کنند.
هنگامی که اتوماسیون قادر به انجام یک درخواست نیست یا زمانی که کاربران درخواست می کنند، نمایندگان باید نمایندگان انسانی در دسترس داشته باشند تا به سؤالات پاسخ دهند.
نمایندگان باید رتبه رضایت مشتری (CSAT) را حداقل 80٪ و نرخ پاسخ تاجر (MRR) حداقل 95٪ را همانطور که در Metrics مشخص شده است حفظ کنند.
برای ایجاد یک نماینده، باید اطلاعاتی در مورد برند و نحوه ظاهر شدن نماینده برای کاربران جمع آوری و ارسال کنید.
اگر چندین برند را مدیریت می کنید، مراحل ایجاد یک نماینده برای هر برند را تکرار کنید.
قبل از ایجاد نمایندگی برای برندهایی که مدیریت می کنید، باید اطلاعاتی را جمع آوری کنید:
اطلاعاتی در مورد محیط توسعه شما.
پروژه GCP با فعال کردن API ارتباطات تجاری
برای فعال کردن API، به ثبت نام با پیامهای تجاری مراجعه کنید.
مسیر کلید حساب سرویس پروژه GCP شما در ماشین توسعه شما
اطلاعات در مورد برندی که نماینده نمایندگی می کند.
- نام تجاری
- وب سایت برند
- گزینه های تماس در وب سایت (همانطور که در
OPTION
تعریف شده است) - شماره تلفن روبروی مصرف کننده
- شماره تلفن برای انحراف تماس فعال شده است
اطلاعاتی در مورد نحوه نمایش عامل برای کاربران و نحوه عملکرد آن.
- نام عامل، همانطور که می خواهید در مکالمات با کاربران ظاهر شود
- خط مشی رازداری، به عنوان یک URL در دسترس عموم که با "https://" شروع می شود
(توصیه میشود) نشانواره نماینده (1024x1024 پیکسل)، بهعنوان یک URL در دسترس عموم
در یک مکالمه، آرم ها به صورت دایره هایی با قطر 1024 پیکسل نمایش داده می شوند. مطمئن شوید که لوگوی شما به خوبی به صورت دایره نمایش داده می شود.
(اختیاری) شناسه نماینده سفارشی، که نام تجاری را در پیام هایی که وب هوک دریافت می کند شناسایی می کند
اطلاعاتی درباره نحوه تعامل نماینده شما با کاربران.
محلی که نماینده شما معمولاً در آن کار میکند، که توسط کد زبان دو نویسهای ISO 639-1 مشخص شده است.
پیام خوش آمدگویی نماینده
نماینده برای خوشامدگویی به کاربران چه می گوید؟
شروع کننده مکالمه نماینده
فهرستی از پیشنهادات، به شکل تراشههای مکالمه (همانطور که در SuggestedReply تعریف شده است)، برای تعامل کاربر با نماینده
- متنی که در تراشه به کاربر نمایش داده می شود
- دادههای پسبازگشت، رشتهای که در صورت ضربه زدن کاربر به تراشه، به وبهوک شما در بار پیام ارسال میشود
زمان خودکار و چت زنده
زمان شروع روزانه، به عنوان یک شی
TimeOfDay
به عنوان مثال، ساعت 8:15 صبح است
{ "hours": 8, "minutes": 15, }
زمان پایان روزانه، به عنوان یک شی
TimeOfDay
مثلا ساعت 7:30 بعد از ظهر است
{ "hours": 19, "minutes": 30, }
روز شروع، اولین روز هفته که نماینده برای چت در دسترس است (همانطور که در
DayOfWeek
تعریف شده است)روز پایان، آخرین روز هفته که نماینده برای چت در دسترس است (همانطور که در
DayOfWeek
تعریف شده است)منطقه زمانی که نماینده در آن فعالیت می کند (همانطور که در پایگاه داده منطقه زمانی IANA تعریف شده است، برای مثال "America/Los_Angeles")
اطلاعاتی درباره جایی که کاربران می توانند مکالمه را با نماینده شروع کنند.
نقاط ورود نماینده مجاز، جایی که کاربران می توانند مکالمه را با نمایندگان شروع کنند (
NON_LOCAL
و/یاLOCATION
)
اطلاعات مربوط به نقاط ورودی NON_LOCAL
(در مورد نقطه ورودی Google Ads اعمال نمی شود).
مناطق مجاز (به عنوان کدهای منطقه CLDR )، برای محدود کردن دسترسی منطقه ای به نقاط ورودی
NON_LOCAL
.صرف نظر از منطقه، یک نماینده فقط می تواند یک شماره تلفن مرتبط با آن داشته باشد. اگر بر اساس منطقه به شماره تلفن متفاوتی نیاز دارید، باید برای هر منطقه یک عامل متفاوت ایجاد شود.
برای فعال کردن نقاط ورودی
NON_LOCAL
در تمام مناطق موجود، از001
برای کد منطقه جهانی استفاده کنید.
همه درخواستهای curl در اسناد این سایت از oauth2l برای احراز هویت استفاده میکنند. اگر میخواهید از خط فرمان برای اتصال به APIهای Business Communications و Business Messages استفاده کنید، oauth2l را نصب کنید.
برای نصب oauth2l با پایتون 3،
oauth2l را دانلود کنید.
دایرکتوری را به "./oauth2l/python" تغییر دهید.
oauth2l را با دستور زیر نصب کنید.
sudo python setup.sh build && sudo python setup.py install
تست کنید که oauth2l می تواند یک نشانه مجوز تولید کند.
oauth2l header --json resources/bm-agent-service-account-credentials.json businesscommunications
بررسی کنید که خروجی یک نشانه مجوز از فرم ایجاد می کند:
Authorization: Bearer AUTHORIZATION_BEARER_TOKEN
راه های دیگری برای نصب oauth2l برای سیستم عامل های مختلف وجود دارد. صرف نظر از روش نصب خود، اطمینان حاصل کنید که می توانید قبل از ادامه، یک رمز مجوز بر اساس اعتبار JSON حساب سرویس ایجاد کنید.
هنگامی که اطلاعات خود را جمع آوری کردید، نوبت به ایجاد نماینده خود می رسد.
برندی را ایجاد کنید که نماینده آن را نمایندگی می کند. اگر نام تجاری از قبل وجود دارد،
name
برند را دریافت کنید و به مرحله بعدی بروید.در ترمینال دستور زیر را اجرا کنید:
حلقه # This code creates a brand. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create # Make sure a service account key file exists at ./service_account_key.json curl -X POST "https://businesscommunications.googleapis.com/v1/brands" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "displayName": "My first brand curl" }'
Node.js /** * This code snippet creates a brand. * Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create * * 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 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(); if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, resource: { displayName: 'My first brand', }, }; bcApi.brands.create(apiParams, {}, (err, response) => { if (err !== undefined && err !== null) { console.dir(err); } else { // Brand created console.log(response.data); } }); } else { console.log('Authentication failure.'); } } /** * Initializes the Google credentials for calling the * Business Communcations 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('Failed to connect'); } else { resolve(authClient); } }); }) } main();
جاوا import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.businesscommunications.v1.BusinessCommunications; import com.google.api.services.businesscommunications.v1.model.Brand; import java.io.FileInputStream; import java.util.Arrays; import java.util.UUID; class Main { /** * Initializes credentials used by the Business Communications API. */ private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() { BusinessCommunications.Builder builder = null; try { GoogleCredential credential = GoogleCredential .fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY")); credential = credential.createScoped(Arrays.asList( "https://www.googleapis.com/auth/businesscommunications")); credential.refreshToken(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); // Create instance of the Business Communications API builder = new BusinessCommunications .Builder(httpTransport, jsonFactory, null) .setApplicationName(credential.getServiceAccountProjectId()); // Set the API credentials and endpoint builder.setHttpRequestInitializer(credential); } catch (Exception e) { e.printStackTrace(); } return builder; } public static void main(String args[]) { try { // Create client library reference BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder(); // Create a request to create a new brand BusinessCommunications.Brands.Create request = builder .build().brands().create(new Brand().setDisplayName("BRAND_NAME")); Brand brand = request.execute(); // Print newly created brand object System.out.println(brand.toPrettyString()); } catch (Exception e) { e.printStackTrace(); } } }
این کد بر اساس کتابخانه مشتری Java Business Communications است.پایتون """This code creates a brand. Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create 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 ( Brand) # Edit the values below: 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) brands_service = BusinesscommunicationsV1.BrandsService(client) brand = brands_service.Create(Brand(displayName='My first brand')) print(brand)
مقدار
name
را که API برمی گرداند ذخیره کنید. برای بهروزرسانی یا ایجاد عوامل به آن نیاز دارید.برای بهروزرسانی یا جستجوی مارکها،
brands
را ببینید.عامل ایجاد کنید. BRAND_ID با بخشی از ارزش
name
تجاری که پس از "brands/" قرار دارد، جایگزین کنید. به عنوان مثال، اگرname
"brands/12345" باشد، شناسه برند "12345" است.در ترمینال دستور زیر را اجرا کنید:
حلقه # This code creates a Business Messages agent. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_agent # Replace the __BRAND_ID__ with a brand id that you can create agents for # 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" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \ -d '{ "displayName": "My first agent", "businessMessagesAgent": { "logoUrl": "https://developers.google.com/identity/images/g-logo.png", "entryPointConfigs": [ { "allowedEntryPoint": "NON_LOCAL" } ], "customAgentId": "'$(uuidgen)'", "nonLocalConfig": { "regionCodes": [ "US", "CA" ], "contactOption": { "url": "https://www.your-company-website.com", "options": [ "EMAIL", "PHONE" ] }, "enabledDomains": [ "your-company-website.com" ], "phoneNumber": { "number": "+10000000000" }, "callDeflectionPhoneNumbers": [ { "number": "+10000000000" }, { "number": "+10000000000" } ] }, "conversationalSettings": { "en": { "welcomeMessage": { "text": "This is a sample welcome message" }, "privacyPolicy": { "url": "https://www.your-company-website.com/privacy" }, "conversationStarters": [ { "suggestion": { "reply": { "text": "Option 1", "postbackData": "postback_option_1" } } } ] } }, "defaultLocale": "en", "primaryAgentInteraction": { "interactionType": "HUMAN", "humanRepresentative": { "humanMessagingAvailability": { "hours": [ { "startTime": { "hours": 8, "minutes": 30 }, "endTime": { "hours": 20, "minutes": 0 }, "timeZone": "America/Los_Angeles", "startDay": "MONDAY", "endDay": "SATURDAY" } ] } } } } }'
Node.js /** * This code snippet creates a Business Messages agent. * Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_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 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 brandName = 'brands/' + BRAND_ID; if (authClient) { const agentObject = { displayName: 'My first agent', businessMessagesAgent: { customAgentId: uuidv4(), // Optional logoUrl: 'https://developers.google.com/identity/images/g-logo.png', entryPointConfigs: [ { allowedEntryPoint: 'NON_LOCAL', } ], nonLocalConfig: { // Configuration options for launching on non-local entry points // List of phone numbers for call deflection, values must be globally unique callDeflectionPhoneNumbers: [ { number: '+10000000000' }, { number: '+10000000001' }, ], // Contact information for the agent that displays with the messaging button contactOption: { options: [ 'EMAIL', 'PHONE' ], url: 'https://www.your-company-website.com', }, // Domains enabled for messaging within Search, values must be globally unique enabledDomains: [ 'your-company-website.com' ], // Agent's phone number. Overrides the `phone` field // for conversations started from non-local entry points phoneNumber: { number: '+10000000000' }, // List of CLDR region codes for countries where the agent is allowed to launch `NON_LOCAL` entry points regionCodes: [ 'US', 'CA' ] }, // Must match a conversational setting locale defaultLocale: 'en', conversationalSettings: { en: { privacyPolicy: { url: 'https://www.your-company-website.com/privacy' }, welcomeMessage: { text: 'This is a sample welcome message' }, conversationStarters: [ { suggestion: { reply: { text: 'Option 1', postbackData: 'postback_option_1', }, }, }, ], }, }, primaryAgentInteraction: { interactionType: 'HUMAN', humanRepresentative: { humanMessagingAvailability: { hours: [ { startTime: { hours: 8, minutes: 30 }, startDay: 'MONDAY', endDay: 'SATURDAY', endTime: { hours: 20, minutes: 0 }, timeZone: 'America/Los_Angeles', }, ], }, }, }, }, }; // Setup the parameters for the API call const apiParams = { auth: authClient, parent: brandName, resource: agentObject }; bcApi.brands.agents.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();
جاوا import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.businesscommunications.v1.BusinessCommunications; import com.google.api.services.businesscommunications.v1.model.Brand; import com.google.common.collect.ImmutableMap; import java.io.FileInputStream; import java.util.Arrays; import java.util.UUID; class Main { /** * Initializes credentials used by the Business Communications API. */ private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() { BusinessCommunications.Builder builder = null; try { GoogleCredential credential = GoogleCredential .fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY")); credential = credential.createScoped(Arrays.asList( "https://www.googleapis.com/auth/businesscommunications")); credential.refreshToken(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); // Create instance of the Business Communications API builder = new BusinessCommunications .Builder(httpTransport, jsonFactory, null) .setApplicationName(credential.getServiceAccountProjectId()); // Set the API credentials and endpoint builder.setHttpRequestInitializer(credential); } catch (Exception e) { e.printStackTrace(); } return builder; } public static void main(String args[]) { try { // Create client library reference BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder(); String brandName = "BRAND_ID"; BusinessCommunications.Brands.Agents.Create request = builder .build().brands().agents().create(brandName, new Agent() .setDisplayName("AGENT_NAME") .setBusinessMessagesAgent(new BusinessMessagesAgent() .setCustomAgentId("CUSTOM_ID") // Optional .setLogoUrl("LOGO_URL") .setEntryPointConfigs(Arrays.asList( new BusinessMessagesEntryPointConfig() .setAllowedEntryPoint( "ENTRY_POINT_1"), new BusinessMessagesEntryPointConfig() .setAllowedEntryPoint( "ENTRY_POINT_2") )) // Configuration options for launching on non-local entry points .setNonLocalConfig(new NonLocalConfig() // List of phone numbers for call deflection, values must be globally unique .setCallDeflectionPhoneNumbers(Arrays.asList(new Phone().setNumber("DEFLECTION_PHONE_NUMBER_1"), new Phone().setNumber("DEFLECTION_PHONE_NUMBER_2"))) // Contact information for the agent that displays with the messaging button .setContactOption(new ContactOption().setOptions(Arrays.asList( "CONTACT_OPTION_1", "CONTACT_OPTION_2") ).setUrl("WEBSITE_URL")) // Domains enabled for messaging within Search, values must be globally unique .setEnabledDomains(Arrays.asList("ENABLED_DOMAIN_1", "ENABLED_DOMAIN_2")) // Agent's phone number. Overrides the `phone` field for // conversations started from non-local entry points .setPhoneNumber(new Phone().setNumber("CONTACT_PHONE_NUMBER")) // List of regions where this agent will be available .setRegionCodes(Arrays.asList("REGION_CODE"))) .setDefaultLocale("LOCALE") // Create a map between the language code and the initial conversation settings .setConversationalSettings(ImmutableMap.of("LOCALE", new ConversationalSetting() .setPrivacyPolicy(new PrivacyPolicy().setUrl("PRIVACY_POLICY_URL")) .setWelcomeMessage(new WelcomeMessage().setText("WELCOME_MESSAGE")) .setConversationStarters(Arrays.asList( new ConversationStarters().setSuggestion(new Suggestion() .setReply(new SuggestedReply().setText("SUGGESTION_TEXT").setPostbackData("SUGGESTION_POSTBACK_DATA"))) )))) .setPrimaryAgentInteraction(new SupportedAgentInteraction() .setInteractionType(InteractionType.HUMAN.toString()) .setHumanRepresentative(new HumanRepresentative() .setHumanMessagingAvailability(new MessagingAvailability() // Create a list of available hours .setHours(Arrays.asList(new Hours() .setStartTime(new TimeOfDay().setHours(START_TIME_HOURS).setMinutes(START_TIME_MINUTES)) .setStartDay("BEGINNING_DAY_OF_WEEK") .setEndDay("END_DAY_OF_WEEK") .setEndTime(new TimeOfDay().setHours(END_TIME_HOURS).setMinutes(END_TIME_MINUTES)) .setTimeZone("TIME_ZONE")))))) )); Agent agent = request.execute(); System.out.println(agent.toPrettyString()); } catch (Exception e) { e.printStackTrace(); } } }
این کد بر اساس کتابخانه مشتری Java Business Communications است.پایتون """This code creates a Business Messages agent. Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_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 ( Agent, BusinesscommunicationsBrandsAgentsCreateRequest, BusinessMessagesAgent, BusinessMessagesEntryPointConfig, ContactOption, ConversationalSetting, ConversationStarters, Hours, HumanRepresentative, MessagingAvailability, NonLocalConfig, Phone, PrivacyPolicy, Suggestion, SuggestedReply, SupportedAgentInteraction, TimeOfDay, WelcomeMessage ) # Edit the values below: BRAND_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) agents_service = BusinesscommunicationsV1.BrandsAgentsService(client) brand_name = 'brands/ '+ BRAND_ID agent = Agent( displayName='My first agent', businessMessagesAgent=BusinessMessagesAgent( customAgentId='CUSTOM_ID', # Optional logoUrl='https://developers.google.com/identity/images/g-logo.png', entryPointConfigs=[BusinessMessagesEntryPointConfig( allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.LOCATION ), BusinessMessagesEntryPointConfig( allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.NON_LOCAL )], nonLocalConfig=NonLocalConfig( # List of phone numbers for call deflection, values must be globally unique # Generating a random phone number for demonstration purposes # This should be replaced with a real brand phone number callDeflectionPhoneNumbers=[Phone(number='+10000000000'), Phone(number='+10000000001')], # Contact information for the agent that displays with the messaging button contactOption=ContactOption( options=[ContactOption.OptionsValueListEntryValuesEnum.EMAIL, ContactOption.OptionsValueListEntryValuesEnum.PHONE], url='https://www.your-company-website.com' ), # Domains enabled for messaging within Search, values must be globally unique # Generating a random URL for demonstration purposes # This should be replaced with a real brand URL enabledDomains=['your-company-website.com'], # Agent's phone number. Overrides the `phone` field for conversations started from non-local entry points phoneNumber=Phone(number='+10000000000'), # List of CLDR region codes for countries where the agent is allowed to launch `NON_LOCAL` entry points. # Example is for launching in Canada and the USA regionCodes=['US', 'CA'] ), defaultLocale='en', conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue( additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty( key='en', value=ConversationalSetting( privacyPolicy=PrivacyPolicy(url='https://www.your-company-website.com/privacy'), welcomeMessage=WelcomeMessage(text='This is a sample welcome message'), conversationStarters=[ ConversationStarters( suggestion=Suggestion( reply=SuggestedReply(text='Option 1', postbackData='postback_option_1') ) ) ] ) )] ), primaryAgentInteraction=SupportedAgentInteraction( interactionType=SupportedAgentInteraction.InteractionTypeValueValuesEnum.HUMAN, humanRepresentative=HumanRepresentative( humanMessagingAvailability=MessagingAvailability(hours=[ Hours( startTime=TimeOfDay(hours=8, minutes=30), startDay=Hours.StartDayValueValuesEnum.MONDAY, endDay=Hours.EndDayValueValuesEnum.SATURDAY, endTime=TimeOfDay(hours=20, minutes=0), timeZone='America/Los_Angeles' ) ]) ) ), ) ) new_agent = agents_service.Create( BusinesscommunicationsBrandsAgentsCreateRequest( agent=agent, parent=brand_name ) ) print(new_agent)
برای گزینههای قالببندی و ارزش، به
brands.agents
مراجعه کنید.اگر برند مکانهایی دارد که میخواهید با نماینده خود مرتبط کنید، به افزودن مکانها مراجعه کنید.
curl -X POST "https://businesscommunications.googleapis.com/v1/brands" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json /path/to/service/account/key.json businesscommunications)" \ -d "{ 'displayName': 'Growing Tree Bank' }" # Fetch returned brand name value of "brands/12345" curl -X POST "https://businesscommunications.googleapis.com/v1/brands/12345/agents" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json /path/to/service/account/key.json businesscommunications)" \ -d "{ 'displayName': 'Growing Tree Bank', 'businessMessagesAgent': { 'logoUrl': 'https://www.growingtreebank.com/images/logo.png', 'entryPointConfigs': [ { 'allowedEntryPoint': 'NON_LOCAL', }, { 'allowedEntryPoint': 'LOCATION', }, ], 'customAgentId': 'growing-tree-bank', 'nonLocalConfig': { 'regionCodes': ['001'], 'contactOption': { 'url': 'https://www.growingtreebank.com', 'options': [ 'EMAIL', 'PHONE', ], }, 'enabledDomains': [ 'https://www.growingtreebank.com', ], 'phoneNumber': { 'number': '+12223334444', }, 'callDeflectionPhoneNumbers': [ { 'number': '+12223334444', }, { 'number': '+56667778888', }, ], }, 'conversationalSettings': { 'en': { 'welcomeMessage': { 'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?', }, 'privacyPolicy': { 'url': 'https://www.growingtreebank.com/privacy', }, 'conversationStarters': [ { 'suggestion': { 'reply': { 'text': 'Set up an account', 'postbackData': 'new-account', }, }, }, ], }, }, 'defaultLocale': 'en', 'primaryAgentInteraction': { 'interactionType': 'BOT', 'botRepresentative': { 'botMessagingAvailability': { 'hours': [ { 'startTime': { 'hours': '8', 'minutes': '00', }, 'endTime': { 'hours': '17', 'minutes': '30', }, 'timeZone': 'America/Los_Angeles', 'startDay': 'MONDAY', 'endDay': 'FRIDAY', }, ], }, }, }, }, }"
وقتی یک نماینده ایجاد میکنید، Business Communications API مقادیر نماینده شما، از جمله name
و testUrls
را برمیگرداند.
شما پیام هایی را دریافت می کنید که برای نماینده خود در وب هوک خود ارسال می شوند. اگر میخواهید پیامهایی برای یک عامل خاص به وبهوک دیگری برسد، میتوانید یک وبکهک در سطح عامل تنظیم کنید.
برای تنظیم یک هوک در سطح عامل، از Developer Console استفاده کنید.
هر نماینده دارای URL های آزمایشی است که به شما امکان می دهد ببینید مکالمه با آن نماینده چگونه برای کاربران ظاهر می شود و به شما این فرصت را می دهد که زیرساخت پیام خود را تأیید کنید.
یک TestUrl دارای ویژگی های url
و surface
است. برای آزمایش با دستگاه iOS، از URL آزمایشی با مقدار سطحی SURFACE_IOS_MAPS
استفاده کنید. باز کردن URL در دستگاه iOS که برنامه Google Maps را نصب کرده است، یک مکالمه کاملاً کاربردی با نماینده باز می کند.
دستگاه های اندرویدی دارای دو نشانی اینترنتی آزمایشی هستند. نشانیهای وب با مقدار surface
SURFACE_ANDROID_MAPS
مکالمات را در Google Maps باز میکنند و نقاط ورودی مکالمهای را نشان میدهند که در Google Maps ظاهر میشوند. نشانیهای وب با مقدار surface
SURFACE_ANDROID_WEB
مکالمات را در نمای مکالمهای همپوشانی باز میکنند و همه نقاط ورودی دیگر را نشان میدهند.
هنگامی که یک سطح مکالمه باز می شود، مکالمه شامل تمام اطلاعات نام تجاری است که کاربران می بینند، و وقتی پیامی را برای نماینده ارسال می کنید، وب هوک شما پیام را دریافت می کند ، از جمله بار کامل JSON که می توانید هنگام برقراری ارتباط با کاربران انتظار داشته باشید.
برای باز کردن نشانی وب آزمایشی یک نماینده، روی پیوند ضربه بزنید یا از راهانداز نماینده پیامهای تجاری در دستگاه تلفن همراه استفاده کنید.
برای دریافت اطلاعات در مورد یک نماینده، مانند agentTestUrl
، میتوانید اطلاعات را از Business Communications API دریافت کنید، البته تا زمانی که مقدار name
نماینده را داشته باشید.
برای دریافت اطلاعات عامل، دستور زیر را اجرا کنید. BRAND_ID و AGENT_ID با مقادیر منحصر به فرد از name
عامل جایگزین کنید.
# This code gets the agent. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/get # 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__" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/** * This code snippet gets an agent. * Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/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 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'); // 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) { // Setup the parameters for the API call const apiParams = { auth: authClient, name: agentName, }; bcApi.brands.agents.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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.businesscommunications.v1.BusinessCommunications; import com.google.api.services.businesscommunications.v1.model.Agent; import java.io.FileInputStream; import java.util.Arrays; class Main { /** * Initializes credentials used by the Business Communications API. */ private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() { BusinessCommunications.Builder builder = null; try { GoogleCredential credential = GoogleCredential .fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY")); credential = credential.createScoped(Arrays.asList( "https://www.googleapis.com/auth/businesscommunications")); credential.refreshToken(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); // Create instance of the Business Communications API builder = new BusinessCommunications .Builder(httpTransport, jsonFactory, null) .setApplicationName(credential.getServiceAccountProjectId()); // Set the API credentials and endpoint builder.setHttpRequestInitializer(credential); } catch (Exception e) { e.printStackTrace(); } return builder; } public static void main(String args[]) { try { // Create client library reference BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder(); String agentName = "brands/BRAND_ID/agents/AGENT_ID"; BusinessCommunications.Brands.Agents.Get request = builder .build().brands().agents().get(agentName); Agent agent = request.execute(); System.out.println(agent.toPrettyString()); } catch (Exception e) { e.printStackTrace(); } } }این کد بر اساس کتابخانه مشتری Java Business Communications است.
"""This code gets the agent. Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/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, BusinesscommunicationsBrandsAgentsGetRequest, ) # 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) agents_service = BusinesscommunicationsV1.BrandsAgentsService(client) agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID agent = agents_service.Get(BusinesscommunicationsBrandsAgentsGetRequest( name=agent_name )) print(agent)
اگر name
نماینده را نمیدانید، میتوانید با حذف مقدار AGENT_ID از URL درخواست GET، اطلاعاتی برای همه نمایندگان مرتبط با یک نام تجاری دریافت کنید.
# This code lists all agents from a brand. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list # Replace the __BRAND_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/" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/** * This code snippet lists the agents of a brand. * Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list * * 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 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 brandName = 'brands/' + BRAND_ID; if (authClient) { // Setup the parameters for the API call const apiParams = { auth: authClient, parent: brandName, }; bcApi.brands.agents.list(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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.businesscommunications.v1.BusinessCommunications; import com.google.api.services.businesscommunications.v1.model.Agent; import java.io.FileInputStream; import java.io.IOException; import java.util.Arrays; import java.util.List; class Main { /** * Initializes credentials used by the Business Communications API. */ private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() { BusinessCommunications.Builder builder = null; try { GoogleCredential credential = GoogleCredential .fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY")); credential = credential.createScoped(Arrays.asList( "https://www.googleapis.com/auth/businesscommunications")); credential.refreshToken(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); // Create instance of the Business Communications API builder = new BusinessCommunications .Builder(httpTransport, jsonFactory, null) .setApplicationName(credential.getServiceAccountProjectId()); // Set the API credentials and endpoint builder.setHttpRequestInitializer(credential); } catch (Exception e) { e.printStackTrace(); } return builder; } public static void main(String args[]) { try { // Create client library reference BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder(); String brandName = "brands/BRAND_ID"; BusinessCommunications.Brands.Agents.List request = builder .build().brands().agents().list(brandName); Listاین کد بر اساس کتابخانه مشتری Java Business Communications است.agents = request.execute().getAgents(); agents.stream().forEach(agent -> { try { System.out.println(agent.toPrettyString()); } catch (IOException e) { e.printStackTrace(); } }); } catch (Exception e) { e.printStackTrace(); } } }
"""This code lists all agents from a brand. Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list 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, BusinesscommunicationsBrandsAgentsGetRequest, ) # Edit the values below: BRAND_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) agents_service = BusinesscommunicationsV1.BrandsAgentsService(client) brand_name = 'brands/' + BRAND_ID agents = agents_service.List(BusinesscommunicationsBrandsAgentsListRequest( parent=brand_name )) print(agents)
برای بهروزرسانی یک نماینده، یک درخواست PATCH با Business Communications API انجام میدهید. هنگامی که تماس API را برقرار می کنید، نام فیلدهایی را که در حال ویرایش آنها هستید به عنوان مقادیر پارامتر URL "updateMask" اضافه می کنید.
برای مثال، اگر فیلدهای displayName
و customAgentId
را بهروزرسانی کنید، پارامتر URL «updateMask» «updateMask=displayName,businessMessagesAgent.customAgentId» است.
برای گزینههای قالببندی و مقدار، به brands.agents.patch
مراجعه کنید.
اگر name
یک نماینده را نمیدانید، فهرست همه نمایندگیهای یک برند را ببینید.
پس از تأیید یک نماینده، فقط می توانید فیلدهای زیر را به روز کنید:
conversationalSetting
customAgentId
defaultLocale
primaryAgentInteraction
additionalAgentInteractions
phone
اگر بعد از تأیید نماینده خود نیاز به به روز رسانی فیلدهای دیگر دارید،با ما تماس بگیرید. (ابتدا باید با حساب Google Business Messages وارد شوید . برای ثبت نام برای یک حساب، به ثبت نام با Business Messages مراجعه کنید.) اگر هر فیلدی را در وقتی یک نماینده را حذف می کنید، Business Messages همه داده های نماینده را حذف می کند. Business Messages پیامهای ارسال شده توسط نماینده شما را که در حال انتقال به دستگاه کاربر یا ذخیره شده در دستگاه کاربر هستند، حذف نمیکند. پیامهای ارسالی به کاربران، دادههای عامل نیستند. اگر نماینده یک مکان مرتبط داشته باشد یا اگر یک یا چند بار تلاش کرده باشید که نماینده را تأیید کنید، درخواستهای حذف ناموفق هستند. برای بهروزرسانی مکانها، به افزودن مکانها مراجعه کنید. شما نمی توانید عاملی را که تأیید شده است حذف کنید. برای حذف نمایندهای که تأیید کردهاید یا تلاش کردهاید آن را تأیید کنید،با ما تماس بگیرید. (ابتدا باید با حساب Google Business Messages وارد شوید . برای ثبت نام برای یک حساب، به ثبت نام با Business Messages مراجعه کنید.) برای حذف یک عامل، دستور زیر را اجرا کنید. BRAND_ID و AGENT_ID با مقادیر منحصر به فرد از برای گزینههای قالببندی و مقدار، به هنگامی که یک نام تجاری را حذف می کنید، یک درخواست DELETE را با Business Communications API انجام می دهید. اگر یک یا چند نماینده یا مکان مرتبط با نام تجاری داشته باشید، درخواستهای حذف انجام نمیشود، حتی اگر آن نمایندگان به محصول دیگری تعلق داشته باشند. برای حذف یک برند، دستور زیر را اجرا کنید. BRAND_ID با مقدار منحصربهفرد برای گزینههای قالببندی و ارزش، به اکنون که یک نماینده دارید، می توانید مراحل زیر را انجام دهید: پس از ثبت نام بهعنوان شریک ، میتوانید با ایجاد نمایندگیهای Business Messages برای مارکهایی که مدیریت میکنید، مکالمات را فعال کنید. عامل یک نهاد مکالمه ای است که کاربران با آن تعامل دارند. شما برای هر برندی که مدیریت می کنید یک نماینده ایجاد می کنید. شما نمایندگانی را با Business Communications API ایجاد و مدیریت میکنید و پیامرسانی را برای نمایندگان خود با Business Messages API کنترل میکنید. یک نماینده شامل عملکردهای تجاری یک برند، مانند پشتیبانی آنلاین، و مکان های فیزیکی (در صورت وجود) است. هر پیام حاوی زمینه ای است که کاربر مکالمه را از آن آغاز کرده است. زیرساخت مسیریابی پیام شما میتواند تشخیص دهد که آیا کاربر یک مکان تجاری خاص را مشاهده کرده یا به دنبال پشتیبانی عمومی بوده است و میتواند پیامها را به مقصد صحیح هدایت کند. به عنوان مثال، اگر شما نام تجاری Growing Tree Bank را مدیریت می کنید که دارای یک وب سایت و دو مکان است، یک نماینده واحد "Growing Tree Bank" ایجاد می کنید. کاربران می توانند از طریق جستجوهای کلی یا مبتنی بر مکان با عامل مواجه شوند و زمینه ای که کاربر در آن عامل را پیدا کرده است همراه با هر پیام به وب هوک شما ارسال می شود. شما از این زمینه برای هدایت پیام به کارکنان یک مکان یا تیم پشتیبانی وبسایت استفاده میکنید که پاسخی ایجاد میکنند و مکالمه را با کاربر ادامه میدهند. قبل از ایجاد یک نماینده، انتظارات نمایندگان را در Business Messages درک کنید. هنگامی که اتوماسیون قادر به انجام یک درخواست نیست یا زمانی که کاربران درخواست می کنند، نمایندگان باید نمایندگان انسانی در دسترس داشته باشند تا به سؤالات پاسخ دهند. نمایندگان باید رتبه رضایت مشتری (CSAT) را حداقل 80٪ و نرخ پاسخ تاجر (MRR) حداقل 95٪ را همانطور که در Metrics مشخص شده است حفظ کنند. برای ایجاد یک نماینده، باید اطلاعاتی در مورد برند و نحوه ظاهر شدن نماینده برای کاربران جمع آوری و ارسال کنید. اگر چندین برند را مدیریت می کنید، مراحل ایجاد یک نماینده برای هر برند را تکرار کنید. قبل از ایجاد نمایندگی برای برندهایی که مدیریت می کنید، باید اطلاعاتی را جمع آوری کنید: اطلاعاتی در مورد محیط توسعه شما. پروژه GCP با فعال کردن API ارتباطات تجاری برای فعال کردن API، به ثبت نام با پیامهای تجاری مراجعه کنید. مسیر کلید حساب سرویس پروژه GCP شما در ماشین توسعه شما اطلاعات در مورد برندی که نماینده نمایندگی می کند. اطلاعاتی در مورد نحوه نمایش عامل برای کاربران و نحوه عملکرد آن. (توصیه میشود) نشانواره نماینده (1024x1024 پیکسل)، بهعنوان یک URL در دسترس عموم در یک مکالمه، آرم ها به صورت دایره هایی با قطر 1024 پیکسل نمایش داده می شوند. مطمئن شوید که لوگوی شما به خوبی به صورت دایره نمایش داده می شود. (اختیاری) شناسه نماینده سفارشی، که نام تجاری را در پیام هایی که وب هوک دریافت می کند شناسایی می کند اطلاعاتی درباره نحوه تعامل نماینده شما با کاربران. محلی که نماینده شما معمولاً در آن کار میکند، که توسط کد زبان دو نویسهای ISO 639-1 مشخص شده است. پیام خوش آمدگویی نماینده نماینده برای خوشامدگویی به کاربران چه می گوید؟ شروع کننده مکالمه نماینده فهرستی از پیشنهادات، به شکل تراشههای مکالمه (همانطور که در SuggestedReply تعریف شده است)، برای تعامل کاربر با نماینده زمان خودکار و چت زنده زمان شروع روزانه، به عنوان یک شی به عنوان مثال، ساعت 8:15 صبح است زمان پایان روزانه، به عنوان یک شی مثلا ساعت 7:30 بعد از ظهر است روز شروع، اولین روز هفته که نماینده برای چت در دسترس است (همانطور که در روز پایان، آخرین روز هفته که نماینده برای چت در دسترس است (همانطور که در منطقه زمانی که نماینده در آن فعالیت می کند (همانطور که در پایگاه داده منطقه زمانی IANA تعریف شده است، برای مثال "America/Los_Angeles") اطلاعاتی درباره جایی که کاربران می توانند مکالمه را با نماینده شروع کنند. نقاط ورود نماینده مجاز، جایی که کاربران می توانند مکالمه را با نمایندگان شروع کنند ( اطلاعات مربوط به نقاط ورودی مناطق مجاز (به عنوان کدهای منطقه CLDR )، برای محدود کردن دسترسی منطقه ای به نقاط ورودی صرف نظر از منطقه، یک نماینده فقط می تواند یک شماره تلفن مرتبط با آن داشته باشد. اگر بر اساس منطقه به شماره تلفن متفاوتی نیاز دارید، باید برای هر منطقه یک عامل متفاوت ایجاد شود. برای فعال کردن نقاط ورودی همه درخواستهای curl در اسناد این سایت از oauth2l برای احراز هویت استفاده میکنند. اگر میخواهید از خط فرمان برای اتصال به APIهای Business Communications و Business Messages استفاده کنید، oauth2l را نصب کنید. برای نصب oauth2l با پایتون 3، oauth2l را دانلود کنید. دایرکتوری را به "./oauth2l/python" تغییر دهید. oauth2l را با دستور زیر نصب کنید. تست کنید که oauth2l می تواند یک نشانه مجوز تولید کند. بررسی کنید که خروجی یک نشانه مجوز از فرم ایجاد می کند: راه های دیگری برای نصب oauth2l برای سیستم عامل های مختلف وجود دارد. صرف نظر از روش نصب خود، اطمینان حاصل کنید که می توانید قبل از ادامه، یک رمز مجوز بر اساس اعتبار JSON حساب سرویس ایجاد کنید. هنگامی که اطلاعات خود را جمع آوری کردید، نوبت به ایجاد نماینده خود می رسد. برندی را ایجاد کنید که نماینده آن را نمایندگی می کند. اگر نام تجاری از قبل وجود دارد، در ترمینال دستور زیر را اجرا کنید: مقدار برای بهروزرسانی یا جستجوی مارکها، عامل ایجاد کنید. BRAND_ID با بخشی از ارزش در ترمینال دستور زیر را اجرا کنید: برای گزینههای قالببندی و ارزش، به اگر برند مکانهایی دارد که میخواهید با نماینده خود مرتبط کنید، به افزودن مکانها مراجعه کنید. وقتی یک نماینده ایجاد میکنید، Business Communications API مقادیر نماینده شما، از جمله شما پیام هایی را دریافت می کنید که برای نماینده خود در وب هوک خود ارسال می شوند. اگر میخواهید پیامهایی برای یک عامل خاص به وبهوک دیگری برسد، میتوانید یک وبکهک در سطح عامل تنظیم کنید. برای تنظیم یک هوک در سطح عامل، از Developer Console استفاده کنید. هر نماینده دارای URL های آزمایشی است که به شما امکان می دهد ببینید مکالمه با آن نماینده چگونه برای کاربران ظاهر می شود و به شما این فرصت را می دهد که زیرساخت پیام خود را تأیید کنید. یک TestUrl دارای ویژگی های دستگاه های اندرویدی دارای دو نشانی اینترنتی آزمایشی هستند. نشانیهای وب با مقدار هنگامی که یک سطح مکالمه باز شد ، مکالمه شامل تمام اطلاعات مارک تجاری است که کاربران می بینند ، و هنگامی که پیامی را به نماینده ارسال می کنید ، وب سایت شما پیام را دریافت می کند ، از جمله بار کامل JSON که می توانید هنگام برقراری ارتباط با کاربران انتظار داشته باشید. برای باز کردن URL آزمون عامل ، روی یک لینک ضربه بزنید یا از پرتابگر عامل پیام های تجاری در دستگاه تلفن همراه استفاده کنید. برای به دست آوردن اطلاعات در مورد یک نماینده ، مانند برای به دست آوردن اطلاعات عامل ، دستور زیر را اجرا کنید. BRAND_ID و AGENT_ID با مقادیر منحصر به فرد از اگر برای به روزرسانی یک نماینده ، شما یک درخواست پچ را با API ارتباطات تجاری انجام می دهید. هنگامی که تماس API را برقرار می کنید ، نام قسمت هایی را که ویرایش می کنید به عنوان مقادیر پارامتر URL "UpdatEmask" درج می کنید. به عنوان مثال ، اگر قسمتهای برای قالب بندی و گزینه های ارزش ، به اگر پس از تأیید یک عامل ، فقط می توانید قسمت های زیر را به روز کنید: اگر بعد از تأیید نماینده خود نیاز به به روزرسانی سایر زمینه ها دارید ،با ما تماس بگیرید. (ابتدا باید با پیام های تجاری Google وارد شوید . برای ثبت نام در یک حساب ، به ثبت نام در پیام های تجاری مراجعه کنید.) اگر هر زمینه ای را در هنگامی که یک عامل را حذف می کنید ، پیام های تجاری تمام داده های عامل را حذف می کنند. پیام های تجاری پیام های ارسال شده توسط نماینده شما را که در حال حمل و نقل هستند یا در دستگاه کاربر ذخیره می شوند حذف نمی کنند. پیام به کاربران داده عامل نیست. حذف درخواست ها در صورتی که عامل دارای یک مکان مرتبط باشد یا اگر سعی کرده اید یک یا چند بار نماینده را تأیید کنید ، شکست می خورند. برای به روزرسانی مکان ها ، به Add Mocلات مراجعه کنید. شما نمی توانید نماینده ای را که تأیید شده است حذف کنید. برای حذف نماینده ای که تأیید کرده اید یا سعی در تأیید آن دارید ،با ما تماس بگیرید. (شما ابتدا باید با پیام های تجاری Google وارد شوید . برای ثبت نام در یک حساب ، به ثبت نام در پیام های تجاری مراجعه کنید.) برای حذف یک عامل ، دستور زیر را اجرا کنید. BRAND_ID و AGENT_ID با مقادیر منحصر به فرد از برای قالب بندی و گزینه های ارزش ، به هنگامی که یک مارک را حذف می کنید ، یک درخواست حذف را با API ارتباطات تجاری انجام می دهید. حذف درخواست ها در صورت داشتن یک یا چند عامل یا مکان مرتبط با برند ، حتی اگر این عوامل متعلق به یک محصول متفاوت باشند ، شکست می خورند. برای حذف یک برند ، دستور زیر را اجرا کنید. BRAND_ID با ارزش منحصر به فرد از برای قالب بندی و گزینه های ارزش ، به اکنون که یک نماینده دارید ، می توانید مراحل زیر را بردارید: پس از ثبت نام به عنوان شریک زندگی ، می توانید با ایجاد عوامل پیام های تجاری برای آنها ، مکالمه هایی را برای مارک هایی که مدیریت می کنید فعال کنید. یک عامل یک نهاد مکالمه است که کاربران با آن ارتباط برقرار می کنند. شما برای هر مارکی که مدیریت می کنید یک عامل ایجاد می کنید. شما نمایندگان را با API ارتباطات تجاری ایجاد و مدیریت می کنید و پیام رسانی را برای نمایندگان خود با پیام های تجاری API کنترل می کنید. یک عامل شامل عملکردهای تجاری یک برند مانند پشتیبانی آنلاین و مکان های فیزیکی (در صورت وجود) است. هر پیام حاوی زمینه ای است که کاربر مکالمه را آغاز کرده است. زیرساخت های مسیریابی پیام شما می تواند تشخیص دهد که آیا کاربر یک مکان تجاری خاص را مشاهده کرده است یا به دنبال پشتیبانی عمومی است ، و می تواند پیام ها را به مقصد صحیح منتقل کند. به عنوان مثال ، اگر شما مارک در حال رشد درخت بانک را مدیریت می کنید ، که دارای یک وب سایت و دو مکان است ، یک عامل واحد "در حال رشد بانک درخت" ایجاد می کنید. کاربران می توانند از طریق جستجوهای عمومی یا مبتنی بر مکان با نماینده روبرو شوند و زمینه ای که کاربر پیدا کرده است نماینده به همراه هر پیام به وب سایت شما منتقل می شود. شما از این زمینه برای هدایت پیام یا به کارمندان در یک مکان یا به تیم پشتیبانی وب سایت استفاده می کنید ، که پاسخی ایجاد می کنند و مکالمه را با کاربر ادامه می دهند. قبل از ایجاد نماینده ، انتظارات نمایندگان را در مورد پیام های تجاری درک کنید. نمایندگان باید نمایندگان انسانی را برای پاسخ به سؤالات در هنگام اتوماسیون قادر به انجام درخواست یا در صورت درخواست کاربران در دسترس قرار دهند. نمایندگان باید رتبه رضایت مشتری (CSAT) حداقل 80 ٪ و نرخ پاسخگویی به بازرگانان (MRR) حداقل 95 ٪ را حفظ کنند ، همانطور که در معیارها بیان شده است. برای ایجاد یک عامل ، باید اطلاعات مربوط به برند و نحوه ظاهر نماینده را برای کاربران جمع آوری و ارسال کنید. اگر چندین مارک را مدیریت می کنید ، مراحل ایجاد یک عامل برای هر مارک را تکرار کنید. قبل از ایجاد عوامل برای مارک هایی که مدیریت می کنید ، باید اطلاعاتی را جمع آوری کنید: اطلاعات مربوط به محیط توسعه شما. پروژه GCP با API ارتباطات تجاری فعال شد برای فعال کردن API ، به ثبت نام در پیام های تجاری مراجعه کنید. مسیر به کلید حساب خدمات پروژه GCP خود در دستگاه توسعه خود اطلاعات مربوط به برند نماینده نماینده. اطلاعات مربوط به نحوه ظاهر عامل برای کاربران و نحوه عملکرد آن. (توصیه می شود) آرم عامل (1024x1024 PX) ، به عنوان یک URL در دسترس عموم در یک مکالمه ، آرم ها به عنوان حلقه های قطر 1024 PX نمایش داده می شوند. اطمینان حاصل کنید که آرم شما و به عنوان یک دایره نمایش داده می شود. (اختیاری) شناسه عامل سفارشی ، که برند را در پیامهایی که Webhook دریافت می کند مشخص می کند اطلاعات مربوط به نحوه تعامل نماینده شما با کاربران. محلی که نماینده شما به طور معمول در آن فعالیت می کند ، که توسط یک کد زبانی ISO 639-1 دو شخصیت مشخص شده است پیام خوش آمدید نماینده عامل برای سلام و احوالپرسی به کاربران چه می گوید؟ شروع کننده مکالمه عامل لیستی از پیشنهادات ، در قالب تراشه های مکالمه (همانطور که در پیشنهادی تعریف شده است) ، برای اینکه کاربر با نماینده درگیر شود زمان چت خودکار و زنده زمان شروع روزانه ، به عنوان یک شیء به عنوان مثال ، 8:15 صبح است زمان پایان روزانه ، به عنوان یک شیء به عنوان مثال ، ساعت 7:30 بعد از ظهر است روز شروع ، اولین روز هفته که نماینده برای گپ در دسترس است (همانطور که در روز پایان ، آخرین روز هفته نماینده برای گپ در دسترس است (همانطور که در منطقه زمانی عامل در آن فعالیت می کند (همانطور که در پایگاه داده منطقه زمانی IANA تعریف شده است ، به عنوان مثال "آمریکا/LOS_ANGELES") اطلاعات مربوط به جایی که کاربران می توانند مکالمه با نماینده را شروع کنند. نقاط ورود به نماینده مجاز ، جایی که کاربران می توانند مکالمه ها را با نمایندگان شروع کنند ( اطلاعات مربوط به نقاط ورود مناطق مجاز (به عنوان کدهای منطقه CLDR ) ، برای محدود کردن دسترسی منطقه ای به نقاط ورود صرف نظر از منطقه ، یک نماینده فقط می تواند یک شماره تلفن در ارتباط با آن داشته باشد. اگر به شماره تلفن دیگری بر اساس منطقه نیاز دارید ، باید برای هر منطقه یک عامل متفاوت ایجاد شود. برای فعال کردن نقاط ورود کلیه درخواست های CURL در مستندات این سایت از OAUTH2L برای تأیید اعتبار استفاده می کند. اگر می خواهید از خط فرمان برای ارتباط با API های ارتباطات تجاری و پیام های تجاری استفاده کنید ، OAUTH2L را نصب کنید. برای نصب OAuth2L با Python 3 ، بارگیری OAUTH2L . فهرست را به "./oauth2l/python" تغییر دهید. OAUTH2L را با دستور زیر نصب کنید. آزمایش کنید که OAUTH2L می تواند یک نشانه مجوز ایجاد کند. تأیید کنید که خروجی یک نشانه مجوز از فرم ایجاد می کند: روش های دیگری برای نصب OAUTH2L برای سیستم عامل های مختلف وجود دارد. صرف نظر از روش نصب خود ، اطمینان حاصل کنید که می توانید قبل از اقدام ، یک نشانه مجوز را بر اساس اعتبار حساب JSON JSON ایجاد کنید. پس از جمع آوری اطلاعات خود ، وقت آن است که نماینده خود را ایجاد کنید. برندی را که نماینده نمایندگی می کند ایجاد کنید. اگر این برند از قبل وجود دارد ، در یک ترمینال ، دستور زیر را اجرا کنید: مقدار برای به روزرسانی یا جستجوی مارک ها ، به عامل را ایجاد کنید. BRAND_ID با بخشی از ارزش در یک ترمینال ، دستور زیر را اجرا کنید: برای قالب بندی و گزینه های ارزش ، به اگر این برند مکانهایی دارد که می خواهید با نماینده خود در ارتباط باشید ، به Add Machines مراجعه کنید. هنگامی که یک نماینده ایجاد می کنید ، API ارتباطات تجاری مقادیر نماینده شما ، از جمله پیام های ارسال شده به نماینده خود را در وب سایت خود دریافت می کنید. اگر می خواهید پیام هایی برای یک عامل خاص به جای آن به یک وب سایت متفاوت وارد شود ، می توانید یک وب سایت سطح عامل را تنظیم کنید. برای تنظیم یک وب سایت در سطح عامل ، از کنسول توسعه دهنده استفاده کنید. هر نماینده دارای URL های آزمایشی است که به شما امکان می دهد ببینید که چگونه مکالمه با آن نماینده برای کاربران به نظر می رسد و به شما فرصتی می دهد تا زیرساخت های پیام رسانی خود را تأیید کنید. یک آزمایش دارای ویژگی های دستگاه های Android دارای دو URL TEST هستند. URL ها با مقدار هنگامی که یک سطح مکالمه باز شد ، مکالمه شامل تمام اطلاعات مارک تجاری است که کاربران می بینند ، و هنگامی که پیامی را به نماینده ارسال می کنید ، وب سایت شما پیام را دریافت می کند ، از جمله بار کامل JSON که می توانید هنگام برقراری ارتباط با کاربران انتظار داشته باشید. برای باز کردن URL آزمون عامل ، روی یک لینک ضربه بزنید یا از پرتابگر عامل پیام های تجاری در دستگاه تلفن همراه استفاده کنید. برای به دست آوردن اطلاعات در مورد یک نماینده ، مانند برای به دست آوردن اطلاعات عامل ، دستور زیر را اجرا کنید. BRAND_ID و AGENT_ID با مقادیر منحصر به فرد از اگر برای به روزرسانی یک نماینده ، شما یک درخواست پچ را با API ارتباطات تجاری انجام می دهید. هنگامی که تماس API را برقرار می کنید ، نام قسمت هایی را که ویرایش می کنید به عنوان مقادیر پارامتر URL "UpdatEmask" درج می کنید. به عنوان مثال ، اگر قسمتهای برای قالب بندی و گزینه های ارزش ، به اگر پس از تأیید یک عامل ، فقط می توانید قسمت های زیر را به روز کنید: اگر بعد از تأیید نماینده خود نیاز به به روزرسانی سایر زمینه ها دارید ،با ما تماس بگیرید. (ابتدا باید با پیام های تجاری Google وارد شوید . برای ثبت نام در یک حساب ، به ثبت نام در پیام های تجاری مراجعه کنید.) اگر هر زمینه ای را در هنگامی که یک عامل را حذف می کنید ، پیام های تجاری تمام داده های عامل را حذف می کنند. پیام های تجاری پیام های ارسال شده توسط نماینده شما را که در حال حمل و نقل هستند یا در دستگاه کاربر ذخیره می شوند حذف نمی کنند. پیام به کاربران داده عامل نیست. حذف درخواست ها در صورتی که عامل دارای یک مکان مرتبط باشد یا اگر سعی کرده اید یک یا چند بار نماینده را تأیید کنید ، شکست می خورند. برای به روزرسانی مکان ها ، به Add Mocلات مراجعه کنید. شما نمی توانید نماینده ای را که تأیید شده است حذف کنید. برای حذف نماینده ای که تأیید کرده اید یا سعی در تأیید آن دارید ،با ما تماس بگیرید. (شما ابتدا باید با پیام های تجاری Google وارد شوید . برای ثبت نام در یک حساب ، به ثبت نام در پیام های تجاری مراجعه کنید.) برای حذف یک عامل ، دستور زیر را اجرا کنید. BRAND_ID و AGENT_ID با مقادیر منحصر به فرد از برای قالب بندی و گزینه های ارزش ، به هنگامی که یک مارک را حذف می کنید ، یک درخواست حذف را با API ارتباطات تجاری انجام می دهید. حذف درخواست ها در صورت داشتن یک یا چند عامل یا مکان مرتبط با برند ، حتی اگر این عوامل متعلق به یک محصول متفاوت باشند ، شکست می خورند. برای حذف یک برند ، دستور زیر را اجرا کنید. BRAND_ID با ارزش منحصر به فرد از برای قالب بندی و گزینه های ارزش ، به اکنون که یک نماینده دارید ، می توانید مراحل زیر را بردارید:
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=displayName" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank',
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'displayName',
resource: {
displayName: 'Growing Tree Bank',
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد بر اساس کتابخانه مشتری Node.js Business Communications است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setDisplayName("Growing Tree Bank");
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("displayName");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
displayName='Growing Tree Bank'
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='displayName'
)
)
print(updated_agent)
این کد بر اساس کتابخانه مشتری ارتباطات تجاری Python است.NON_LOCAL
و LOCATION
مشخص کنید
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.entryPointConfigs" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'businessMessagesAgent': {
'entryPointConfigs': [
{
'allowedEntryPoint': 'NON_LOCAL',
},
{
'allowedEntryPoint': 'LOCATION',
},
],
},
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'businessMessagesAgent.entryPointConfigs',
resource: {
businessMessagesAgent: {
entryPointConfigs: [
{
allowedEntryPoint: 'LOCATION',
},
{
allowedEntryPoint: 'NON_LOCAL',
},
],
}
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد بر اساس کتابخانه مشتری Node.js Business Communications است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setBusinessMessagesAgent(
new BusinessMessagesAgent().setEntryPointConfigs(Arrays.asList(
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"NON_LOCAL"),
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"LOCATION"))));
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("businessMessagesAgent.entryPointConfigs");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinessMessagesAgent,
BusinessMessagesEntryPointConfig,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
businessMessagesAgent=BusinessMessagesAgent(
entryPointConfigs=[BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.NON_LOCAL
), BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.LOCATION
)]
)
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='businessMessagesAgent.entryPointConfigs'
)
)
print(updated_agent)
این کد بر اساس کتابخانه مشتری ارتباطات تجاری Python است. conversationalSettings
بهروزرسانی میکنید - مانند welcomeMessage
- باید همه فیلدهای درون شی را بهروزرسانی کنید، و باید محلی تنظیمات (به عنوان کد زبان ISO 639-1 دو کاراکتری) را مشخص کنید.
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.conversationalSettings.en" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'businessMessagesAgent': {
'conversationalSettings': {
'en': {
'welcomeMessage': {
'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?',
},
'offlineMessage': {
'text': 'We\'re closed for the night. Please reach out to us again tomorrow.',
},
'privacyPolicy': {
'url': 'https://www.growingtreebank.com/privacy',
},
'conversationStarters': [
{
'suggestion': {
'reply': {
'text': 'Set up an account',
'postbackData': 'new-account',
},
},
},
{
'suggestion': {
'reply': {
'text': 'Look up account information',
'postbackData': 'account-lookup',
},
},
},
],
},
},
},
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'businessMessagesAgent.conversationalSettings.en',
resource: {
businessMessagesAgent: {
conversationalSettings: {
en: {
privacyPolicy: { url: 'https://www.growingtreebank.com/privacy' },
welcomeMessage: { text: 'Thanks for contacting Growing Tree Bank. What can I help with today?' },
offlineMessage: { text: 'We\'re closed for the night. Please reach out to us again tomorrow.' },
conversationStarters: [
{
suggestion: {
reply: {
text: 'Set up an account',
postbackData: 'new-account',
},
},
},
{
suggestion: {
reply: {
text: 'Look up account information',
postbackData: 'account-lookup',
},
},
},
],
},
}
}
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد بر اساس کتابخانه مشتری Node.js Business Communications است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import com.google.common.collect.ImmutableMap;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setBusinessMessagesAgent(
new BusinessMessagesAgent().setConversationalSettings(ImmutableMap.of("en",
new ConversationalSetting()
.setPrivacyPolicy(new PrivacyPolicy().setUrl("https://www.growingtreebank.com/privacy"))
.setWelcomeMessage(new WelcomeMessage().setText("Thanks for contacting Growing Tree Bank. What can I help with today?"))
.setOfflineMessage(new OfflineMessage().setText("We're closed for the night. Please reach out to us again tomorrow."))
.setConversationStarters(Arrays.asList(
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply()
.setText("Set up an account")
.setPostbackData("new-account"))),
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply()
.setText("Look up account information")
.setPostbackData("account-lookup")))
)))));
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("businessMessagesAgent.conversationalSettings.en");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinessMessagesAgent,
ConversationStarters,
ConversationalSetting,
OfflineMessage,
PrivacyPolicy,
WelcomeMessage,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
businessMessagesAgent=BusinessMessagesAgent(
conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue(
additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty(
key='en',
value=ConversationalSetting(
privacyPolicy=PrivacyPolicy(url='https://www.growingtreebank.com/privacy'),
welcomeMessage=WelcomeMessage(text='Thanks for contacting Growing Tree Bank. What can I help with today?'),
offlineMessage=OfflineMessage(text='We\'re closed for the night. Please reach out to us again tomorrow.'),
conversationStarters=[
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Set up an account',
postbackData='new-account')
)
),
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Look up account information',
postbackData='account-lookup')
)
)]
)
)
]
)
)
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='businessMessagesAgent.conversationalSettings.en'
)
)
print(updated_agent)
این کد بر اساس کتابخانه مشتری ارتباطات تجاری Python است.name
عامل جایگزین کنید.
# This code deletes an agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
# Replace the __BRAND_ID__ and __AGENT_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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet deletes an agent.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
*
* 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');
// 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) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
};
bcApi.brands.agents.delete(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent removed
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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
BusinessCommunications.Brands.Agents.Delete request
= builder.build().brands().agents().delete(agentName);
System.out.println(request.execute());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
"""This code deletes an agent.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
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,
BusinesscommunicationsBrandsAgentsDeleteRequest,
)
# 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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
agent = agents_service.Delete(BusinesscommunicationsBrandsAgentsDeleteRequest(
name=agent_name
))
print(agent)
brands.agents.delete
مراجعه کنید.name
برند جایگزین کنید.
# This code deletes a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
# Replace the __BRAND_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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet deletes a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
*
* 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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: brandName,
};
bcApi.brands.delete(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Brand removed
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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "brands/BRAND_ID";
BusinessCommunications.Brands.Delete request = builder.build().brands().delete(brandName);
System.out.println(request.execute());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
"""This code deletes a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
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 (
BusinesscommunicationsBrandsAgentsDeleteRequest
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/' + BRAND_ID
agent = agents_service.Delete(BusinesscommunicationsBrandsAgentsDeleteRequest(
name=brand_name
))
print(agent)
brands.delete
مراجعه کنید.OPTION
تعریف شده است)TimeOfDay
{
"hours": 8,
"minutes": 15,
}
TimeOfDay
{
"hours": 19,
"minutes": 30,
}
DayOfWeek
تعریف شده است)DayOfWeek
تعریف شده است)NON_LOCAL
و/یا LOCATION
)NON_LOCAL
(در مورد نقطه ورودی Google Ads اعمال نمی شود).NON_LOCAL
.NON_LOCAL
در تمام مناطق موجود، از 001
برای کد منطقه جهانی استفاده کنید.sudo python setup.sh build && sudo python setup.py install
oauth2l header --json resources/bm-agent-service-account-credentials.json businesscommunications
Authorization: Bearer AUTHORIZATION_BEARER_TOKEN
name
برند را دریافت کنید و به مرحله بعدی بروید.
# This code creates a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create
# Make sure a service account key file exists at ./service_account_key.json
curl -X POST "https://businesscommunications.googleapis.com/v1/brands" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
"displayName": "My first brand curl"
}'
/**
* This code snippet creates a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create
*
* 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 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();
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
resource: {
displayName: 'My first brand',
},
};
bcApi.brands.create(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Brand created
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Communcations 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('Failed to connect');
} else {
resolve(authClient);
}
});
})
}
main();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Brand;
import java.io.FileInputStream;
import java.util.Arrays;
import java.util.UUID;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
// Create a request to create a new brand
BusinessCommunications.Brands.Create request = builder
.build().brands().create(new Brand().setDisplayName("BRAND_NAME"));
Brand brand = request.execute();
// Print newly created brand object
System.out.println(brand.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
"""This code creates a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create
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 (
Brand)
# Edit the values below:
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)
brands_service = BusinesscommunicationsV1.BrandsService(client)
brand = brands_service.Create(Brand(displayName='My first brand'))
print(brand)
name
را که API برمی گرداند ذخیره کنید. برای بهروزرسانی یا ایجاد عوامل به آن نیاز دارید.brands
را ببینید.name
تجاری که پس از "brands/" قرار دارد، جایگزین کنید. به عنوان مثال، اگر name
"brands/12345" باشد، شناسه برند "12345" است.
# This code creates a Business Messages agent.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_agent
# Replace the __BRAND_ID__ with a brand id that you can create agents for
# 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" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
"displayName": "My first agent",
"businessMessagesAgent": {
"logoUrl": "https://developers.google.com/identity/images/g-logo.png",
"entryPointConfigs": [
{
"allowedEntryPoint": "NON_LOCAL"
}
],
"customAgentId": "'$(uuidgen)'",
"nonLocalConfig": {
"regionCodes": [
"US",
"CA"
],
"contactOption": {
"url": "https://www.your-company-website.com",
"options": [
"EMAIL",
"PHONE"
]
},
"enabledDomains": [
"your-company-website.com"
],
"phoneNumber": {
"number": "+10000000000"
},
"callDeflectionPhoneNumbers": [
{
"number": "+10000000000"
},
{
"number": "+10000000000"
}
]
},
"conversationalSettings": {
"en": {
"welcomeMessage": {
"text": "This is a sample welcome message"
},
"privacyPolicy": {
"url": "https://www.your-company-website.com/privacy"
},
"conversationStarters": [
{
"suggestion": {
"reply": {
"text": "Option 1",
"postbackData": "postback_option_1"
}
}
}
]
}
},
"defaultLocale": "en",
"primaryAgentInteraction": {
"interactionType": "HUMAN",
"humanRepresentative": {
"humanMessagingAvailability": {
"hours": [
{
"startTime": {
"hours": 8,
"minutes": 30
},
"endTime": {
"hours": 20,
"minutes": 0
},
"timeZone": "America/Los_Angeles",
"startDay": "MONDAY",
"endDay": "SATURDAY"
}
]
}
}
}
}
}'
/**
* This code snippet creates a Business Messages agent.
* Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
const agentObject = {
displayName: 'My first agent',
businessMessagesAgent: {
customAgentId: uuidv4(), // Optional
logoUrl: 'https://developers.google.com/identity/images/g-logo.png',
entryPointConfigs: [
{
allowedEntryPoint: 'NON_LOCAL',
}
],
nonLocalConfig: { // Configuration options for launching on non-local entry points
// List of phone numbers for call deflection, values must be globally unique
callDeflectionPhoneNumbers: [
{ number: '+10000000000' },
{ number: '+10000000001' },
],
// Contact information for the agent that displays with the messaging button
contactOption: {
options: [
'EMAIL',
'PHONE'
],
url: 'https://www.your-company-website.com',
},
// Domains enabled for messaging within Search, values must be globally unique
enabledDomains: [ 'your-company-website.com' ],
// Agent's phone number. Overrides the `phone` field
// for conversations started from non-local entry points
phoneNumber: { number: '+10000000000' },
// List of CLDR region codes for countries where the agent is allowed to launch `NON_LOCAL` entry points
regionCodes: [ 'US', 'CA' ]
},
// Must match a conversational setting locale
defaultLocale: 'en',
conversationalSettings: {
en: {
privacyPolicy: { url: 'https://www.your-company-website.com/privacy' },
welcomeMessage: { text: 'This is a sample welcome message' },
conversationStarters: [
{
suggestion: {
reply: {
text: 'Option 1',
postbackData: 'postback_option_1',
},
},
},
],
},
},
primaryAgentInteraction: {
interactionType: 'HUMAN',
humanRepresentative: {
humanMessagingAvailability: {
hours: [
{
startTime: {
hours: 8,
minutes: 30
},
startDay: 'MONDAY',
endDay: 'SATURDAY',
endTime: {
hours: 20,
minutes: 0
},
timeZone: 'America/Los_Angeles',
},
],
},
},
},
},
};
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
parent: brandName,
resource: agentObject
};
bcApi.brands.agents.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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Brand;
import com.google.common.collect.ImmutableMap;
import java.io.FileInputStream;
import java.util.Arrays;
import java.util.UUID;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "BRAND_ID";
BusinessCommunications.Brands.Agents.Create request = builder
.build().brands().agents().create(brandName,
new Agent()
.setDisplayName("AGENT_NAME")
.setBusinessMessagesAgent(new BusinessMessagesAgent()
.setCustomAgentId("CUSTOM_ID") // Optional
.setLogoUrl("LOGO_URL")
.setEntryPointConfigs(Arrays.asList(
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"ENTRY_POINT_1"),
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"ENTRY_POINT_2")
))
// Configuration options for launching on non-local entry points
.setNonLocalConfig(new NonLocalConfig()
// List of phone numbers for call deflection, values must be globally unique
.setCallDeflectionPhoneNumbers(Arrays.asList(new Phone().setNumber("DEFLECTION_PHONE_NUMBER_1"),
new Phone().setNumber("DEFLECTION_PHONE_NUMBER_2")))
// Contact information for the agent that displays with the messaging button
.setContactOption(new ContactOption().setOptions(Arrays.asList(
"CONTACT_OPTION_1",
"CONTACT_OPTION_2")
).setUrl("WEBSITE_URL"))
// Domains enabled for messaging within Search, values must be globally unique
.setEnabledDomains(Arrays.asList("ENABLED_DOMAIN_1", "ENABLED_DOMAIN_2"))
// Agent's phone number. Overrides the `phone` field for
// conversations started from non-local entry points
.setPhoneNumber(new Phone().setNumber("CONTACT_PHONE_NUMBER"))
// List of regions where this agent will be available
.setRegionCodes(Arrays.asList("REGION_CODE")))
.setDefaultLocale("LOCALE")
// Create a map between the language code and the initial conversation settings
.setConversationalSettings(ImmutableMap.of("LOCALE",
new ConversationalSetting()
.setPrivacyPolicy(new PrivacyPolicy().setUrl("PRIVACY_POLICY_URL"))
.setWelcomeMessage(new WelcomeMessage().setText("WELCOME_MESSAGE"))
.setConversationStarters(Arrays.asList(
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply().setText("SUGGESTION_TEXT").setPostbackData("SUGGESTION_POSTBACK_DATA")))
))))
.setPrimaryAgentInteraction(new SupportedAgentInteraction()
.setInteractionType(InteractionType.HUMAN.toString())
.setHumanRepresentative(new HumanRepresentative()
.setHumanMessagingAvailability(new MessagingAvailability()
// Create a list of available hours
.setHours(Arrays.asList(new Hours()
.setStartTime(new TimeOfDay().setHours(START_TIME_HOURS).setMinutes(START_TIME_MINUTES))
.setStartDay("BEGINNING_DAY_OF_WEEK")
.setEndDay("END_DAY_OF_WEEK")
.setEndTime(new TimeOfDay().setHours(END_TIME_HOURS).setMinutes(END_TIME_MINUTES))
.setTimeZone("TIME_ZONE"))))))
));
Agent agent = request.execute();
System.out.println(agent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد بر اساس کتابخانه مشتری Java Business Communications است.
"""This code creates a Business Messages agent.
Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_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 (
Agent, BusinesscommunicationsBrandsAgentsCreateRequest,
BusinessMessagesAgent, BusinessMessagesEntryPointConfig,
ContactOption, ConversationalSetting, ConversationStarters,
Hours, HumanRepresentative, MessagingAvailability,
NonLocalConfig, Phone, PrivacyPolicy, Suggestion,
SuggestedReply, SupportedAgentInteraction,
TimeOfDay, WelcomeMessage
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/ '+ BRAND_ID
agent = Agent(
displayName='My first agent',
businessMessagesAgent=BusinessMessagesAgent(
customAgentId='CUSTOM_ID', # Optional
logoUrl='https://developers.google.com/identity/images/g-logo.png',
entryPointConfigs=[BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.LOCATION
), BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.NON_LOCAL
)],
nonLocalConfig=NonLocalConfig(
# List of phone numbers for call deflection, values must be globally unique
# Generating a random phone number for demonstration purposes
# This should be replaced with a real brand phone number
callDeflectionPhoneNumbers=[Phone(number='+10000000000'),
Phone(number='+10000000001')],
# Contact information for the agent that displays with the messaging button
contactOption=ContactOption(
options=[ContactOption.OptionsValueListEntryValuesEnum.EMAIL,
ContactOption.OptionsValueListEntryValuesEnum.PHONE],
url='https://www.your-company-website.com'
),
# Domains enabled for messaging within Search, values must be globally unique
# Generating a random URL for demonstration purposes
# This should be replaced with a real brand URL
enabledDomains=['your-company-website.com'],
# Agent's phone number. Overrides the `phone` field for conversations started from non-local entry points
phoneNumber=Phone(number='+10000000000'),
# List of CLDR region codes for countries where the agent is allowed to launch `NON_LOCAL` entry points.
# Example is for launching in Canada and the USA
regionCodes=['US', 'CA']
),
defaultLocale='en',
conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue(
additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty(
key='en',
value=ConversationalSetting(
privacyPolicy=PrivacyPolicy(url='https://www.your-company-website.com/privacy'),
welcomeMessage=WelcomeMessage(text='This is a sample welcome message'),
conversationStarters=[
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Option 1',
postbackData='postback_option_1')
)
)
]
)
)]
),
primaryAgentInteraction=SupportedAgentInteraction(
interactionType=SupportedAgentInteraction.InteractionTypeValueValuesEnum.HUMAN,
humanRepresentative=HumanRepresentative(
humanMessagingAvailability=MessagingAvailability(hours=[
Hours(
startTime=TimeOfDay(hours=8, minutes=30),
startDay=Hours.StartDayValueValuesEnum.MONDAY,
endDay=Hours.EndDayValueValuesEnum.SATURDAY,
endTime=TimeOfDay(hours=20, minutes=0),
timeZone='America/Los_Angeles'
)
])
)
),
)
)
new_agent = agents_service.Create(
BusinesscommunicationsBrandsAgentsCreateRequest(
agent=agent,
parent=brand_name
)
)
print(new_agent)
brands.agents
مراجعه کنید.
curl -X POST "https://businesscommunications.googleapis.com/v1/brands" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json /path/to/service/account/key.json businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank'
}"
# Fetch returned brand name value of "brands/12345"
curl -X POST "https://businesscommunications.googleapis.com/v1/brands/12345/agents" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json /path/to/service/account/key.json businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank',
'businessMessagesAgent': {
'logoUrl': 'https://www.growingtreebank.com/images/logo.png',
'entryPointConfigs': [
{
'allowedEntryPoint': 'NON_LOCAL',
},
{
'allowedEntryPoint': 'LOCATION',
},
],
'customAgentId': 'growing-tree-bank',
'nonLocalConfig': {
'regionCodes': ['001'],
'contactOption': {
'url': 'https://www.growingtreebank.com',
'options': [
'EMAIL',
'PHONE',
],
},
'enabledDomains': [
'https://www.growingtreebank.com',
],
'phoneNumber': {
'number': '+12223334444',
},
'callDeflectionPhoneNumbers': [
{
'number': '+12223334444',
},
{
'number': '+56667778888',
},
],
},
'conversationalSettings': {
'en': {
'welcomeMessage': {
'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?',
},
'privacyPolicy': {
'url': 'https://www.growingtreebank.com/privacy',
},
'conversationStarters': [
{
'suggestion': {
'reply': {
'text': 'Set up an account',
'postbackData': 'new-account',
},
},
},
],
},
},
'defaultLocale': 'en',
'primaryAgentInteraction': {
'interactionType': 'BOT',
'botRepresentative': {
'botMessagingAvailability': {
'hours': [
{
'startTime': {
'hours': '8',
'minutes': '00',
},
'endTime': {
'hours': '17',
'minutes': '30',
},
'timeZone': 'America/Los_Angeles',
'startDay': 'MONDAY',
'endDay': 'FRIDAY',
},
],
},
},
},
},
}"
name
و testUrls
را برمیگرداند.url
و surface
است. برای آزمایش با دستگاه iOS، از URL آزمایشی با مقدار سطحی SURFACE_IOS_MAPS
استفاده کنید. باز کردن URL در دستگاه iOS که برنامه Google Maps را نصب کرده است، یک مکالمه کاملاً کاربردی با نماینده باز می کند.surface
SURFACE_ANDROID_MAPS
مکالمات را در Google Maps باز میکنند و نقاط ورودی مکالمهای را نشان میدهند که در Google Maps ظاهر میشوند. نشانیهای وب با مقدار surface
SURFACE_ANDROID_WEB
مکالمات را در نمای مکالمهای همپوشانی باز میکنند و همه نقاط ورودی دیگر را نشان میدهند.agentTestUrl
، می توانید اطلاعات را از API ارتباطات تجاری دریافت کنید ، تا زمانی که ارزش name
عامل را داشته باشید.name
عامل جایگزین کنید.
# This code gets the agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/get
# 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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet gets an agent.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/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 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');
// 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) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
};
bcApi.brands.agents.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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
BusinessCommunications.Brands.Agents.Get request = builder
.build().brands().agents().get(agentName);
Agent agent = request.execute();
System.out.println(agent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code gets the agent.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/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,
BusinesscommunicationsBrandsAgentsGetRequest,
)
# 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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
agent = agents_service.Get(BusinesscommunicationsBrandsAgentsGetRequest(
name=agent_name
))
print(agent)
name
عامل را نمی دانید ، می توانید با حذف مقدار AGENT_ID از URL درخواست GET ، اطلاعات مربوط به همه نمایندگان مرتبط با یک مارک را دریافت کنید.
# This code lists all agents from a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list
# Replace the __BRAND_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/" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet lists the agents of a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list
*
* 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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
parent: brandName,
};
bcApi.brands.agents.list(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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "brands/BRAND_ID";
BusinessCommunications.Brands.Agents.List request = builder
.build().brands().agents().list(brandName);
List
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code lists all agents from a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list
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,
BusinesscommunicationsBrandsAgentsGetRequest,
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/' + BRAND_ID
agents = agents_service.List(BusinesscommunicationsBrandsAgentsListRequest(
parent=brand_name
))
print(agents)
displayName
و customAgentId
را به روز کنید ، پارامتر "UpdatEmask" URL "updatemask = displayName ، BusinessMessageAgent.CustomAgentId" است.brands.agents.patch
مراجعه کنید.name
نماینده را نمی دانید ، به لیست همه نمایندگان برای یک برند مراجعه کنید.conversationalSetting
customAgentId
defaultLocale
primaryAgentInteraction
additionalAgentInteractions
phone
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=displayName" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank',
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'displayName',
resource: {
displayName: 'Growing Tree Bank',
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری Node.js است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setDisplayName("Growing Tree Bank");
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("displayName");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
displayName='Growing Tree Bank'
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='displayName'
)
)
print(updated_agent)
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری پایتون است.NON_LOCAL
و LOCATION
را مشخص کنید
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.entryPointConfigs" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'businessMessagesAgent': {
'entryPointConfigs': [
{
'allowedEntryPoint': 'NON_LOCAL',
},
{
'allowedEntryPoint': 'LOCATION',
},
],
},
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'businessMessagesAgent.entryPointConfigs',
resource: {
businessMessagesAgent: {
entryPointConfigs: [
{
allowedEntryPoint: 'LOCATION',
},
{
allowedEntryPoint: 'NON_LOCAL',
},
],
}
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری Node.js است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setBusinessMessagesAgent(
new BusinessMessagesAgent().setEntryPointConfigs(Arrays.asList(
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"NON_LOCAL"),
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"LOCATION"))));
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("businessMessagesAgent.entryPointConfigs");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinessMessagesAgent,
BusinessMessagesEntryPointConfig,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
businessMessagesAgent=BusinessMessagesAgent(
entryPointConfigs=[BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.NON_LOCAL
), BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.LOCATION
)]
)
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='businessMessagesAgent.entryPointConfigs'
)
)
print(updated_agent)
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری پایتون است. conversationalSettings
به روز می کنید-مانند welcomeMessage
باید تمام زمینه های موجود در شیء را به روز کنید ، و باید محل تنظیمات را مشخص کنید (به عنوان یک کد زبان دو شخصیت ISO 639-1 ).
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.conversationalSettings.en" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'businessMessagesAgent': {
'conversationalSettings': {
'en': {
'welcomeMessage': {
'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?',
},
'offlineMessage': {
'text': 'We\'re closed for the night. Please reach out to us again tomorrow.',
},
'privacyPolicy': {
'url': 'https://www.growingtreebank.com/privacy',
},
'conversationStarters': [
{
'suggestion': {
'reply': {
'text': 'Set up an account',
'postbackData': 'new-account',
},
},
},
{
'suggestion': {
'reply': {
'text': 'Look up account information',
'postbackData': 'account-lookup',
},
},
},
],
},
},
},
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'businessMessagesAgent.conversationalSettings.en',
resource: {
businessMessagesAgent: {
conversationalSettings: {
en: {
privacyPolicy: { url: 'https://www.growingtreebank.com/privacy' },
welcomeMessage: { text: 'Thanks for contacting Growing Tree Bank. What can I help with today?' },
offlineMessage: { text: 'We\'re closed for the night. Please reach out to us again tomorrow.' },
conversationStarters: [
{
suggestion: {
reply: {
text: 'Set up an account',
postbackData: 'new-account',
},
},
},
{
suggestion: {
reply: {
text: 'Look up account information',
postbackData: 'account-lookup',
},
},
},
],
},
}
}
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری Node.js است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import com.google.common.collect.ImmutableMap;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setBusinessMessagesAgent(
new BusinessMessagesAgent().setConversationalSettings(ImmutableMap.of("en",
new ConversationalSetting()
.setPrivacyPolicy(new PrivacyPolicy().setUrl("https://www.growingtreebank.com/privacy"))
.setWelcomeMessage(new WelcomeMessage().setText("Thanks for contacting Growing Tree Bank. What can I help with today?"))
.setOfflineMessage(new OfflineMessage().setText("We're closed for the night. Please reach out to us again tomorrow."))
.setConversationStarters(Arrays.asList(
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply()
.setText("Set up an account")
.setPostbackData("new-account"))),
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply()
.setText("Look up account information")
.setPostbackData("account-lookup")))
)))));
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("businessMessagesAgent.conversationalSettings.en");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinessMessagesAgent,
ConversationStarters,
ConversationalSetting,
OfflineMessage,
PrivacyPolicy,
WelcomeMessage,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
businessMessagesAgent=BusinessMessagesAgent(
conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue(
additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty(
key='en',
value=ConversationalSetting(
privacyPolicy=PrivacyPolicy(url='https://www.growingtreebank.com/privacy'),
welcomeMessage=WelcomeMessage(text='Thanks for contacting Growing Tree Bank. What can I help with today?'),
offlineMessage=OfflineMessage(text='We\'re closed for the night. Please reach out to us again tomorrow.'),
conversationStarters=[
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Set up an account',
postbackData='new-account')
)
),
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Look up account information',
postbackData='account-lookup')
)
)]
)
)
]
)
)
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='businessMessagesAgent.conversationalSettings.en'
)
)
print(updated_agent)
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری پایتون است.name
عامل جایگزین کنید.
# This code deletes an agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
# Replace the __BRAND_ID__ and __AGENT_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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet deletes an agent.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
*
* 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');
// 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) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
};
bcApi.brands.agents.delete(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent removed
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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
BusinessCommunications.Brands.Agents.Delete request
= builder.build().brands().agents().delete(agentName);
System.out.println(request.execute());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code deletes an agent.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
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,
BusinesscommunicationsBrandsAgentsDeleteRequest,
)
# 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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
agent = agents_service.Delete(BusinesscommunicationsBrandsAgentsDeleteRequest(
name=agent_name
))
print(agent)
brands.agents.delete
مراجعه کنید.name
مارک جایگزین کنید.
# This code deletes a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
# Replace the __BRAND_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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet deletes a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
*
* 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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: brandName,
};
bcApi.brands.delete(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Brand removed
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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "brands/BRAND_ID";
BusinessCommunications.Brands.Delete request = builder.build().brands().delete(brandName);
System.out.println(request.execute());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code deletes a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
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 (
BusinesscommunicationsBrandsAgentsDeleteRequest
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/' + BRAND_ID
agent = agents_service.Delete(BusinesscommunicationsBrandsAgentsDeleteRequest(
name=brand_name
))
print(agent)
brands.delete
مراجعه کنید.OPTION
تعریف شده است)TimeOfDay
{
"hours": 8,
"minutes": 15,
}
TimeOfDay
{
"hours": 19,
"minutes": 30,
}
DayOfWeek
تعریف شده است)DayOfWeek
تعریف شده است)NON_LOCAL
و/یا LOCATION
)NON_LOCAL
(در مورد نقطه ورود Google Ads اعمال نمی شود).NON_LOCAL
.NON_LOCAL
در کلیه مناطق موجود ، از 001
برای کد منطقه جهانی استفاده کنید.sudo python setup.sh build && sudo python setup.py install
oauth2l header --json resources/bm-agent-service-account-credentials.json businesscommunications
Authorization: Bearer AUTHORIZATION_BEARER_TOKEN
name
مارک را دریافت کرده و به مرحله بعدی بروید.
# This code creates a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create
# Make sure a service account key file exists at ./service_account_key.json
curl -X POST "https://businesscommunications.googleapis.com/v1/brands" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
"displayName": "My first brand curl"
}'
/**
* This code snippet creates a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create
*
* 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 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();
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
resource: {
displayName: 'My first brand',
},
};
bcApi.brands.create(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Brand created
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Communcations 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('Failed to connect');
} else {
resolve(authClient);
}
});
})
}
main();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Brand;
import java.io.FileInputStream;
import java.util.Arrays;
import java.util.UUID;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
// Create a request to create a new brand
BusinessCommunications.Brands.Create request = builder
.build().brands().create(new Brand().setDisplayName("BRAND_NAME"));
Brand brand = request.execute();
// Print newly created brand object
System.out.println(brand.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code creates a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/create
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 (
Brand)
# Edit the values below:
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)
brands_service = BusinesscommunicationsV1.BrandsService(client)
brand = brands_service.Create(Brand(displayName='My first brand'))
print(brand)
name
را که API باز می گرداند ذخیره کنید. برای ایجاد به روزرسانی یا ایجاد عوامل به آن نیاز دارید.brands
مراجعه کنید.name
برند که در زیر "مارک ها/" قرار دارد جایگزین کنید. به عنوان مثال ، اگر name
"مارک ها/12345" باشد ، شناسه مارک "12345" است.
# This code creates a Business Messages agent.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_agent
# Replace the __BRAND_ID__ with a brand id that you can create agents for
# 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" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
"displayName": "My first agent",
"businessMessagesAgent": {
"logoUrl": "https://developers.google.com/identity/images/g-logo.png",
"entryPointConfigs": [
{
"allowedEntryPoint": "NON_LOCAL"
}
],
"customAgentId": "'$(uuidgen)'",
"nonLocalConfig": {
"regionCodes": [
"US",
"CA"
],
"contactOption": {
"url": "https://www.your-company-website.com",
"options": [
"EMAIL",
"PHONE"
]
},
"enabledDomains": [
"your-company-website.com"
],
"phoneNumber": {
"number": "+10000000000"
},
"callDeflectionPhoneNumbers": [
{
"number": "+10000000000"
},
{
"number": "+10000000000"
}
]
},
"conversationalSettings": {
"en": {
"welcomeMessage": {
"text": "This is a sample welcome message"
},
"privacyPolicy": {
"url": "https://www.your-company-website.com/privacy"
},
"conversationStarters": [
{
"suggestion": {
"reply": {
"text": "Option 1",
"postbackData": "postback_option_1"
}
}
}
]
}
},
"defaultLocale": "en",
"primaryAgentInteraction": {
"interactionType": "HUMAN",
"humanRepresentative": {
"humanMessagingAvailability": {
"hours": [
{
"startTime": {
"hours": 8,
"minutes": 30
},
"endTime": {
"hours": 20,
"minutes": 0
},
"timeZone": "America/Los_Angeles",
"startDay": "MONDAY",
"endDay": "SATURDAY"
}
]
}
}
}
}
}'
/**
* This code snippet creates a Business Messages agent.
* Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
const agentObject = {
displayName: 'My first agent',
businessMessagesAgent: {
customAgentId: uuidv4(), // Optional
logoUrl: 'https://developers.google.com/identity/images/g-logo.png',
entryPointConfigs: [
{
allowedEntryPoint: 'NON_LOCAL',
}
],
nonLocalConfig: { // Configuration options for launching on non-local entry points
// List of phone numbers for call deflection, values must be globally unique
callDeflectionPhoneNumbers: [
{ number: '+10000000000' },
{ number: '+10000000001' },
],
// Contact information for the agent that displays with the messaging button
contactOption: {
options: [
'EMAIL',
'PHONE'
],
url: 'https://www.your-company-website.com',
},
// Domains enabled for messaging within Search, values must be globally unique
enabledDomains: [ 'your-company-website.com' ],
// Agent's phone number. Overrides the `phone` field
// for conversations started from non-local entry points
phoneNumber: { number: '+10000000000' },
// List of CLDR region codes for countries where the agent is allowed to launch `NON_LOCAL` entry points
regionCodes: [ 'US', 'CA' ]
},
// Must match a conversational setting locale
defaultLocale: 'en',
conversationalSettings: {
en: {
privacyPolicy: { url: 'https://www.your-company-website.com/privacy' },
welcomeMessage: { text: 'This is a sample welcome message' },
conversationStarters: [
{
suggestion: {
reply: {
text: 'Option 1',
postbackData: 'postback_option_1',
},
},
},
],
},
},
primaryAgentInteraction: {
interactionType: 'HUMAN',
humanRepresentative: {
humanMessagingAvailability: {
hours: [
{
startTime: {
hours: 8,
minutes: 30
},
startDay: 'MONDAY',
endDay: 'SATURDAY',
endTime: {
hours: 20,
minutes: 0
},
timeZone: 'America/Los_Angeles',
},
],
},
},
},
},
};
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
parent: brandName,
resource: agentObject
};
bcApi.brands.agents.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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Brand;
import com.google.common.collect.ImmutableMap;
import java.io.FileInputStream;
import java.util.Arrays;
import java.util.UUID;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "BRAND_ID";
BusinessCommunications.Brands.Agents.Create request = builder
.build().brands().agents().create(brandName,
new Agent()
.setDisplayName("AGENT_NAME")
.setBusinessMessagesAgent(new BusinessMessagesAgent()
.setCustomAgentId("CUSTOM_ID") // Optional
.setLogoUrl("LOGO_URL")
.setEntryPointConfigs(Arrays.asList(
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"ENTRY_POINT_1"),
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"ENTRY_POINT_2")
))
// Configuration options for launching on non-local entry points
.setNonLocalConfig(new NonLocalConfig()
// List of phone numbers for call deflection, values must be globally unique
.setCallDeflectionPhoneNumbers(Arrays.asList(new Phone().setNumber("DEFLECTION_PHONE_NUMBER_1"),
new Phone().setNumber("DEFLECTION_PHONE_NUMBER_2")))
// Contact information for the agent that displays with the messaging button
.setContactOption(new ContactOption().setOptions(Arrays.asList(
"CONTACT_OPTION_1",
"CONTACT_OPTION_2")
).setUrl("WEBSITE_URL"))
// Domains enabled for messaging within Search, values must be globally unique
.setEnabledDomains(Arrays.asList("ENABLED_DOMAIN_1", "ENABLED_DOMAIN_2"))
// Agent's phone number. Overrides the `phone` field for
// conversations started from non-local entry points
.setPhoneNumber(new Phone().setNumber("CONTACT_PHONE_NUMBER"))
// List of regions where this agent will be available
.setRegionCodes(Arrays.asList("REGION_CODE")))
.setDefaultLocale("LOCALE")
// Create a map between the language code and the initial conversation settings
.setConversationalSettings(ImmutableMap.of("LOCALE",
new ConversationalSetting()
.setPrivacyPolicy(new PrivacyPolicy().setUrl("PRIVACY_POLICY_URL"))
.setWelcomeMessage(new WelcomeMessage().setText("WELCOME_MESSAGE"))
.setConversationStarters(Arrays.asList(
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply().setText("SUGGESTION_TEXT").setPostbackData("SUGGESTION_POSTBACK_DATA")))
))))
.setPrimaryAgentInteraction(new SupportedAgentInteraction()
.setInteractionType(InteractionType.HUMAN.toString())
.setHumanRepresentative(new HumanRepresentative()
.setHumanMessagingAvailability(new MessagingAvailability()
// Create a list of available hours
.setHours(Arrays.asList(new Hours()
.setStartTime(new TimeOfDay().setHours(START_TIME_HOURS).setMinutes(START_TIME_MINUTES))
.setStartDay("BEGINNING_DAY_OF_WEEK")
.setEndDay("END_DAY_OF_WEEK")
.setEndTime(new TimeOfDay().setHours(END_TIME_HOURS).setMinutes(END_TIME_MINUTES))
.setTimeZone("TIME_ZONE"))))))
));
Agent agent = request.execute();
System.out.println(agent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code creates a Business Messages agent.
Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/agents?method=api#create_the_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 (
Agent, BusinesscommunicationsBrandsAgentsCreateRequest,
BusinessMessagesAgent, BusinessMessagesEntryPointConfig,
ContactOption, ConversationalSetting, ConversationStarters,
Hours, HumanRepresentative, MessagingAvailability,
NonLocalConfig, Phone, PrivacyPolicy, Suggestion,
SuggestedReply, SupportedAgentInteraction,
TimeOfDay, WelcomeMessage
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/ '+ BRAND_ID
agent = Agent(
displayName='My first agent',
businessMessagesAgent=BusinessMessagesAgent(
customAgentId='CUSTOM_ID', # Optional
logoUrl='https://developers.google.com/identity/images/g-logo.png',
entryPointConfigs=[BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.LOCATION
), BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.NON_LOCAL
)],
nonLocalConfig=NonLocalConfig(
# List of phone numbers for call deflection, values must be globally unique
# Generating a random phone number for demonstration purposes
# This should be replaced with a real brand phone number
callDeflectionPhoneNumbers=[Phone(number='+10000000000'),
Phone(number='+10000000001')],
# Contact information for the agent that displays with the messaging button
contactOption=ContactOption(
options=[ContactOption.OptionsValueListEntryValuesEnum.EMAIL,
ContactOption.OptionsValueListEntryValuesEnum.PHONE],
url='https://www.your-company-website.com'
),
# Domains enabled for messaging within Search, values must be globally unique
# Generating a random URL for demonstration purposes
# This should be replaced with a real brand URL
enabledDomains=['your-company-website.com'],
# Agent's phone number. Overrides the `phone` field for conversations started from non-local entry points
phoneNumber=Phone(number='+10000000000'),
# List of CLDR region codes for countries where the agent is allowed to launch `NON_LOCAL` entry points.
# Example is for launching in Canada and the USA
regionCodes=['US', 'CA']
),
defaultLocale='en',
conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue(
additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty(
key='en',
value=ConversationalSetting(
privacyPolicy=PrivacyPolicy(url='https://www.your-company-website.com/privacy'),
welcomeMessage=WelcomeMessage(text='This is a sample welcome message'),
conversationStarters=[
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Option 1',
postbackData='postback_option_1')
)
)
]
)
)]
),
primaryAgentInteraction=SupportedAgentInteraction(
interactionType=SupportedAgentInteraction.InteractionTypeValueValuesEnum.HUMAN,
humanRepresentative=HumanRepresentative(
humanMessagingAvailability=MessagingAvailability(hours=[
Hours(
startTime=TimeOfDay(hours=8, minutes=30),
startDay=Hours.StartDayValueValuesEnum.MONDAY,
endDay=Hours.EndDayValueValuesEnum.SATURDAY,
endTime=TimeOfDay(hours=20, minutes=0),
timeZone='America/Los_Angeles'
)
])
)
),
)
)
new_agent = agents_service.Create(
BusinesscommunicationsBrandsAgentsCreateRequest(
agent=agent,
parent=brand_name
)
)
print(new_agent)
brands.agents
مراجعه کنید.
curl -X POST "https://businesscommunications.googleapis.com/v1/brands" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json /path/to/service/account/key.json businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank'
}"
# Fetch returned brand name value of "brands/12345"
curl -X POST "https://businesscommunications.googleapis.com/v1/brands/12345/agents" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json /path/to/service/account/key.json businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank',
'businessMessagesAgent': {
'logoUrl': 'https://www.growingtreebank.com/images/logo.png',
'entryPointConfigs': [
{
'allowedEntryPoint': 'NON_LOCAL',
},
{
'allowedEntryPoint': 'LOCATION',
},
],
'customAgentId': 'growing-tree-bank',
'nonLocalConfig': {
'regionCodes': ['001'],
'contactOption': {
'url': 'https://www.growingtreebank.com',
'options': [
'EMAIL',
'PHONE',
],
},
'enabledDomains': [
'https://www.growingtreebank.com',
],
'phoneNumber': {
'number': '+12223334444',
},
'callDeflectionPhoneNumbers': [
{
'number': '+12223334444',
},
{
'number': '+56667778888',
},
],
},
'conversationalSettings': {
'en': {
'welcomeMessage': {
'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?',
},
'privacyPolicy': {
'url': 'https://www.growingtreebank.com/privacy',
},
'conversationStarters': [
{
'suggestion': {
'reply': {
'text': 'Set up an account',
'postbackData': 'new-account',
},
},
},
],
},
},
'defaultLocale': 'en',
'primaryAgentInteraction': {
'interactionType': 'BOT',
'botRepresentative': {
'botMessagingAvailability': {
'hours': [
{
'startTime': {
'hours': '8',
'minutes': '00',
},
'endTime': {
'hours': '17',
'minutes': '30',
},
'timeZone': 'America/Los_Angeles',
'startDay': 'MONDAY',
'endDay': 'FRIDAY',
},
],
},
},
},
},
}"
name
و testUrls
برمی گرداند.url
و surface
است. برای تست با دستگاه iOS ، از URL تست با مقدار سطح SURFACE_IOS_MAPS
استفاده کنید. باز کردن URL بر روی دستگاه iOS که دارای برنامه Google Maps است نصب شده ، مکالمه کاملاً کاربردی را با نماینده باز می کند.surface
SURFACE_ANDROID_MAPS
مکالمات را در Google Maps باز کرده و نقاط ورود مکالمه ای را که در Google Maps ظاهر می شوند ، باز می کنند. URL ها با مقدار surface
مکالمات SURFACE_ANDROID_WEB
در یک نمای مکالمه روکش باز شده و تمام نقاط ورودی دیگر را نشان می دهند.agentTestUrl
، می توانید اطلاعات را از API ارتباطات تجاری دریافت کنید ، تا زمانی که ارزش name
عامل را داشته باشید.name
عامل جایگزین کنید.
# This code gets the agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/get
# 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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet gets an agent.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/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 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');
// 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) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
};
bcApi.brands.agents.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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
BusinessCommunications.Brands.Agents.Get request = builder
.build().brands().agents().get(agentName);
Agent agent = request.execute();
System.out.println(agent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code gets the agent.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/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,
BusinesscommunicationsBrandsAgentsGetRequest,
)
# 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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
agent = agents_service.Get(BusinesscommunicationsBrandsAgentsGetRequest(
name=agent_name
))
print(agent)
name
عامل را نمی دانید ، می توانید با حذف مقدار AGENT_ID از URL درخواست GET ، اطلاعات مربوط به همه نمایندگان مرتبط با یک مارک را دریافت کنید.
# This code lists all agents from a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list
# Replace the __BRAND_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/" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet lists the agents of a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list
*
* 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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
parent: brandName,
};
bcApi.brands.agents.list(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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "brands/BRAND_ID";
BusinessCommunications.Brands.Agents.List request = builder
.build().brands().agents().list(brandName);
List
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code lists all agents from a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/list
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,
BusinesscommunicationsBrandsAgentsGetRequest,
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/' + BRAND_ID
agents = agents_service.List(BusinesscommunicationsBrandsAgentsListRequest(
parent=brand_name
))
print(agents)
displayName
و customAgentId
را به روز کنید ، پارامتر "UpdatEmask" URL "updatemask = displayName ، BusinessMessageAgent.CustomAgentId" است.brands.agents.patch
مراجعه کنید.name
نماینده را نمی دانید ، به لیست همه نمایندگان برای یک برند مراجعه کنید.conversationalSetting
customAgentId
defaultLocale
primaryAgentInteraction
additionalAgentInteractions
phone
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=displayName" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'displayName': 'Growing Tree Bank',
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'displayName',
resource: {
displayName: 'Growing Tree Bank',
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری Node.js است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setDisplayName("Growing Tree Bank");
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("displayName");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
displayName='Growing Tree Bank'
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='displayName'
)
)
print(updated_agent)
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری پایتون است.NON_LOCAL
و LOCATION
را مشخص کنید
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.entryPointConfigs" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'businessMessagesAgent': {
'entryPointConfigs': [
{
'allowedEntryPoint': 'NON_LOCAL',
},
{
'allowedEntryPoint': 'LOCATION',
},
],
},
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'businessMessagesAgent.entryPointConfigs',
resource: {
businessMessagesAgent: {
entryPointConfigs: [
{
allowedEntryPoint: 'LOCATION',
},
{
allowedEntryPoint: 'NON_LOCAL',
},
],
}
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری Node.js است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setBusinessMessagesAgent(
new BusinessMessagesAgent().setEntryPointConfigs(Arrays.asList(
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"NON_LOCAL"),
new BusinessMessagesEntryPointConfig()
.setAllowedEntryPoint(
"LOCATION"))));
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("businessMessagesAgent.entryPointConfigs");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinessMessagesAgent,
BusinessMessagesEntryPointConfig,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
businessMessagesAgent=BusinessMessagesAgent(
entryPointConfigs=[BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.NON_LOCAL
), BusinessMessagesEntryPointConfig(
allowedEntryPoint=BusinessMessagesEntryPointConfig.AllowedEntryPointValueValuesEnum.LOCATION
)]
)
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='businessMessagesAgent.entryPointConfigs'
)
)
print(updated_agent)
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری پایتون است. conversationalSettings
به روز می کنید-مانند welcomeMessage
باید تمام زمینه های موجود در شیء را به روز کنید ، و باید محل تنظیمات را مشخص کنید (به عنوان یک کد زبان دو شخصیت ISO 639-1 ).
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/BRAND_ID/agents/AGENT_ID?updateMask=businessMessagesAgent.conversationalSettings.en" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businesscommunications)" \
-d "{
'businessMessagesAgent': {
'conversationalSettings': {
'en': {
'welcomeMessage': {
'text': 'Thanks for contacting Growing Tree Bank. What can I help with today?',
},
'offlineMessage': {
'text': 'We\'re closed for the night. Please reach out to us again tomorrow.',
},
'privacyPolicy': {
'url': 'https://www.growingtreebank.com/privacy',
},
'conversationStarters': [
{
'suggestion': {
'reply': {
'text': 'Set up an account',
'postbackData': 'new-account',
},
},
},
{
'suggestion': {
'reply': {
'text': 'Look up account information',
'postbackData': 'account-lookup',
},
},
},
],
},
},
},
}"
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
let 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');
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
let 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);
}
});
});
}
async function main() {
let authClient = await initCredentials();
let agentName = 'brands/BRAND_ID/agents/AGENT_ID';
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
updateMask: 'businessMessagesAgent.conversationalSettings.en',
resource: {
businessMessagesAgent: {
conversationalSettings: {
en: {
privacyPolicy: { url: 'https://www.growingtreebank.com/privacy' },
welcomeMessage: { text: 'Thanks for contacting Growing Tree Bank. What can I help with today?' },
offlineMessage: { text: 'We\'re closed for the night. Please reach out to us again tomorrow.' },
conversationStarters: [
{
suggestion: {
reply: {
text: 'Set up an account',
postbackData: 'new-account',
},
},
},
{
suggestion: {
reply: {
text: 'Look up account information',
postbackData: 'account-lookup',
},
},
},
],
},
}
}
}
};
bcApi.brands.agents.patch(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
main();
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری Node.js است.
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import com.google.common.collect.ImmutableMap;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
Agent agent = new Agent().setBusinessMessagesAgent(
new BusinessMessagesAgent().setConversationalSettings(ImmutableMap.of("en",
new ConversationalSetting()
.setPrivacyPolicy(new PrivacyPolicy().setUrl("https://www.growingtreebank.com/privacy"))
.setWelcomeMessage(new WelcomeMessage().setText("Thanks for contacting Growing Tree Bank. What can I help with today?"))
.setOfflineMessage(new OfflineMessage().setText("We're closed for the night. Please reach out to us again tomorrow."))
.setConversationStarters(Arrays.asList(
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply()
.setText("Set up an account")
.setPostbackData("new-account"))),
new ConversationStarters().setSuggestion(new Suggestion()
.setReply(new SuggestedReply()
.setText("Look up account information")
.setPostbackData("account-lookup")))
)))));
BusinessCommunications.Brands.Agents.Patch request = builder
.build().brands().agents().patch(agentName, agent);
request.setUpdateMask("businessMessagesAgent.conversationalSettings.en");
Agent updatedAgent = request.execute();
System.out.println(updatedAgent.toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import (
BusinesscommunicationsV1
)
from businesscommunications.businesscommunications_v1_messages import (
Agent,
BusinessMessagesAgent,
ConversationStarters,
ConversationalSetting,
OfflineMessage,
PrivacyPolicy,
WelcomeMessage,
BusinesscommunicationsBrandsAgentsPatchRequest,
)
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = 'PATH_TO_SERVICE_ACCOUNT_KEY'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/BRAND_ID/agents/AGENT_ID'
agent=Agent(
businessMessagesAgent=BusinessMessagesAgent(
conversationalSettings=BusinessMessagesAgent.ConversationalSettingsValue(
additionalProperties=[BusinessMessagesAgent.ConversationalSettingsValue.AdditionalProperty(
key='en',
value=ConversationalSetting(
privacyPolicy=PrivacyPolicy(url='https://www.growingtreebank.com/privacy'),
welcomeMessage=WelcomeMessage(text='Thanks for contacting Growing Tree Bank. What can I help with today?'),
offlineMessage=OfflineMessage(text='We\'re closed for the night. Please reach out to us again tomorrow.'),
conversationStarters=[
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Set up an account',
postbackData='new-account')
)
),
ConversationStarters(
suggestion=Suggestion(
reply=SuggestedReply(text='Look up account information',
postbackData='account-lookup')
)
)]
)
)
]
)
)
)
updated_agent = agents_service.Patch(
BusinesscommunicationsBrandsAgentsPatchRequest(
agent=agent,
name=agent_name,
updateMask='businessMessagesAgent.conversationalSettings.en'
)
)
print(updated_agent)
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری پایتون است.name
عامل جایگزین کنید.
# This code deletes an agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
# Replace the __BRAND_ID__ and __AGENT_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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet deletes an agent.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
*
* 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');
// 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) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
};
bcApi.brands.agents.delete(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent removed
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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
BusinessCommunications.Brands.Agents.Delete request
= builder.build().brands().agents().delete(agentName);
System.out.println(request.execute());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code deletes an agent.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/delete
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,
BusinesscommunicationsBrandsAgentsDeleteRequest,
)
# 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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
agent = agents_service.Delete(BusinesscommunicationsBrandsAgentsDeleteRequest(
name=agent_name
))
print(agent)
brands.agents.delete
مراجعه کنید.name
مارک جایگزین کنید.
# This code deletes a brand.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
# Replace the __BRAND_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__" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
/**
* This code snippet deletes a brand.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
*
* 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 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 brandName = 'brands/' + BRAND_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: brandName,
};
bcApi.brands.delete(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Brand removed
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();
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.*;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String brandName = "brands/BRAND_ID";
BusinessCommunications.Brands.Delete request = builder.build().brands().delete(brandName);
System.out.println(request.execute());
} catch (Exception e) {
e.printStackTrace();
}
}
}
این کد مبتنی بر کتابخانه مشتری ارتباطات تجاری جاوا است.
"""This code deletes a brand.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands/delete
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 (
BusinesscommunicationsBrandsAgentsDeleteRequest
)
# Edit the values below:
BRAND_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)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
brand_name = 'brands/' + BRAND_ID
agent = agents_service.Delete(BusinesscommunicationsBrandsAgentsDeleteRequest(
name=brand_name
))
print(agent)
brands.delete
مراجعه کنید.