# WebSocket 메시지 모델

메시지의 필드와 허용값은 REST와 같은 명세에서 생성됩니다. 연결 주소는 `wss://api-ws.btxpro.co.kr`입니다.

## 공개 시세 WebSocket 연결

`/v1/market/stream`

### 클라이언트 → 서버

| 메시지 | 스키마 |
| --- | --- |
| `subscribe` | [MarketStreamCommand](/api-docs/generated/schemas.md#schema-marketstreamcommand) |
| `unsubscribe` | [MarketStreamCommand](/api-docs/generated/schemas.md#schema-marketstreamcommand) |

### 서버 → 클라이언트

| 메시지 | 스키마 |
| --- | --- |
| `subscribed` | [MarketStreamSubscriptionAck](/api-docs/generated/schemas.md#schema-marketstreamsubscriptionack) |
| `unsubscribed` | [MarketStreamSubscriptionAck](/api-docs/generated/schemas.md#schema-marketstreamsubscriptionack) |
| `ticker` | [MarketStreamTickerEvent](/api-docs/generated/schemas.md#schema-marketstreamtickerevent) |
| `error` | [MarketStreamErrorEvent](/api-docs/generated/schemas.md#schema-marketstreamerrorevent) |

## 개인 WebSocket 연결

`/v1/user/stream`

### 클라이언트 → 서버

| 메시지 | 스키마 |
| --- | --- |
| `order.create` | [UserStreamCreateOrderCommand](/api-docs/generated/schemas.md#schema-userstreamcreateordercommand) |
| `order.cancel` | [UserStreamCancelOrderCommand](/api-docs/generated/schemas.md#schema-userstreamcancelordercommand) |
| `order.amend` | [UserStreamAmendOrderCommand](/api-docs/generated/schemas.md#schema-userstreamamendordercommand) |

### 서버 → 클라이언트

| 메시지 | 스키마 |
| --- | --- |
| `snapshot` | [UserStreamSnapshotEvent](/api-docs/generated/schemas.md#schema-userstreamsnapshotevent) |
| `order` | [UserStreamOrderEvent](/api-docs/generated/schemas.md#schema-userstreamorderevent) |
| `fill` | [UserStreamFillEvent](/api-docs/generated/schemas.md#schema-userstreamfillevent) |
| `balance` | [UserStreamBalanceEvent](/api-docs/generated/schemas.md#schema-userstreambalanceevent) |
| `response` | [UserStreamCommandResponse](/api-docs/generated/schemas.md#schema-userstreamcommandresponse) |
| `error` | [UserStreamCommandError](/api-docs/generated/schemas.md#schema-userstreamcommanderror) |

