eTelecom docs
English
English
  • INSTRUCTIONS FOR USE
    • Administration page for cs.etelecom
    • Google Chrome Extension
    • App eTelecom
  • API INTEGRATION
    • Shop
      • Account
      • Usage
    • Partner
      • Account
      • Usage
    • VPBX
      • VoIP SDK
        • Android
        • iOS
        • Web
        • Flutter
      • PBX REST APIs
        • Partner Get Tenant List
        • Partner Add Hotline
        • Partner Get Hotline List
        • Partner Activate Tenant
        • Partner Add Hotline To Tenant
        • Partner Removed Hotline From Tenant
        • Partner Remove Hotline
        • Create Tenant
        • Get Tenant information
        • Get Driver Config
        • Get hotline list
        • Create Account User
        • Get List User
        • Create extension
        • Get extension information
        • Get extension list
        • Assign extension to user
        • Change hotline for extension
        • Remove User Of Extension
        • Get call history
    • Zalo Cloud
      • Instructions for connecting Zalo Cloud
      • Zalo Cloud API
        • Create OA authorization link
        • Connect OA
        • Get refresh token
        • Get OA list
        • Get OA information
        • Update Webhook for OA
        • Get list of users
        • Send Text Consulting
        • Send Consulting message according to user information request form
        • Send advice message with sticker
        • Send message Consulting with attached photo
        • Send message Consulting attached file
        • Send transaction message
        • Upload file
        • Send request for calling permission
        • Check if the customer has granted calling permission
        • Get list of requests for calling permission
        • Create a news template
        • Get sample details
        • Get list of news samples
        • Journey Token Creation
        • Get Journey Token Details
        • Get Journey Token List
        • Get message list
        • Get message details
        • Send ZNS
        • Send ZNS with Journey Token
  • SMS BRANDNAME
    • User manual
    • SMS API
      • Send SMS
      • Get message status
      • Get sample details
Powered by GitBook
On this page
  1. API INTEGRATION
  2. Zalo Cloud
  3. Zalo Cloud API

Send ZNS

PreviousGet message detailsNextSend ZNS with Journey Token

Last updated 1 month ago

Note:

  • For APIs used for Shop, the API key is: . The base_url information of the .

  • For APIs used for Partner, the API key is: . The base_url information of the .

Request:

curl --location '$BASE_URL.Zalo/SendZNS' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer $API_KEY' \
--data '{
  "mode": "unknown",
  "oa_id": "string",
  "phone": "string",
  "sending_mode": "unknown",
  "template_data": {
    "property1": "string",
    "property2": "string"
  },
  "template_id": "<int>",
  "tracking_id": "<string>"
}'

Response:

{
  "campaign_id": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "delivery_status": "unknown",
  "delivery_time": "2019-08-24T14:15:22Z",
  "error_code": 0,
  "error_message": "string",
  "fee_main": 0,
  "fee_token": 0,
  "id": "string",
  "is_charged": true,
  "is_development": true,
  "journey_id": "string",
  "msg_id": "string",
  "oa_id": "string",
  "phone": "string",
  "sent_time": "2019-08-24T14:15:22Z",
  "sending_mode": "unknown",
  "shop_id": "string",
  "status": "Z",
  "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"
}

Request body structure

Parameters
Data type
Describe

mode

string

Enum: "unknown" "development" development : When you need to send a ZNS sample for testing before sending it officially, you can call the ZNS API command in development mode. Development mode only supports sending a ZNS sample to the application administrator or OA administrator.

If the mode parameter is not passed, defaults to mode = unknown

id

int64

OA ID

template_id

int

ID of the message

sending_mode

string

Send mode:

phone

string

Recipient phone number

template_data

object

Properties of the message you registered with Zalo

Note: The template_data structure is specified separately for each message.

tracking_id

string

Your API call tracking number, defined by you. You can use tracking_id for reconciliation without depending on the message_id provided by eTelecom.

