# إعادة تسمية

`POST` `https://api.pushwoosh.com/messaging/v2/rename`

يعيّن أو يمسح **اسم الحملة** لرسالة تم إنشاؤها مسبقًا، محددة بواسطة `message_code` الخاص بها. لا يتغير أي شيء آخر في الرسالة. يبقى المحتوى والجمهور والجدول الزمني تمامًا كما كانوا.

إعادة التسمية متاحة فقط عندما تكون الرسالة لا تزال **معلقة** — تم إنشاؤها ولكن لم يتم التقاطها بعد للإرسال. الرسالة التي انتقلت إلى `waiting` أو `processing` أو أي حالة لاحقة لم يعد بالإمكان إعادة تسميتها. في لوحة التحكم، تظهر هذه الحالة في عمود الحالة باسم **مجدولة** وليس حرفيًا "Pending". انظر [حالات الرسائل](/ar/product/statistics-and-analytics/message-history/#message-statuses).

<Aside type="caution" title="هام">

- يتم اقتطاع المسافات البيضاء الرائدة والزائدة من الاسم وقصّه إلى 255 حرفًا. الاسم الفارغ (أو الذي يحتوي على مسافات بيضاء فقط) يمسح اسم الحملة بالكامل، وتعود الرسالة إلى عنوانها الافتراضي في [Message History](/ar/product/statistics-and-analytics/message-history/).

- هذا الاستدعاء متكرر (idempotent): إرسال نفس الاسم مرة أخرى يعيد تطبيق نفس القيمة. ومع ذلك، فإنه يلمس وقت آخر تعديل للرسالة في كل استدعاء، سواء تغير الاسم فعليًا أم لا، لذا فإن استدعاءً متكررًا قد ينقل الرسالة إلى أعلى ترتيب Message History الافتراضي **آخر تعديل**.
</Aside>

للتحقق مما إذا كانت الرسالة لا تزال في حالة قابلة لإعادة التسمية، انظر [التحقق من حالة الرسالة](#checking-message-status).

## الطلب

قم بالمصادقة باستخدام [رمز Server API token](/ar/developer/api-reference/api-access-token/#server-api-token) الخاص بك في ترويسة `Authorization: Token <API_TOKEN>`.

| الحقل | النوع | مطلوب | الوصف |
|---|---|---|---|
| `message_code` | string | نعم | [رمز الرسالة (Message code)](/ar/developer/api-reference/api-identifiers/#message-code) للرسالة المراد إعادة تسميتها، كما تم إرجاعه بواسطة [`Notify`](/ar/developer/api-reference/messaging-api-v2/notify/) في `result.message_code`. |
| `campaign_name` | string | نعم | اسم الحملة الجديد. يتم اقتطاعه وقصّه إلى 255 حرفًا. السلسلة الفارغة تمسح الاسم. |

### مثال على الطلب

```bash
curl -X POST https://api.pushwoosh.com/messaging/v2/rename \
  -H "Authorization: Token YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "message_code": "XXXX-XXXXXXXX-XXXXXXXX",
    "campaign_name": "Flash_Sale_Push"
  }'
```

## الاستجابة

عند النجاح، تُرجع HTTP 200 مع جسم JSON فارغ.

```json
{}
```

## الأخطاء

تستخدم الأخطاء غلاف الخطأ القياسي لـ gRPC-Gateway: `{ "code": ..., "message": ..., "details": [...] }`.

| حالة HTTP | الشرط |
|---|---|
| `400` | `message_code` مفقود. |
| `400` | الرسالة ليست في حالة قابلة لإعادة التسمية (لم تعد `pending`). |
| `403` | الرسالة تنتمي إلى حساب آخر. |
| `404` | لا توجد رسالة لـ `message_code` المحدد. |
| `500` | حدث خطأ داخلي أثناء تحميل الرسالة أو تطبيق الاسم الجديد. أعد محاولة الطلب. |


**مثال**

إعادة تسمية رسالة بدأ إرسالها بالفعل تُرجع HTTP `400`:

```json
{
  "code": 9,
  "message": "message status \"waiting\" is not renamable",
  "details": []
}
```

<span id="checking-message-status" />

## التحقق من حالة الرسالة

قبل إعادة التسمية، يمكنك التحقق مما إذا كانت الرسالة لا تزال في حالة قابلة لإعادة التسمية. بالإضافة إلى قراءة عمود **الحالة (Status)** في جدول الرسائل في لوحة التحكم ([**الحملات ← الرسائل لمرة واحدة**](/ar/product/statistics-and-analytics/message-history/))، حيث تظهر الرسالة القابلة لإعادة التسمية باسم **مجدولة** وليس حرفيًا "Pending"، يمكنك الاستعلام عن الحالة برمجيًا باستخدام [`messages:list`](/ar/developer/api-reference/statistics-api/message-statistics-api/#messageslist):

- مرر `message_code` في مصفوفة `filters.messages_codes` (إلى جانب `filters.application` المطلوب).
- اقرأ حقل `status` للإدخال المطابق في `items[]`.

<Aside type="note">
`messages:list` جزء من Statistics API ويستخدم ترويسة مصادقة مختلفة عن هذه النقطة النهائية: `Authorization: Api <Server Key>`.
</Aside>

## مواضيع ذات صلة

<CardGrid>
  <LinkCard title="Notify" href="/developer/api-reference/messaging-api-v2/notify/" />
  <LinkCard title="Update" href="/developer/api-reference/messaging-api-v2/update/" />
  <LinkCard title="Cancel" href="/developer/api-reference/messaging-api-v2/cancel/" />
  <LinkCard title="إحصائيات الرسائل" href="/developer/api-reference/statistics-api/message-statistics-api/#messageslist" />
  <LinkCard title="نظرة عامة على Messaging API v2" href="/developer/api-reference/messaging-api-v2/" />
  <LinkCard title="الترحيل من v1" href="/developer/api-reference/messaging-api-v2/migration-from-v1/" />
</CardGrid>