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

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

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

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

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

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

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

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

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

  • پیام‌های فایل شامل آدرس اینترنتی (URI) یک فایل و داده‌های مرتبط با آن هستند.

مرحله ۲: پردازش محتوای پیام

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

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

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

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

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

مرحله ۳: منطق تجاری تعامل را تکمیل کنید

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

مرحله ۴: پاسخ به کاربر

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

مثال‌ها

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

توجه : برای ترافیک ایالات متحده، پیام‌های کاربر و لمس اقدامات پیشنهادی تابع طبقه‌بندی‌های مدل صورتحساب ایالات متحده هستند. وقتی نماینده شما این رویدادها را دریافت می‌کند، فیلد richMessageClassification را که نوع رویداد قابل پرداخت را تعیین می‌کند، اضافه می‌کند. برای جزئیات طبقه‌بندی، به راهنمای مدل صورتحساب ایالات متحده مراجعه کنید.

عامل متن را دریافت می‌کند

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