# Gửi tin template qua UID

{% hint style="info" %}
**Lưu ý:**

* Đối với các API sử dụng cho Shop thì API\_KEY: [`<api_key>`](https://docs.etelecom.vn/tich-hop-api/shop/tai-khoan#api-key). Thông tin base\_url của [Shop](https://docs.etelecom.vn/tich-hop-api/shop/tai-khoan)
* Đối với các API sử dụng cho Partner thì API\_KEY: [`<shop_key>`](https://docs.etelecom.vn/tich-hop-api/partner/su-dung#ket-noi-lan-thu-hai-tro-di). Thông tin base\_url của [Partner](https://docs.etelecom.vn/tich-hop-api/partner/tai-khoan)
  {% endhint %}

## POST $BASE\_URL.Zalo/SendZBSUID

> SendZBSUID

```json
{"openapi":"3.1.1","info":{"title":"API Document","version":"v1"},"tags":[{"name":"Zalo"}],"paths":{"$BASE_URL.Zalo/SendZBSUID":{"post":{"tags":["Zalo"],"summary":"SendZBSUID","operationId":"shop.Zalo-SendZBSUID","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/mrZlOAMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/mrSendZBSUIDRequest"}}},"required":true}}}},"components":{"schemas":{"mrZlOAMessage":{"type":"object","properties":{"campaign_id":{"type":"string","format":"int64"},"created_at":{"type":"string","format":"date-time"},"delivery_status":{"$ref":"#/components/schemas/eeDeliveryStatus"},"delivery_time":{"type":"string","format":"date-time"},"enable_sms_on_zns_failure":{"type":"boolean"},"error_code":{"type":"integer"},"error_message":{"type":"string"},"fee_main":{"type":"integer"},"fee_token":{"type":"integer"},"feedback":{"type":"array","items":{"type":"string"}},"id":{"type":"string","format":"int64"},"is_charged":{"type":"boolean"},"is_development":{"type":"boolean"},"journey_id":{"type":"string","format":"int64"},"msg_id":{"type":"string"},"note":{"type":"string"},"oa_id":{"type":"string","format":"int64"},"phone":{"type":"string"},"rate":{"type":"integer"},"request_time":{"type":"string","format":"date-time"},"response_data":{"type":"string"},"sending_mode":{"$ref":"#/components/schemas/tqSendingMode"},"sent_time":{"type":"string","format":"date-time"},"shop_id":{"type":"string","format":"int64"},"sms":{"$ref":"#/components/schemas/mrSms"},"sms_response_code":{"type":"integer"},"sms_response_message":{"type":"string"},"status":{"$ref":"#/components/schemas/bmStatus"},"submit_time":{"type":"string","format":"date-time"},"template_data":{"type":"object","additionalProperties":{"type":"string"}},"template_id":{"type":"integer"},"timeout":{"type":"integer"},"tracking_id":{"type":"string"},"type":{"$ref":"#/components/schemas/nqMessageType"},"updated_at":{"type":"string","format":"date-time"},"user_id":{"type":"string","format":"int64"},"zl_user_id":{"type":"string","format":"int64"}}},"eeDeliveryStatus":{"type":"string","enum":["unknown","received","seen"]},"tqSendingMode":{"type":"string","enum":["unknown","default","tag3"]},"mrSms":{"type":"object","properties":{"brandname":{"type":"string"},"message":{"type":"string"},"unicode":{"type":"boolean"}}},"bmStatus":{"type":"string","enum":["Z","P","S","N"]},"nqMessageType":{"type":"string","enum":["unknown","template","journey","uid"]},"mrSendZBSUIDRequest":{"type":"object","properties":{"oa_id":{"type":"string","format":"int64"},"template_data":{"type":"object","additionalProperties":{"type":"string"}},"template_id":{"type":"integer"},"zalo_user_id":{"type":"string","format":"int64"}}}}}}
```

**Request:**

```json
curl --location '$BASE_URL.Zalo/SendZBSUID' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer $API_KEY' \
--data '{
  "oa_id": "string",
  "template_data": {
    "property1": "string",
    "property2": "string"
  },
  "template_id": "<int>",
  "zalo_user_id": "string"
}'
```

**Response:**

```json
{
  "campaign_id": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "delivery_status": "unknown",
  "delivery_time": "2019-08-24T14:15:22Z",
  "enable_sms_on_zns_failure": true,
  "error_code": 0,
  "error_message": "string",
  "fee_main": 0,
  "fee_token": 0,
  "feedback": [
    "string"
  ],
  "id": "string",
  "is_charged": true,
  "is_development": true,
  "journey_id": "string",
  "msg_id": "string",
  "note": "string",
  "oa_id": "string",
  "phone": "string",
  "rate": 0,
  "request_time": "2019-08-24T14:15:22Z",
  "response_data": "string",
  "sending_mode": "unknown",
  "sent_time": "2019-08-24T14:15:22Z",
  "shop_id": "string",
  "sms": {
    "brandname": "string",
    "message": "string",
    "unicode": true
  },
  "sms_response_code": 0,
  "sms_response_message": "string",
  "status": "Z",
  "submit_time": "2019-08-24T14:15:22Z",
  "template_data": {
    "property1": "string",
    "property2": "string"
  },
  "template_id": 0,
  "timeout": 0,
  "tracking_id": "string",
  "type": "unknown",
  "updated_at": "2019-08-24T14:15:22Z",
  "user_id": "string",
  "zl_user_id": "string"
}
```

**Cấu trúc body của request**

<table><thead><tr><th width="135.53059895833331">Tham số</th><th width="118.98046875">Kiểu dữ liệu</th><th width="704.6666666666667">Mô tả</th></tr></thead><tbody><tr><td>mode</td><td>string</td><td><p><strong>Enum: "unknown" "development"</strong> </p><ul><li><strong>development</strong>: Khi có nhu cầu gửi thử mẫu ZNS để kiểm tra trước khi gửi chính thức, bạn có thể gọi lệnh ZNS API ở chế độ development. Chế độ development chỉ hỗ trợ gửi thử mẫu ZNS đến quản trị viên của ứng dụng hoặc quản trị viên của OA.</li></ul><p>Nếu tham số mode không được truyền, mặc định <strong>mode = unknown</strong></p></td></tr><tr><td>oa_id</td><td>int64</td><td>ID của OA</td></tr><tr><td>template_id</td><td>int</td><td>ID của mẫu tin </td></tr><tr><td>sending_mode</td><td>string</td><td>Chế độ gửi:</td></tr><tr><td>zalo_user_id</td><td>string</td><td>Zalo User ID của người nhận</td></tr><tr><td>template_data</td><td>object</td><td><p>Các thuộc tính của mẫu tin mà bạn đã đăng ký với Zalo</p><p>Lưu ý: Cấu trúc template_data được quy định riêng ứng với từng mẫu tin</p></td></tr><tr><td>tracking_id</td><td>string</td><td>Mã số đánh dấu lần gọi API của bạn, do bạn định nghĩa. Bạn có thể dùng tracking_id để đối soát mà không phụ thuộc vào message_id của eTelecom cung cấp.</td></tr></tbody></table>

**Cấu trúc thuộc tính dữ liệu trả về**

<table><thead><tr><th width="162.33333333333331">Tham số</th><th width="201">Kiểu dữ liệu</th><th width="467.6666666666667">Mô tả</th></tr></thead><tbody><tr><td>id</td><td>string &#x3C;int64></td><td>ID tin nhắn trên hệ thống của eTelecom</td></tr><tr><td>shop_id</td><td>string &#x3C;int64></td><td>ID cửa hàng trên hệ thống của eTelecom</td></tr><tr><td>user_id</td><td>string &#x3C;int64></td><td>ID người gửi tin trên hệ thống của eTelecom</td></tr><tr><td>zl_user_id</td><td>string &#x3C;int64></td><td>Zalo User ID</td></tr><tr><td>campaign_id</td><td>string &#x3C;int64></td><td>ID của chiến dịch</td></tr><tr><td>delivery_status</td><td>string</td><td><p><mark style="color:red;"><strong><code>Unkown</code></strong></mark>: Không xác định</p><p><mark style="color:red;"><strong><code>Received</code></strong></mark>: Đã nhận <br><mark style="color:red;"><strong><code>Seen</code></strong></mark>: Đã xem </p></td></tr><tr><td>delivery_time</td><td>string&#x3C;date-time></td><td>Thời gian thiết bị của người dùng nhận được thông báo ZNS</td></tr><tr><td>error_code</td><td>int</td><td>Mã lỗi</td></tr><tr><td>error_message</td><td>string</td><td>Thông báo lỗi</td></tr><tr><td>fee_main</td><td>int</td><td>Phí chính</td></tr><tr><td>fee_token</td><td>int</td><td>Phí khởi tạo token</td></tr><tr><td>is_charged</td><td>boolean</td><td><p><mark style="color:red;"><strong><code>True</code></strong></mark>: Tin ZNS được tính phí</p><p><mark style="color:red;"><strong><code>False</code></strong></mark>: Tin ZNS không được tính phí</p></td></tr><tr><td>is_development</td><td>boolean</td><td><p><mark style="color:red;"><strong><code>True</code></strong></mark>: Tin ZNS ở chế độ phát triển thử nghiệm</p><p><mark style="color:red;"><strong><code>False</code></strong></mark>: Tin ZNS không ở chế độ phát triển thử nghiệm</p></td></tr><tr><td>journey_id</td><td>string</td><td>ID của journey</td></tr><tr><td>msg_id</td><td>string</td><td>ID của thông báo ZNS</td></tr><tr><td>type</td><td>string</td><td><p><mark style="color:red;"><strong><code>template</code></strong></mark>: ZNS thường</p><p><mark style="color:red;"><strong><code>journey</code></strong></mark>: ZNS  journey</p></td></tr><tr><td>status</td><td>string</td><td>Trạng thái<br><mark style="color:red;"><strong><code>Z</code></strong></mark>: Mới tạo<br><mark style="color:red;"><strong><code>P</code></strong></mark>: Enable<br><mark style="color:red;"><strong><code>N</code></strong></mark>: Disable</td></tr><tr><td>template_data</td><td>object</td><td>Tham số tin nhắn</td></tr><tr><td>phone</td><td>string</td><td>Số điện thoại người nhận</td></tr><tr><td>sent_time</td><td>string&#x3C;date-time></td><td>Thời gian gửi thông báo ZNS</td></tr><tr><td>sending_mode</td><td>string</td><td><p>Bao gồm giá trị:</p><ul><li>"unknown": Không xác định</li><li>"default": tin ZNS được gửi theo cơ chế thông thường</li><li>"tag3": tin ZNS được gửi theo cơ chế vượt hạn mức</li></ul></td></tr><tr><td>template_id</td><td>integer</td><td>ID của mẫu tin</td></tr><tr><td>timeout</td><td>integer</td><td>Thời gian tối đa mà hệ thống xử lý yêu cầu</td></tr><tr><td>tracking_id</td><td>string</td><td>Mã số đánh dấu lần gọi API của bạn, do bạn định nghĩa. Bạn có thể dùng tracking_id để đối soát mà không phụ thuộc vào message_id của eTelecom cung cấp.</td></tr><tr><td>updated_at</td><td>string&#x3C;date-time></td><td>Ngày cập nhật</td></tr><tr><td>created_at</td><td>string&#x3C;date-time></td><td>Ngày tạo</td></tr></tbody></table>
