پیام ها را دریافت کنید

عوامل RBM پیام ها و رویدادها را از طریق یک وب هوک دریافت می کنند. هنگامی که یک کاربر پیامی را برای نماینده شما ارسال می کند، سرویس RBM Google پیام را به وب هوک پیکربندی شده شما ارسال می کند. سپس نماینده شما می‌تواند پیام را رمزگشایی کند، آن را پردازش کند و پاسخی برای کاربر صادر کند.

کاربر پیامی را برای نماینده ارسال می کند

کاربران می توانند هر متن، مکان یا فایلی را که کلاینت RCS آنها اجازه می دهد ارسال کنند. نماینده شما باید هر متن، مکان یا فایلی را که کاربر ممکن است ارسال کند، و همچنین هرگونه خطایی که ممکن است آن پیام‌ها ایجاد کند، مدیریت کند.

مدیریت پیام های دریافتی

اینکه نماینده شما چگونه پیام‌های کاربران را مدیریت می‌کند و به آنها پاسخ می‌دهد، بسیار به منطق کسب‌وکار شما بستگی دارد. به طور کلی، با این حال، مراحل برای پاسخ به یک پیام کاربر سازگار است.

مرحله 1: نوع پیامی را که کاربر ارسال کرده است شناسایی کنید

کاربران می توانند چهار نوع پیام ارسال کنند:

  • پیام های متنی پاسخ های آزاد هستند.
  • پیام‌های پیشنهادی شامل داده‌های بازپس‌گیری و متن اقدام پیشنهادی یا پاسخ پیشنهادی است که کاربر روی آن ضربه زده است.
  • پیام های مکان شامل مقادیر طول و عرض جغرافیایی می باشد.

  • پیام های فایل شامل URI برای یک فایل و داده های مرتبط است.

مرحله 2: محتوای پیام را پردازش کنید

محتوای پیام کاربر باید منطق نماینده شما و پاسخ بعدی در گفتگو را راهنمایی کند.

ساده‌ترین راه برای شناسایی هدف کاربر، استفاده از داده‌های پس‌گردان از یک پاسخ پیشنهادی یا اقدام پیشنهادی است. صرف‌نظر از متن مرتبط با پیشنهاد، داده‌های پس‌بازگشت قابل خواندن توسط ماشین هستند.

اگر کاربر یک پیام متنی ارسال کند، ممکن است نماینده شما پاسخ را برای کلمات کلیدی پشتیبانی شده تجزیه کند یا از NLU (مانند Dialogflow ) برای پردازش پیام کاربر و شناسایی مسیر رو به جلو استفاده کند.

پیام‌های مکان و فایل شامل داده‌های متنی یا پس‌گردان نیستند، بنابراین نماینده شما باید پیش از پاسخ دادن، زمینه مکالمه و پیام‌های اخیر را در نظر بگیرد.

اگر نماینده شما نمی داند چگونه به پیام کاربر پاسخ دهد، باید با یک حالت خطا پاسخ دهد و سعی کند با درخواست از کاربر برای اطلاعات بیشتر، با درخواست ورودی به روشی دیگر، یا با ارائه پاسخ های پیشنهادی، مکالمه را ادامه دهد. و اقداماتی را پیشنهاد کرد که نماینده می داند چگونه به آنها پاسخ دهد.

مرحله 3: منطق تجاری برای تعامل را برآورده کنید

هنگامی که نماینده شما پاسخ صحیح به پیام کاربر را شناسایی کرد، اطلاعات لازم را از زیرساخت شما جمع آوری می کند و در صورت لزوم با سیستم های دیگر درگیر می شود تا منطق تجاری برای تعامل را برآورده کند.

مرحله 4: به کاربر پاسخ دهید

پس از اینکه عامل منطق تجاری برای تعامل را انجام داد، پیام دیگری ارسال می کند و گفتگو را با کاربر ادامه می دهد.

نمونه ها

کد زیر نشان می دهد که نماینده شما چگونه پیام ها را دریافت می کند. برای اطلاعات قالب‌بندی و ارزش، به UserMessage مراجعه کنید.

نماینده متن را دریافت می کند

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

نماینده یک پیام از یک پیشنهاد دریافت می کند

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

نماینده یک مکان دریافت می کند

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

نماینده یک فایل دریافت می کند

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

رویدادهای دریافتی را مدیریت کنید

نماینده شما هنگام تحویل و خواندن پیام‌هایی که به کاربران ارسال می‌کند، اعلان‌ها را دریافت می‌کند.

کد زیر نشان می دهد که نماینده شما چگونه پیام ها را دریافت می کند. برای اطلاعات قالب‌بندی و ارزش، به UserEvent مراجعه کنید.

پیام به کاربر تحویل داده شد

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

پیام توسط کاربر خوانده شد

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

کاربر در حال تایپ است

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