---
title: "Gửi tin nhắn trong yêu cầu hỗ trợ"
method: POST
path: "/ir/{symbol}/tickets/{code}/messages"
tags: ["IRSupport"]
---

# Gửi tin nhắn trong yêu cầu hỗ trợ

`POST /ir/{symbol}/tickets/{code}/messages`

## Request

- Base URL: `https://api.fireant.vn`
- URL: `https://api.fireant.vn/ir/{symbol}/tickets/{code}/messages`
- Auth: OAuth 2
  - Implicit: `https://accounts.fireant.vn/connect/authorize`
  - Scopes: `user-data-write`
- TypeScript: <https://skmtc.dev/fireant/apis/fireant-restful-api/docs/ir/:symbol/tickets/:code/messages/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `symbol` string, required
- `code` string, required

## Request body

- FireAntApiModelsIRIRTicketMessageRequest: Gửi tin nhắn trong yêu cầu hỗ trợ
  - `body` string, required: Nội dung
  - `attachmentsJson` string: Tệp đính kèm
  - `isInternalNote` boolean: Ghi chú nội bộ (chỉ nhân sự FireAnt dùng được)

## Response `200`

OK

- FireAntApiModelsIRIRTicketDetail: Yêu cầu hỗ trợ kèm bằng chứng, trao đổi và nhật ký hành động
  - `items` FireAntApiModelsIRIRTicketEvidence[]: Bằng chứng đính kèm
    - `itemId` integer: ID
    - `ticketId` integer: ID yêu cầu
    - `itemType` 1 | 2 | 3 | 4 | 5 | 6: Loại bằng chứng (1 = Post, 2 = Comment, 3 = User, 4 = Room, 5 = Url, 6 = File)
    - `itemKey` string: Khóa đối tượng: ID bài, tên tài khoản, đường dẫn
    - `snapshotJson` string: Bản chụp nội dung tại thời điểm báo cáo
    - `fileUrl` string: Tệp đính kèm
    - `addedBy` string: Người thêm
    - `addedDate` string, date-time: Thời điểm thêm
  - `messages` FireAntApiModelsIRIRTicketMessage[]: Trao đổi hai chiều
    - `messageId` integer: ID
    - `ticketId` integer: ID yêu cầu
    - `senderUserName` string: Người gửi
    - `senderSide` 0 | 1 | 2: Phía gửi (0 = Company, 1 = FireAnt, 2 = System)
    - `body` string: Nội dung
    - `attachmentsJson` string: Tệp đính kèm
    - `isInternalNote` boolean: Ghi chú nội bộ, chỉ nhân sự FireAnt thấy
    - `createdDate` string, date-time: Thời điểm gửi
    - `readByCompanyDate` string, date-time: Công ty đã đọc lúc
    - `readByStaffDate` string, date-time: FireAnt đã đọc lúc
  - `actions` FireAntApiModelsIRIRTicketActionItem[]: Nhật ký hành động của FireAnt
    - `actionId` integer: ID
    - `ticketId` integer: ID yêu cầu
    - `action` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8: Hành động (1 = HidePost, 2 = RemovePost, 3 = WarnUser, 4 = BlockUser, 5 = LabelRumor, 6 = PublishClarification, 7 = ForwardLegal, 8 = NoAction)
    - `targetType` integer: Loại đối tượng bị tác động
    - `targetKey` string: Khóa đối tượng bị tác động
    - `reason` string: Lý do (bắt buộc)
    - `performedBy` string: Người thực hiện
    - `performedDate` string, date-time: Thời điểm thực hiện
    - `isReversible` boolean: Có thể hoàn tác
    - `reversedBy` string: Người hoàn tác
    - `reversedDate` string, date-time: Thời điểm hoàn tác
  - `ticketId` integer: ID
  - `code` string: Mã yêu cầu, dạng IR-2026-00042
  - `companyId` integer: ID công ty
  - `symbol` string: Mã chứng khoán
  - `companyName` string: Tên công ty
  - `type` 1 | 2 | 3 | 4 | 5 | 6 | 7: Loại yêu cầu (1 = NegativeContent, 2 = Rumor, 3 = Impersonation, 4 = DataCorrection, 5 = OaSupport, 6 = Advertising, 7 = Other)
  - `priority` 1 | 2 | 3 | 4: Mức ưu tiên (1 = Low, 2 = Normal, 3 = High, 4 = Urgent)
  - `status` 0 | 1 | 2 | 3 | 4 | 5 | 6: Trạng thái (0 = New, 1 = Triaged, 2 = InProgress, 3 = WaitingCustomer, 4 = Resolved, 5 = Rejected, 6 = Closed)
  - `subject` string: Tiêu đề
  - `description` string: Mô tả chi tiết
  - `createdBy` string: Người tạo
  - `createdDate` string, date-time: Ngày tạo
  - `assigneeUserName` string: Nhân sự FireAnt phụ trách
  - `triagedDate` string, date-time: Thời điểm phân loại
  - `firstResponseDate` string, date-time: Thời điểm phản hồi đầu tiên
  - `resolvedDate` string, date-time: Thời điểm xử lý xong
  - `closedDate` string, date-time: Thời điểm đóng
  - `slaFirstResponseDue` string, date-time: Hạn phản hồi đầu tiên theo cam kết
  - `slaResolutionDue` string, date-time: Hạn xử lý theo cam kết
  - `slaBreached` boolean: Đã quá hạn cam kết
  - `minutesToResolutionDue` integer: Số phút còn lại tới hạn xử lý (âm là đã quá hạn)
  - `resolution` string: Kết quả xử lý
  - `resolutionCode` integer: Mã kết quả: 1 đã xử lý, 2 từ chối, 3 không vi phạm, 4 trùng, 5 khác
  - `rating` integer: Điểm đánh giá của công ty (1..5)
  - `ratingComment` string: Nhận xét kèm đánh giá
  - `source` integer: Nguồn: 0 cổng IR, 1 tự động phát hiện, 2 ngoại tuyến
  - `itemCount` integer: Số bằng chứng đính kèm
  - `messageCount` integer: Số tin nhắn trao đổi
  - `actionCount` integer: Số hành động đã thực hiện

## Changes

- **2026-09-25** `a481789cd81c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fireant/apis/fireant-restful-api/changes/ir/:symbol/tickets/:code/messages/post.md)

---

[API](https://skmtc.dev/fireant/apis/fireant-restful-api.md) - [All operations](https://skmtc.dev/fireant/apis/fireant-restful-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireant/apis/fireant-restful-api/revisions/c9b3aa855f95?raw)
