رهگیری پیامک

GET /v1/messages/{trackingCode}

نمونه پاسخ:

{
  "trackingCode": "SMS-20260808-A1B2C3D4",
  "clientReference": "order-140501",
  "sender": "300099000121",
  "recipient": "09121234567",
  "message": "پیام آزمایشی SMSDaily",
  "encoding": "Persian",
  "characterCount": 23,
  "partCount": 1,
  "status": "sent",
  "error": null,
  "submittedAt": "2026-08-08T05:30:00Z",
  "updatedAt": "2026-08-08T05:30:03Z",
  "sentAt": "2026-08-08T05:30:03Z",
  "deliveredAt": null,
  "history": [
    {
      "status": "queued",
      "note": "پیام برای پردازش پذیرفته شد.",
      "changedAt": "2026-08-08T05:30:00Z"
    },
    {
      "status": "sent",
      "note": "پیام برای ارسال ثبت شد.",
      "changedAt": "2026-08-08T05:30:03Z"
    }
  ]
}

وضعیت‌های عمومی

وضعیت معنی
queued درخواست پذیرفته شده و در انتظار پردازش است
processing پردازش ارسال در حال انجام است
sent پیام برای ارسال ثبت شده یا وضعیت تحویل در حال بررسی است
delivered تحویل پیام تأیید شده است
failed ارسال یا تحویل ناموفق بوده است
cancelled پردازش پیام لغو شده است

این وضعیت‌ها Contract عمومی پایدار هستند. وضعیت و کد خام اپراتور/Provider در پاسخ مشتری قرار نمی‌گیرد؛ بنابراین تغییر Provider نباید Integraton مشتری را بشکند.

History

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

خطای پیام

فیلد error فقط برای وضعیت failed مقدار عمومی دارد و شامل Request/Response خام Provider، شناسه‌های زیرساخت یا Stack Trace نیست.