دریافت

برچسب‌ها و bucketها

ایمیل‌های ارسالی و دریافتی را به‌صورت خودکار در برچسب‌ها بایگانی کنید و به ایجنت یک bucket بدهید که مکالمه‌هایش هرگز از آن خارج نمی‌شوند.

برچسب‌ها

برچسب مانند یک پوشه در Gmail عمل می‌کند. هر پیام حداکثر 10 برچسب می‌تواند داشته باشد و هر فضای کاری حداکثر 200 برچسب. با POST /labels برچسب بسازید، با GET /labels آن‌ها را همراه با تعداد پیام‌ها و خوانده‌نشده‌ها فهرست کنید و با GET /emails?label=Billing محتوای یک برچسب را بخوانید. در همه‌جا می‌توان با نام یا شناسه lbl_ به برچسب‌ها ارجاع داد.

ارسال در یک برچسب

بدنه POST /emails
{
  "from": "Orders <orders@example.com>",
  "to": [
    "customer@example.net"
  ],
  "subject": "Order 1042",
  "text": "Reply with a delivery window.",
  "labels": [
    "Agent/Orders"
  ]
}

نام‌های برچسب ناشناخته ایجاد می‌شوند. همه پیام‌های بعدی در مکالمه، از جمله پاسخ‌های مشتری، برچسب‌های مکالمه را به ارث می‌برند.

bucketها

برای تبدیل یک برچسب به bucket، آن را با "skip_inbox": true بسازید. ایمیل دریافتی‌ای که برچسب bucket می‌گیرد، چه از طریق یک قانون بایگانی، چه پاسخ به مکالمه‌ای برچسب‌دار، چه با POST /emails/:id/labels، بایگانی می‌شود تا فقط در آن برچسب نمایش داده شود و هرگز در صندوق ورودی نیاید. ایمیل‌های ارسالی هرگز در صندوق ورودی نمایش داده نمی‌شوند. در نتیجه مکالمه‌های مربوط به کارهای یک ایجنت در هر دو جهت در یک جا باقی می‌مانند.

بدنه POST /labels
{
  "name": "Agent/Orders",
  "skip_inbox": true,
  "rules": [
    {
      "inbox_id": "inb_…"
    }
  ],
  "apply_to_existing": true
}

قوانین بایگانی

قوانین، ایمیل‌های جدید را به‌صورت خودکار بایگانی می‌کنند. همه شرط‌های تنظیم‌شده روی یک قانون باید برقرار باشند: inbox_id (نشانی دریافت‌کننده)، direction (in یا out) و زیررشته‌هایی بدون حساسیت به حروف بزرگ و کوچک از from، to (To و Cc) و subject. skip_inbox خود قانون فقط ایمیل‌های دریافتی منطبق با آن را بایگانی می‌کند. قوانین را با POST /labels/:id/rules اضافه کنید؛ apply_to_existing ایمیل‌های نگهداری‌شده را نیز بایگانی می‌کند.

کار با یک bucket

GET /emails?label=Agent%2FOrders&direction=in&unread=true را به‌طور دوره‌ای فراخوانی کنید، مکالمه را با GET /threads/:id بخوانید، با reply_to_email_id پاسخ دهید و سپس با PATCH /emails/:id {"read": true} آن را رسیدگی‌شده علامت بزنید. برای وارد یا خارج کردن یک پیام از POST /emails/:id/labels {"add": [...], "remove": [...]} استفاده کنید. سرور MCP همین عملیات را با نام‌های create_label، create_label_rule، label_email و list_emails در اختیار می‌گذارد.