Return data attribute structure

Parameters
Data type
Describe

id

int64

Message ID on eTelecom system

shop_id

int64

Store ID on eTelecom system

user_id

int64

Sender ID on eTelecom system

campaign_id

int64

Campaign ID

delivery_status

string

Unkown: Unknown

Received: Received

Seen: Viewed

delivery_time

string<date-time>

Time the user's device receives the ZNS notification

error_code

int

Error code

error_message

string

Error message

fee_main

int

Main fee

fee_token

int

Token Creation Fee

is_charged

boolean

True: ZNS News is charged

False: ZNS news is free of charge

is_development

boolean

True: ZNS message in experimental development mode

False: ZNS message is not in beta development mode

journey_id

string

Journey ID

msg_id

string

ZNS message ID

type

string

template: ZNS usually

journey: ZNS journey

status

string

Status

Z: Newly created

P: Enable

N: Disable

template_data

object

Message parameters

phone

string

Recipient phone number

sent_time

string<date-time>

ZNS notification sending time

sending_mode

string

Value included:

  • "unknown": Unknown

  • "default": ZNS messages are sent in the usual way

  • "tag3": ZNS message sent by over-limit mechanism

template_id

integer

ID of the message

timeout

integer

Maximum time required by the system to process the request

tracking_id

string

Your API call tracking number, defined by you. You can use tracking_id for reconciliation without depending on the message_id provided by eTelecom.

updated_at

string<date-time>

Update date

created_at

string<date-time>

Date created

Value
Send mode name
Describe

"unknown"

Unknown

Unknown

"default"

Regular Send

ZNS messages are sent in the usual manner.

"tag3"

Send over limit

Mechanism to allow OA to send ZNS tag 3 messages exceeding the limit Note: Sending over limit mode (sending_mode = "tag3") only applies to whitelisted OAs.

<api_key>
Shop
<shop_key>
Partner

SendZNS

post
Body
modestring · enumOptionalPossible values:
oa_idstring · int64Optional
phonestringOptional
sending_modestring · enumOptionalPossible values:
template_idintegerOptional
tracking_idstringOptional
Responses
200
A successful response
application/json
post
POST /SendZNS HTTP/1.1
Host: $BASE_URL.Zalo
Content-Type: application/json
Accept: */*
Content-Length: 161

{
  "mode": "unknown",
  "oa_id": "text",
  "phone": "text",
  "sending_mode": "unknown",
  "template_data": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "template_id": 1,
  "tracking_id": "text"
}
200

A successful response

{
  "campaign_id": "text",
  "created_at": "2025-06-15T01:22:49.200Z",
  "delivery_status": "unknown",
  "delivery_time": "2025-06-15T01:22:49.200Z",
  "enable_sms_on_zns_failure": true,
  "error_code": 1,
  "error_message": "text",
  "fee_main": 1,
  "fee_token": 1,
  "feedback": [
    "text"
  ],
  "id": "text",
  "is_charged": true,
  "is_development": true,
  "journey_id": "text",
  "msg_id": "text",
  "note": "text",
  "oa_id": "text",
  "phone": "text",
  "rate": 1,
  "request_time": "2025-06-15T01:22:49.200Z",
  "sent_time": "2025-06-15T01:22:49.200Z",
  "shop_id": "text",
  "sms": {
    "brandname": "text",
    "code": "text",
    "description": "text",
    "message": "text",
    "request_time": "2025-06-15T01:22:49.200Z",
    "send_time": "2025-06-15T01:22:49.200Z",
    "status": "text",
    "status_description": "text",
    "unicode": true
  },
  "status": "Z",
  "submit_time": "2025-06-15T01:22:49.200Z",
  "template_data": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "template_id": 1,
  "timeout": 1,
  "tracking_id": "text",
  "type": "unknown",
  "updated_at": "2025-06-15T01:22:49.200Z",
  "user_id": "text",
  "zl_user_id": "text"
}