# POST /v2/core/socket/send

# Core Socket: Send Message

این اندپوینت یک پیام را از طریق سیستم Broadcasting لاراول ارسال می‌کند. پیام به Event **TradeOperation** پاس داده می‌شود و با `toOthers()` فقط به کلاینت‌های دیگر (غیر از فرستنده) Broadcast می‌شود.

<div class="api-docs" id="bkmrk-"></div>## Request Overview

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcore%2Fsocket"><div class="endpoint-info"><div>**URL:** `/v2/core/socket/send`</div><div>**Method:** <span class="method-post">POST</span></div><div>**Controller:** CoreController@socketSendMessage</div><div>**Middleware Stack:** authWithJwt → core</div></div></div>## Access Control

<div class="api-docs" id="bkmrk-jwt-%D9%85%D8%B9%D8%AA%D8%A8%D8%B1-%D9%84%D8%A7%D8%B2%D9%85-%D8%A7%D8%B3%D8%AA-%D9%85">- JWT معتبر لازم است
- میان‌افزار core تنها وقتی اجازه می‌دهد که: <div class="code-inline">operator.branch == "[0]"</div>

</div>## Request Body Schema

<div class="api-docs" id="bkmrk-field-type-required-"><table class="schema-table"><thead><tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>message</td><td>string</td><td>yes</td><td>متن پیام که باید از طریق WebSocket (Broadcast) ارسال شود</td></tr></tbody></table>

</div>## Broadcast Logic

پس از دریافت message:

<div class="api-docs" id="bkmrk-%DB%8C%DA%A9-event-%D8%A7%D8%B2-%D9%86%D9%88%D8%B9-trad">- یک Event از نوع `TradeOperation` ساخته می‌شود:

</div>```
broadcast(new TradeOperation($message))
```

<div class="api-docs" id="bkmrk-%D9%81%D9%82%D8%B7-%D8%A8%D9%87-%D8%AF%DB%8C%DA%AF%D8%B1-%DA%A9%D9%84%D8%A7%DB%8C%D9%86%D8%AA%E2%80%8C%D9%87">- فقط به دیگر کلاینت‌ها ارسال می‌شود (نه فرستنده):

</div>```
->toOthers()
```

<div class="api-docs" id="bkmrk-broadcasting-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%AF%D8%B1">- Broadcasting باید در کانال‌های Laravel Echo/Pusher/SocketServer پیکربندی شده باشد

</div>## Response (Success)

```
{
  "status": "Message Sent!"
}
  
```

<div class="api-docs" id="bkmrk--1"></div>## Response (Error)

در این نسخه از کد هندل‌کردن Exception وجود ندارد، اما در صورت بروز خطا در سطح سیستم (مثلاً عدم کارکرد Broadcast Driver)، لاراول پاسخ خطا برمی‌گرداند.

<div class="api-docs" id="bkmrk--2"></div>## Flowchart

<div class="api-docs" id="bkmrk-validate-jwt-%26-core-"><div class="flowchart"><div class="flow-item">Validate JWT &amp; Core Middleware</div><div class="flow-arrow">↓</div><div class="flow-item">Extract message from request</div><div class="flow-arrow">↓</div><div class="flow-item">broadcast(new TradeOperation(message))</div><div class="flow-arrow">↓</div><div class="flow-item">Send to Others (WebSocket Clients)</div><div class="flow-arrow">↓</div><div class="flow-item">Return JSON: "Message Sent!"</div></div></div>