Giới Thiệu
VietGuys (Công ty Cổ phần Xích Việt) được thành lập vào tháng 06/2007 bởi các thành viên giàu kinh nghiệm, nhiệt huyết với ngành quảng cáo và giải pháp tiếp thị trên điện thoại di động. Trải qua hơn nhiều năm hình thành và phát triển, VietGuys tự hào là một trong các đơn vị tiên phong tại Việt Nam cung cấp các giải pháp Mobile Marketing cho hơn 5.000 nhãn hàng trong và ngoài nước như Pharmacity, Concung, Vietnam Airlines, Thegioididong, CGV, Garena, Grab, Shopee, Samsung, LG,…
VietGuys là một trong số ít các công ty quảng cáo sở hữu chứng chỉ ISO 27001:2013 về An ninh thông tin do tổ chức SGS của Thuỵ Sỹ đánh giá và UKAS cấp chứng nhận. Bên cạnh đó, VietGuys được Bộ Thông Tin - Truyền Thông cấp chứng chỉ hành nghề VNCERT cho lĩnh vực quảng cáo SMS và Email Marketing. VietGuys hiện là thành viên tích cực của Hiệp Hội Mobile Marketing toàn cầu (MMA), là thành viên của Hiệp Hội Thương mại Điện tử Việt Nam (VECOM), Hiệp hội Internet Việt Nam (VIA), và Phòng thương mại Châu u tại Việt Nam (Eurocharm).
GENERATE ACCESS TOKEN
To authorize, use this code:
curl --location 'https://api-v2.vietguys.biz:4438/token/v1/refresh' \
--header 'Refresh-Token: 73465bbc-bfe9-4b3c-8561-a8110e******' \
--header 'Content-Type: application/json' \
--data '{
"username": "demo_acc",
"type": "refresh_token"
}'
const axios = require('axios');
let data = JSON.stringify({
"username": "demo_acc",
"type": "refresh_token"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api-v2.vietguys.biz:4438/token/v1/refresh',
headers: {
'Refresh-Token': '73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-v2.vietguys.biz:4438/token/v1/refresh',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"username": "demo_acc",
"type": "refresh_token"
}',
CURLOPT_HTTPHEADER => array(
'Refresh-Token: 73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
If returns JSON structured like this:
{
"error": 0,
"message": "Success",
"data": {
"access_token": "xxx",
"refresh_token": "yyy",
"expired_at": 1687434087
}
}
#HTTP Request
Method: POST
Endpoint:
UAT | https://uat-api.linkvn.org/token/v1/refresh |
PRODUCTION | https://api-v2.vietguys.biz:4438/token/v1/refresh |
Header:
Refresh-Token | refresh-token (Cách lấy Refresh-Token) |
Content-Type | application/json |
#Parameters
Tham số | Type | Required | Mô tả |
---|---|---|---|
username | string | có | Tài khoản người dùng |
type | string | có | refresh_token |
#Response
Params | Type | Description |
---|---|---|
error | int | Mã lỗi trả về, 0 là thành công |
message | string | Mô tả lỗi |
data | object | Nội dung chi tiết của data: access_token :(string) Mã truy cập refresh_token :(string) Mã dùng để tạo mới mã truy cập expired_at :(timestamp) Thời gian hết hạn access token |
CODE:
Code | Description |
---|---|
0 | Thành công |
-15 | Thông tin xác thực chưa chính xác |
-11 | Máy chủ bận |
-14 | Chưa truyền đầy đủ tham số |
JSON:
{
"error": 0,
"message": "Success",
"data": {
"access_token": "xxx",
"refresh_token": "yyy",
"expired_at": 1687434087
}
}
SMS - Brandname
CSKH
To authorize, use this code:
curl --location --request POST 'https://cloudsms.vietguys.biz:4438/api/index.php' \
--form 'from=VIETGUYS' \
--form 'u=your_account' \
--form 'pwd=your_passcode' \
--form 'phone=84901234567' \
--form 'sms=content' \
--form 'bid=123' \
--form 'pid=your_pid' \
--form 'type=0' \
--form 'json=1' \
var axios = require('axios');
var FormData = require('form-data');
var data = new FormData()
data.append('from', 'VIETGUYS');
data.append('u', 'your_account');
data.append('pwd', 'your_passcode');
data.append('phone', '84901234567');
data.append('sms', 'content');
data.append('bid', '123');
data.append('pid', 'your_pid');
data.append('type', '0');
data.append('json', '1');
var config = {
method: 'post',
url: 'https://cloudsms.vietguys.biz:4438/api/index.php',
headers: {
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://cloudsms.vietguys.biz:4438/api/index.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'from' => 'VIETGUYS' ,
'u' => 'your_account' ,
'pwd' => 'your_passcode' ,
'phone' => '84901234567' ,
'sms' => 'content' ,
'bid' => '123' ,
'pid' => 'your_pid' ,
'type' => '0' ,
'json' => '1' ,
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns CODE or JSON like this:
-1 : Chưa truyền đầy đủ tham số
-2 : Máy chủ đang bận
-3 : Không tìm thấy tài khoản người dùng
-4 : Tài khoản bị khóa
-5 : Thông tin xác thực chưa chính xác
-6 : Chưa kích hoạt tính năng gửi qua API
-7 : IP bị giới hạn truy cập
-8 : Tên thương hiệu chưa khai báo
-9 : Tài khoản hết credits gửi tin
-10 : Số điện thoại chưa chính xác
-11 : Số điện thoại nằm trong danh sách từ chối nhận tin
-13 : Tên thương hiệu chưa khai báo
-14 : Số kí tự vượt quá 459 kí tự (lỗi tin nhắn dài)
-16 : Gửi trùng số điện thoại, thương hiệu, nội dung trong 01 phút
-18 : Nội dung có chứa từ khoá quảng cáo
-19 : Vượt quá số tin nhắn giớn hạn trong một ngày do kh tự qui định
-20 : Template chưa được đăng ký
-21 : Nội dung không phải OTP
-22 : Lỗi chuyển mạng hoặc brandname chưa được set Telco
-23 : Chưa set giá bán
ID : Gửi thành công, mã ID của tin nhắn
If returns JSON structured like this:
{
"carrier":"mobifone",
"error":0,
"msgid":"995.84908176769.1ec857f40850f4b",
"log":"Gui thanh cong"
}
error : 0 là thành công, 1 có lỗi phát sinh
msgid : Mã tin nhắn
log : Miêu tả lỗi nếu có
carrier : Nhà mạng của số điện thoại tương ứng
error_code : Mã lỗi (nếu có, danh sách mã ở bảng trên)
Giới thiệu dịch vụ: Cho phép tích hợp với phần mềm hoặc hệ thống có sẵn để gửi tin nhắn chủ động theo nhu cầu
#HTTP Request
Method: POST
With SSL(recommended): | https://cloudsms.vietguys.biz:4438/api/index.php |
#Parameters
Params | Type | Required | Max Length | Description |
---|---|---|---|---|
u | string | có | Tài khoản người dùng (username) | |
pwd | string | có | Mã bí mật dùng để lập trình (Cách lấy pwd) | |
from | string | có | Tên thương hiệu: 19001511, VIETGUYS,... | |
phone | string | có | Số điện thoại người nhận: 849..., 841... | |
sms | string | có | Nội dung tin nhắn | |
bid | string | có | 50 | Mã ID của tin nhắn vào |
pid | string | không | 50 | Mã chiến dịch |
type | int | không | Gửi UNICODE set type = 8 | Không UNICODE set type = 0 | |
json | string | có | Trả về kết quả chuỗi json nếu truyền giá trị 1 |
Số ký tự của bản tin CSKH có dấu - N (bao gồm cả khoảng trắng) |
Số SMS tương ứng |
---|---|
N ≤ 70 | 01 |
70 < N ≤ 134 | 02 |
134 < N ≤ 201 | 03 |
#Response
CODE:
Code | Description |
---|---|
-1 | Chưa truyền đầy đủ tham số |
-2 | Máy chủ đang bận |
-3 | Không tìm thấy tài khoản người dùng |
-4 | Tài khoản bị khóa |
-5 | Thông tin xác thực chưa chính xác |
-6 | Chưa kích hoạt tính năng gửi qua API |
-7 | IP bị giới hạn truy cập |
-8 | Tên thương hiệu chưa khai báo |
-9 | Tài khoản hết credits gửi tin |
-10 | Số điện thoại chưa chính xác |
-11 | Số điện thoại nằm trong danh sách từ chối nhận tin |
-13 | Tên thương hiệu chưa khai báo |
-14 | Số kí tự vượt quá 459 kí tự (lỗi tin nhắn dài) |
-16 | Gửi trùng số điện thoại, thương hiệu, nội dung trong 01 phút |
-18 | Nội dung có chứa từ khoá quảng cáo |
-19 | Vượt quá số tin nhắn giớn hạn trong một ngày do kh tự qui định |
-20 | Template chưa được đăng ký |
-21 | Nội dung không phải OTP |
-22 | Lỗi chuyển mạng hoặc brandname chưa được set Telco |
-23 | Chưa set giá bán |
ID | Gửi thành công, mã ID của tin nhắn |
JSON:
{
"carrier":"mobifone",
"error":0,
"msgid":"995.84908176769.1ec857f40850f4b",
"log":"Gui thanh cong"
}
Code | Description |
---|---|
error | 0 là thành công, 1 có lỗi phát sinh |
msgid | Mã tin nhắn |
log | Miêu tả lỗi nếu có |
carrier | Nhà mạng của số điện thoại tương ứng |
error_code | Mã lỗi (nếu có, danh sách mã ở bảng trên) |
#Trả kết quả:Sau khi tin nhắn gửi sang nhà mạng, hệ thống sẽ trả lại thông tin cho khách hàng qua giao thức HTTP /GET các tham số như bên dưới.
Method: HTTP / GET
EndPoint: Khách hàng cung cấp
Params | Description |
---|---|
msgid | ID tin nhắn trả về ở API trên |
bid | ID tin nhắn tạo bởi khách hàng |
status | Gửi thành công hay thất bại (sent: thành công, fail: thất bại) |
mobile | Số điện thoại nhận tin |
stampt | Thời gian đã gửi tin |
Ví dụ 01 mẫu tin:
https://end-point/?msgid=MTA0MQaa5&bid=cb802ae461be&stamp=18042019+15%3A00%3A00&status=sent&mobile=84969555345
CSKH - Webhook
If returns JSON structured like this:
{
"error": 0,
"message": "Success",
"data": {
"message_id": "1202.84772752531.4c08196556ac5dd",
"tracking_id": "aa13c709-c288-4af1-8b9c-dfbb29050690",
"telco": "mobifone",
"total": 1,
"status": "sent",
"timestamp": 1708327029
}
}
{
"error": 1,
"message": "Fail",
"data": {
"message_id": "1202.84772752531.124111454544",
"tracking_id": "aa13c709-c288-4af1-8b9c-d123222",
"telco": "mobifone",
"total": 1,
"status": "fail",
"timestamp": 1708329955
}
}
Nhãn hàng cung cấp URL nhận kết quả tin nhắn đến PIC của VGs để cấu hình cho tài khoản. Kết quả tin nhắn sẽ được trả về URL đã cấu hình.
#HTTP Request
Method: POST
Content-Type: application/json
#Parameters
Params | Type | Description |
---|---|---|
error | int | 0 là thành công, 1 là thất bại. |
message | string | Mô tả ngắn gọn về mã lỗi. |
data | object | Thông tin dữ liệu chi tiết: message_id: (string) Mã tin nhắn được VGs trả về lúc gửi tin. tracking_id: (string) Mã tin nhắn được sinh ra phía nhãn hàng lúc gửi tin (bid). telco: (string) Nhà mạng của số điện thoại nhận tin nhắn. total: (int) Số lượng tin MT (số tin tính tiền thực tế) của tin nhắn. status: (string) Trạng thái tin nhắn. timestamp: (int) Thời gian gửi tin nhắn. |
Quảng cáo
To authorize, use this code:
curl --location --request POST 'https://qc.vietguys.biz/api/sendsms.php' \
--form 'phone=84901234567' \
--form 'from=VIETGUYS' \
--form 'sms=content' \
--form 'u=your_account' \
--form 'pwd=code' \
--form 'day=yyyy-mm-dd' \
--form 'bid=your_bid' \
--form 'time=hh:mm' \
--form 'json=1' \
--form 'version=3' \
var axios = require('axios');
var FormData = require('form-data');
var data = new FormData()
data.append('phone', '84901234567');
data.append('from', 'VIETGUYS');
data.append('sms', 'content');
data.append('u', 'your_account');
data.append('pwd', 'code');
data.append('day', 'yyyy-mm-dd');
data.append('bid', 'your_bid');
data.append('time', 'hh:mm');
data.append('json', '1');
data.append('version', '3');
var config = {
method: 'post',
url: 'https://qc.vietguys.biz/api/sendsms.php',
headers: {
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://qc.vietguys.biz/api/sendsms.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'phone' => '84901234567' ,
'from' => 'VIETGUYS' ,
'sms' => 'content' ,
'u' => 'your_account' ,
'pwd' => 'code' ,
'day' => 'yyyy-mm-dd' ,
'bid' => 'your_bid' ,
'time' => 'hh:mm' ,
'json' => '1' ,
'version' => '3' ,
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns CODE like this:
1- Thiếu các thông tin đầu vào
2- Sai giá trị pwd
3- Sai giá trị u
4- Thời gian gửi tin quá khứ, vui lòng chỉnh lại thời gian gửi
6- Danh sách số điện thoại phải nhiều hơn 10 số
ID- ID Gửi yêu cầu gửi tin thành công hệ thống sẽ trả về 1 mã ID tương ứng với ID của đợt tin này.
If returns JSON structured like this:
{
"error":0,
"id":"qc.1646020450.5641",
"log":"Gui thanh cong"
}
PHƯƠNG THỨC HOẠT ĐỘNG: các nhà mạng Việt Nam thực hiện gửi tin QC theo tập hợp tối thiểu 100 số điện thoại / 1 nội dung tin nhắn / 1 lần gửi. Do đó, nếu hệ thống của khách hàng có thể gửi tin QC theo phương thức gọi API nhiều số điện thoại 1 lần (tối thiểu 100 số) thì có thể kết nối với hệ thống của VGs theo hướng dẫn
#HTTP Request
Method: POST
Endpoint: https://qc.vietguys.biz/api/sendsms.php
#Parameters
Params | Type | Required | Max Length | Description |
---|---|---|---|---|
u | string | có | Tài khoản người dùng (username) | |
pwd | string | có | Mã bí mật dùng để lập trình (Cách lấy pwd) | |
from | string | có | Tên người gửi. Vd: VIETGUYS, 6x89,... | |
phone | string | có | Số điện thoại nhận tin, nhiều số điện thoại cách nhau bằng dấu phẩy. | |
sms | string | có | Nội dung tin nhắn cần gửi. | |
day | date | không | Ngày gửi tin nhắn quảng cáo, định dạng: yyyy-mm-dd (nếu không truyền nghĩa là gửi sớm nhất có thể) | |
bid | string | không | 50 | Mã chiến dịch |
time | time | có | Giờ gửi tin nhắn quảng cáo, định dạng: hh:mm | |
json | string | có | 1 | |
version | int | có | 3 |
#Response
CODE:
1- Thiếu các thông tin đầu vào |
2- Sai giá trị pwd |
3- Sai giá trị u |
4- Thời gian gửi tin quá khứ, vui lòng chỉnh lại thời gian gửi |
6- Danh sách số điện thoại phải nhiều hơn 10 số |
ID- ID Gửi yêu cầu gửi tin thành công hệ thống sẽ trả về 1 mã ID tương ứng với ID của đợt tin này. |
JSON:
{
"error":0,
"id":"qc.1646020450.5641",
"log":"Gui thanh cong"
}
#Trả kết quả: Sau khi tin nhắn gửi san nhà mạng, hệ thống sẽ trả lại thông tin cho khách hàng qua giao thức HTTP/ POST
Method: HTTP/POST
EndPoint: Khách hàng cung cấp
Params | Description |
---|---|
MsgId | ID_duoc_tra_ve_khi_gui_goi_tin |
Sent | 8490111111,8490222222,8490333333 |
Fail | 8495111111,8496222222 |
ErrMsg | Mo ta ket qua |
TwoWay
MO
Vietguys gợi ý tham số cho MO api
#HTTP Request
Method: POST
Endpoint: Khách hàng cung cấp
#Parameters
Params | Type | Required | Description |
---|---|---|---|
mobile | string | có | 84975605*** |
telco | int | có | Telco |
shortcode | string | có | 60** |
message | string | có | ABC cd123 |
message_id | string | có | 1234 |
#Giá trị Telco tương ứng
Value | Telco |
---|---|
1 | mobifone |
2 | vinaphone |
3 | viettel |
4 | vnm |
5 | gtel |
6 | itelecom |
MT
Giới thiệu dịch vụ: Cho phép tích hợp với phần mềm hoặc hệ thống có sẵn để gửi tin nhắn chủ động theo nhu cầu.
To authorize, use this code:
curl --location --request POST 'https://cloudsms.vietguys.biz:4438/api/index.php' \
--form 'from=VIETGUYS' \
--form 'u=your_account' \
--form 'pwd=your_passcode' \
--form 'phone=84901234567' \
--form 'sms=content' \
--form 'bid=123' \
--form 'type=0' \
--form 'json=1' \
var axios = require('axios');
var FormData = require('form-data');
var data = new FormData()
data.append('from', 'VIETGUYS');
data.append('u', 'your_account');
data.append('pwd', 'your_passcode');
data.append('phone', '84901234567');
data.append('sms', 'content');
data.append('bid', '123');
data.append('type', '0');
data.append('json', '1');
var config = {
method: 'post',
url: 'https://cloudsms.vietguys.biz:4438/api/index.php',
headers: {
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://cloudsms.vietguys.biz:4438/api/index.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'from' => 'VIETGUYS' ,
'u' => 'your_account' ,
'pwd' => 'your_passcode' ,
'phone' => '84901234567' ,
'sms' => 'content' ,
'bid' => '123' ,
'type' => '0' ,
'json' => '1' ,
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns CODE or JSON like this:
-1 : Chưa truyền đầy đủ tham số
-2 : Máy chủ đang bận
-3 : Không tìm thấy tài khoản người dùng
-4 : Tài khoản bị khóa
-5 : Thông tin xác thực chưa chính xác
-6 : Chưa kích hoạt tính năng gửi qua API
-7 : IP bị giới hạn truy cập
-8 : Tên thương hiệu chưa khai báo
-9 : Tài khoản hết credits gửi tin
-10 : Số điện thoại chưa chính xác
-11 : Số điện thoại nằm trong danh sách từ chối nhận tin
-13 : Tên thương hiệu chưa khai báo
-14 : Số kí tự vượt quá 459 kí tự (lỗi tin nhắn dài)
-16 : Gửi trùng số điện thoại, thương hiệu, nội dung trong 01 phút
-18 : Nội dung có chứa từ khoá quảng cáo
-19 : Vượt quá số tin nhắn giớn hạn trong một ngày do kh tự qui định
-20 : Template chưa được đăng ký
-21 : Nội dung không phải OTP
-22 : Lỗi chuyển mạng hoặc brandname chưa được set Telco
-23 : Chưa set giá bán
ID : Gửi thành công, mã ID của tin nhắn
If returns JSON structured like this:
[
{
"carrier":"mobifone",
"error":0,
"msgid":"995.84908176769.1ec857f40850f4b",
"log":"Gui thanh cong"
}
]
error : 0 là thành công, 1 có lỗi phát sinh
msgid : Mã tin nhắn
log : Miêu tả lỗi nếu có
carrier : Nhà mạng của số điện thoại tương ứng
error_code : Mã lỗi (nếu có, danh sách mã ở bảng trên)
#HTTP Request
Method: POST
With SSL(recommended): | https://cloudsms.vietguys.biz:4438/api/index.php |
#Parameters
Params | Type | Required | Max Length | Description |
---|---|---|---|---|
u | string | có | Tài khoản người dùng (username) | |
pwd | string | có | Mã bí mật dùng để lập trình (Cách lấy pwd) | |
from | string | có | Tên thương hiệu: 19001511, VIETGUYS,... | |
phone | string | có | Số điện thoại người nhận: 849..., 841... | |
sms | string | có | Nội dung tin nhắn | |
cmd | string | có | Mã CMC của từng chương trình campaign tương ứng. | |
bid | string | có | 50 | Mã ID của tin nhắn vào |
type | int | không | Gửi UNICODE set type = 8 | Không UNICODE set type = 0 | |
json | string | không | Trả về kết quả chuỗi json nếu truyền giá trị 1 |
#Response
CODE:
Code | Description |
---|---|
-1 | Chưa truyền đầy đủ tham số |
-2 | Máy chủ đang bận |
-3 | Không tìm thấy tài khoản người dùng |
-4 | Tài khoản bị khóa |
-5 | Thông tin xác thực chưa chính xác |
-6 | Chưa kích hoạt tính năng gửi qua API |
-7 | IP bị giới hạn truy cập |
-8 | Tên thương hiệu chưa khai báo |
-9 | Tài khoản hết credits gửi tin |
-10 | Số điện thoại chưa chính xác |
-11 | Số điện thoại nằm trong danh sách từ chối nhận tin |
-13 | Tên thương hiệu chưa khai báo |
-14 | Số kí tự vượt quá 459 kí tự (lỗi tin nhắn dài) |
-16 | Gửi trùng số điện thoại, thương hiệu, nội dung trong 01 phút |
-18 | Nội dung có chứa từ khoá quảng cáo |
-19 | Vượt quá số tin nhắn giớn hạn trong một ngày do kh tự qui định |
-20 | Template chưa được đăng ký |
-21 | Nội dung không phải OTP |
-22 | Lỗi chuyển mạng hoặc brandname chưa được set Telco |
-23 | Chưa set giá bán |
ID | Gửi thành công, mã ID của tin nhắn |
JSON:
{
"carrier":"mobifone",
"error":0,
"msgid":"995.84908176769.1ec857f40850f4b",
"log":"Gui thanh cong"
}
Code | Description |
---|---|
error | 0 là thành công, 1 có lỗi phát sinh |
msgid | Mã tin nhắn |
log | Miêu tả lỗi nếu có |
carrier | Nhà mạng của số điện thoại tương ứng |
error_code | Mã lỗi (nếu có, danh sách mã ở bảng trên) |
#Trả kết quả:Sau khi tin nhắn gửi sang nhà mạng, hệ thống sẽ trả lại thông tin cho khách hàng qua giao thức HTTP /GET các tham số như bên dưới.
Method: HTTP / GET
Params | Description |
---|---|
msgid | ID tin nhắn trả về ở API trên |
bid | ID tin nhắn tạo bởi khách hàng |
status | Gửi thành công hay thất bại (sent: thành công, fail: thất bại) |
mobile | Số điện thoại nhận tin |
stampt | Thời gian đã gửi tin |
TopUp
To authorize, use this code:
curl --location --request POST 'https://cloudsms2.vietguys.biz:4438/api/topup/index.php' \
--form 'u=your_account' \
--form 'pwd=your_passcode' \
--form 'phone=84901234567' \
--form 'tid=123' \
--form 'amount=500000' \
var axios = require('axios');
var FormData = require('form-data');
var data = new FormData()
data.append('u', 'your_account');
data.append('pwd', 'your_passcode');
data.append('phone', '84901234567');
data.append('tid', '123');
data.append('amount', '500000');
var config = {
method: 'post',
url: 'https://cloudsms2.vietguys.biz:4438/api/topup/index.php',
headers: {
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://cloudsms2.vietguys.biz:4438/api/topup/index.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'u' => 'your_account' ,
'pwd' => 'your_passcode' ,
'phone' => '84901234567' ,
'tid' => '123' ,
'amount' => '500000' ,
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns CODE or JSON like this:
00 : Thành công
01 : Máy chủ Vietguys đang bận
02 : Chưa nhập đầy đủ các thông tin đầu vào.
03 : Tài khoản không tồn tại
04 : Số điện thoại chưa chính xác
05 : Tài khoản bị khoá.
06 : Thông tin xác thực chưa chính xác
07 : Truy vấn từ địa chỉ ip chưa khai báo
08 : Mệnh giá topup chưa hợp lệ.
09 : Trùng mã Transaction id (mặc định không kiểm tra, phải báo IT setup)
10 : Tài khoản hết credit topup
11 : Vượt quá giới hạn tiền trong ngày
13 : Sử dụng version cũ
14 : Mã tid không hợp lệ
15 : Thông tin failover không hợp lệ
If returns JSON structured like this:
{
"error": 1,
"error_code": "08",
"id": ""
}
WEBHOOK returns code card in Topup FAILED case (json):
{
"tid": "id-from-customer",
"telco": "viettel",
"code": "abc123",
"phone": "0975******",
}
#HTTP Request
Method: POST
With SSL(recommended): | https://cloudsms2.vietguys.biz:4438/api/topup/index.php |
#Parameters
Params | Type | Required | Max Length | Description |
---|---|---|---|---|
u | string | có | Tài khoản người dùng (username) | |
pwd | string | có | Mã bí mật dùng để lập trình (Cách lấy pwd) | |
phone | string | có | Số điện thoại người dùng, theo chuẩn 8490... | |
amount | string | có | Mệnh giá topup: 10000, 20000, 50000, 100000, 200000, 500000 | |
tid | string | có | 200 | Transaction id của đối tác, dùng để đối soát. (Bắt buộc) |
json | int | không | Trả về kết quả chuỗi json nếu truyền giá trị 1 |
Response
Code | Description |
---|---|
00 | Thành công |
01 | Máy chủ Vietguys đang bận |
02 | Chưa nhập đầy đủ các thông tin đầu vào. |
03 | Tài khoản không tồn tại |
04 | Số điện thoại chưa chính xác |
05 | Tài khoản bị khoá. |
06 | Thông tin xác thực chưa chính xác |
07 | Truy vấn từ địa chỉ ip chưa khai báo |
08 | Mệnh giá topup chưa hợp lệ. |
09 | Trùng mã Transaction id (mặc định không kiểm tra, phải báo IT setup) |
10 | Tài khoản hết credit topup |
11 | Vượt quá giới hạn tiền trong ngày |
13 | Sử dụng version cũ |
14 | Mã tid không hợp lệ |
15 | Thông tin failover không hợp lệ |
#Trạng Thái TopUp
Params | Description |
---|---|
2 | Đã gửi sang nhà mạng |
1 | Topup thành công |
5 | Card thành công |
4 | Thất bại, lỗi. |
3a | Đang retry topup sang nhà mạng |
3b | Đang retry card sang nhà mạng |
#WEBHOOK TRẢ KẾT QUẢ TOPUP
Method: GET
EndPoint: Khách hàng cung cấp
Params | Description |
---|---|
tid | Transaction id của đối tác, dùng để đối soát. (Bắt buộc) |
mobile | Số điện thoại nhận tin nhắn |
telco | Nhà mạng |
amount | Mệnh giá topup |
stamp | Thời gian đã gửi tin |
tstamp | Thời gian đã gửi, định dạng unixtimestamp |
status | Trạng thái tin nhắn |
Ví dụ mẫu tin:
https://end-point?tid=O42ARJ9OGI67&mobile=8412345678&telco=vinaphone&amount=50000&stamp=2021-08-24 12:43:40&tstamp=1629783820&status=SUCCESS
#WEBHOOK trả mã thẻ cào TRONG TRƯỜNG HỢP nạp tiền THẤT BẠI (json)
Params | Content |
---|---|
tid | id-from-customer |
telco | viettel |
code | abc123 |
phone | 0975****** |
OTT
Viber
To authorize, use this code:
curl --location --request POST 'https://cloudsms.vietguys.biz:4438/api/index_ott.php' \
--form 'u=your_account' \
--form 'pwd=your_passcode' \
--form 'phone=84901234567' \
--form 'bid=your_id' \
--form 'type=data' \
--form 'viber=content' \
--form 'from_viber=Viber_brand' \
--form 'json=1' \
--form 'actiontext=text' \
--form 'actionlink=link' \
--form 'viberimg=true' \
var axios = require('axios');
var FormData = require('form-data');
var data = new FormData()
data.append('u', 'your_account');
data.append('pwd', 'your_passcode');
data.append('phone', '84901234567');
data.append('bid', 'your_id');
data.append('type', 'data');
data.append('viber', 'content');
data.append('from_viber', 'Viber_brand');
data.append('json', '1');
data.append('actiontext', 'text');
data.append('actionlink', 'link');
data.append('viberimg', 'true');
var config = {
method: 'post',
url: 'https://cloudsms.vietguys.biz:4438/api/index_ott.php',
headers: {
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://cloudsms.vietguys.biz:4438/api/index_ott.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'u' => 'your_account' ,
'pwd' => 'your_passcode' ,
'phone' => '84901234567' ,
'bid' => 'your_id' ,
'type' => 'data' ,
'viber' => 'content' ,
'from_viber' => 'Viber_brand' ,
'json' => '1' ,
'actiontext' => 'text' ,
'actionlink' => 'link' ,
'viberimg' => 'true' ,
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns CODE or JSON like this:
-1 : Chưa truyền đầy đủ tham số
-3 : Không tìm thấy tài khoản người dùng
-4 : Tài khoản bị khóa
-7 : IP bị giới hạn truy cập
-8 : Tên thương hiệu chưa khai báo
-10 : Số điện thoại chưa chính xác
If returns JSON structured like this:
[
{
"error":0,
"error_code":0,
"msgid":"9876543.1234567.37d7dd0c5ea6ccf",
"log":"Gui thanh cong"
}
]
error : 0 là thành công, 1 có lỗi phát sinh
error_code : Mã lỗi (nếu có, danh sách mã ở bảng trên)
msgid : Mã tin nhắn
log : Miêu tả lỗi nếu có
Giới thiệu dịch vụ: Cho phép tích hợp với phần mềm hoặc hệ thống có sẵn để gửi tin nhắn chủ động theo nhu cầu.
#HTTP Request
Method: POST
With SSL(recommended): | https://cloudsms.vietguys.biz:4438/api/index_ott.php |
#Parameters
Params | Type | Required | Max Length | Description |
---|---|---|---|---|
u | string | có | Tài khoản người dùng (username) | |
pwd | string | có | Mã bí mật dùng để lập trình (Cách lấy pwd) | |
phone | string | có | Số điện thoại người nhận: 849..., 841... | |
bid | string | có | 50 | Mã ID của khách hàng tự sinh ra, gửi kèm theo, dùng để đối soát dữ liệu hai bên. (chiều dài không quá 50 kí tự) |
viber | string | có | Nội dung viber | |
from_viber | string | có | Tên thương hiệu viber. | |
json | int | không | Trả về kết quả chuỗi json nếu truyền giá trị 1 | |
actiontext | string | có | Chữ trên nút Call-to-action | |
actionlink | string | có | Đường dẫn khi nhấn vào nút Call-to-action | |
viberimg | string | không | Hình ảnh hiển thị bên dưới nội dung |
#Response
Code | Description |
---|---|
-1 | Chưa truyền đầy đủ tham số |
-3 | Không tìm thấy tài khoản người dùng |
-4 | Tài khoản bị khóa |
-7 | IP bị giới hạn truy cập |
-8 | Tên thương hiệu chưa khai báo |
-10 | Số điện thoại chưa chính xác |
JSON:
{
"error":0,
"error_code":0,
"msgid":"9876543.1234567.37d7dd0c5ea6ccf",
"log":"Gui thanh cong"
}
Code | Description |
---|---|
error | 0 là thành công, 1 có lỗi phát sinh |
error_code | Mã lỗi (nếu có, danh sách mã ở bảng trên) |
msgid | Mã tin nhắn |
log | Miêu tả lỗi nếu có |
Zalo - ZNS
Zalo
To authorize, use this code:
curl --location 'https://api-v2.vietguys.biz:4438/zalo/v4/send' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******' \
--header 'Content-Type: application/json' \
--data '{
"username": "demo_acc",
"mobile": "84975******",
"tracking_id": "48691e5b-d11c-47ce-a0fe-********",
"failover": "sms",
"zns": {
"oa_id": "4404293319006******",
"template_id": "202***",
"template_data": {
"date": "20/02/2021",
"customer_name": "Nguyễn Văn A",
"customer_code": "abc123"
}
},
"sms": {
"message": "Ma OTP Brandnamecua ban la acb123",
"brand": "Brandname",
"unicode": false
}
}'
const axios = require('axios');
let data = JSON.stringify({
"username": "demo_acc",
"mobile": "84975******",
"tracking_id": "48691e5b-d11c-47ce-a0fe-********",
"failover": "sms",
"zns": {
"oa_id": "4404293319006******",
"template_id": "202***",
"template_data": {
"date": "20/02/2021",
"customer_name": "Nguyễn Văn A",
"customer_code": "abc123"
}
},
"sms": {
"message": "Ma OTP Brandnamecua ban la acb123",
"brand": "Brandname",
"unicode": false
}
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api-v2.vietguys.biz:4438/zalo/v4/send',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-v2.vietguys.biz:4438/zalo/v4/send',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"username": "demo_acc",
"mobile": "84975******",
"tracking_id": "48691e5b-d11c-47ce-a0fe-********",
"failover": "sms",
"zns": {
"oa_id": "4404293319006******",
"template_id": "202***",
"template_data": {
"date": "20/02/2021",
"customer_name": "Nguyễn Văn A",
"customer_code": "abc123"
}
},
"sms": {
"message": "Ma OTP Brandnamecua ban la acb123",
"brand": "Brandname",
"unicode": false
}
}',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"error": 0,
"message": "The message is accepted and queued for processing",
"data": {
"transaction_id": "5d090fef-eef9-4a62-befd-********",
"tracking_id": "48691e5b-d11c-47ce-a0fe-********"
}
}
Mô tả chung: Mô tả API VietGuys xây dựng để gửi gửi tin Zalo ZNS
Cấp quyền cho ứng dụng gửi tin:
B1: Đăng nhập vào Zalo Official Account
B2: Truy cập vào link bên dưới
https://oauth.zaloapp.com/v4/oa/permission?app_id=2409345169780126679&redirect_uri=https://cloud.vietguys.biz:4438/api/zalo/v2/addPage
B3: Tick chọn vào 'Đồng ý cho phép ứng dụng quản lý Official Account'
B4: Click chọn vào nút 'Đồng ý'
#HTTP Request
UAT | https://uat-api.linkvn.org/zalo/v4/send |
PRODUCTION | https://api-v2.vietguys.biz:4438/zalo/v4/send |
Method | POST |
Content-Type | application/json |
#Header parameters
Params | Type | Required | Description |
---|---|---|---|
Access-Token | string | có | access token (Cách lấy Access-Token thông qua Refresh-Token) |
#Parameters
Params | Type | Required | ||
---|---|---|---|---|
username | string | có | Username của tài khoản gửi tin Ví dụ: “demo_acc” |
|
mobile | string | có | Số điện thoại người nhận tin | |
tracking_id | string | không | 255 | Được tạo ở phía người dùng, dùng cho mục đích đối soát và kiểm tra các gói tin gửi đi |
zns | object | có | Thông tin chi tiết cho ZNS: oa_id: (string) (có) ID của official account template_id: (string) (có) ID của template template_data: (object) (có) Là một object chứa các tham số bắt buộc của zns.template_id |
|
failover | string | không | Kênh sẽ failover nếu số điện thoại không dùng Zalo Ví dụ: failover : “sms” |
|
sms | object | tuỳ chọn | Nội dung chi tiết của tin nhắn sms: message: (string)(tuỳ chọn) Nội dung của tin SMS brand: (string)(tuỳ chọn) Brandname gửi tin SMS unicode: (string)(tuỳ chọn) Gửi nội dung tiếng việt có dấu |
#Response
Params | Type | Description |
---|---|---|
error | int | Mã lỗi 0 là thành công |
message | string | Mô tả ngắn gọn về lỗi đang gặp phải |
data | object | Thông tin chi tiết Data: transcation_id: (string) Dùng để đối soát các gói tin vừa gửi tracking_id: (string) Tracking_id vừa gửi ở tham số request |
#Mô tả lỗi trả về
error | message |
---|---|
0 | Gói tin gửi đi đã được duyệt và đang chờ để gửi đi |
-11 | Máy chủ bận |
-14 | Chưa truyền đầy đủ tham số |
-15 | Thông tin xác thực chưa chính xác |
-16 | Số điện thoại không đúng |
-18 | Tham số SMS không hợp lệ |
-20 | Tham số zalo không hợp lệ |
-22 | Nội dung quá dài |
-24 | Tên thương hiệu chưa khai báo |
-25 | Tài khoản hết credits gửi tin |
-31 | Tham số failover không hợp lệ |
-32 | Template không hợp lệ |
-34 | IP truy cập bị giới hạn |
429 | Quá nhiều yêu cầu trong khoảng thời gian ngắn |
Zalo - Webhook
If returns JSON structured like this:
{
"error": 0,
"message": "Success",
"data": {
"channel": "zalo",
"msg_status": "SENT",
"transaction_id": "5d090fef-eef9-4a62-befd--******",
"tracking_id": "48691e5b-d11c-47ce-a0fe-******"
}
}
{
"error": 0,
"message": "user_received_message",
"data": {
"channel": "zalo",
"msg_status": "DELIVERED",
"transaction_id": "5d090fef-eef9-4a62-befd-******",
"tracking_id": "48691e5b-d11c-47ce-a0fe-******"
}
}
{
"error": -118,
"message": "Zalo account not existed",
"data": {
"channel": "zalo",
"msg_status": "FAIL",
"transaction_id": "d55a0f9d-d34c-445f-9b90-******",
"tracking_id": "48691e5b-d11c-47ce-a0fe-******"
}
}
Nhãn hàng cung cấp URL nhận kết quả tin nhắn đến PIC của VGs để cấu hình cho tài khoản. Kết quả tin nhắn sẽ được trả về URL đã cấu hình.
#HTTP Request
Method: POST
Content-Type: application/json
#Parameters
Params | Type | Description |
---|---|---|
error | int | Mã lỗi 0 là thành công |
message | string | Mô tả ngắn gọn về mã lỗi |
data | object | Thông tin dữ liệu chi tiết: channel: (string) Kênh của gói tin vừa gửi: zalo, sms msg_status: (string) Trạng thái gói tin: SENT, FAIL, DELIVERED (Đã gửi, thất bại, đã đến với người nhận) transaction_id: (string) Transaction ID được trả về sau mỗi lần gửi tin (dùng cho mục đích đối soát) tracking_id: (string) tracking_id được tạo ở phía người dùng |
#Mô tả lỗi trả về
error | message |
---|---|
0 | Gửi thành công |
11 | Chưa đúng tham số |
12 | Tài khoản không hợp lệ |
-100 | Phát sinh lỗi không xác định |
-101 | Ứng dụng gửi ZNS không hợp lệ |
-102 | Ứng dụng gửi ZNS không tồn tại |
-103 | Ứng dụng gửi ZNS chưa được phê duyệt |
-104 | Mã secret key không tồn tại |
-105 | Ứng dụng gửi ZNS chưa liên kết với OA |
-106 | Phương thức không được hỗ trợ |
-107 | ID ZNS không hợp lệ |
-108 | Số điện thoại không hợp lệ |
-109 | ID mẫu ZNS không hợp lệ |
-110 | Người dùng chưa cập nhật Zalo phiên bản mới |
-111 | Mẫu ZNS không có dữ liệu |
-112 | Dữ liệu mẫu ZNS không hợp lệ |
-113 | Nút không hợp lệ |
-114 | Người dùng không nhận được ZNS vì các lý do: Trạng thái tài khoản, Tùy chọn nhận ZNS, Sử dụng Zalo phiên bản cũ, hoặc các lỗi nội bộ khác |
-115 | Ví không đủ số dư |
-116 | Nội dung không hợp lệ |
-117 | OA hoặc ứng dụng gửi ZNS chưa được cấp quyền sử dụng mẫu ZNS này |
-118 | Số điện thoại chưa đăng ký Zalo hoặc người dùng đã vô hiệu hóa tài khoản hơn 30 ngày |
-119 | Tài khoản không thể nhận ZNS |
-120 | OA chưa được cấp quyền sử dụng tính năng này |
-121 | Mẫu ZNS không có nội dung |
-122 | Nội dung mẫu ZNS không đúng định dạng json |
-123 | Không giải mã được nội dung mẫu ZNS |
-124 | Mã truy cập không hợp lệ |
-125 | ID OA không hợp lệ |
-126 | Ví (development mode) không đủ số dư |
-127 | Template test chỉ có thể được gửi cho admin |
-128 | Ứng dụng gửi ZNS chưa có mã encoding |
-129 | Mã encoding không thể được tạo ra |
-130 | Nội dung mẫu ZNS vượt giới hạn kí tự |
-131 | Mẫu ZNS chưa được phê duyệt |
-132 | Tham số không hợp lệ |
-133 | Không hỗ trợ gửi ZNS trong khung giờ 22h – 6h |
-134 | Người dùng chưa phản hồi gợi ý nhận ZNS từ OA |
-135 | OA chưa được cấp quyền gửi ZNS |
-136 | Ứng dụng gửi ZNS cần được kết nối với ZBA để sử dụng các tính năng trả phí |
-137 | ZBA kết nối với ứng dụng gửi ZNS này đã hết số dư tài khoản hoặc không thể thanh toán |
-138 | Ứng dụng gửi ZNS chưa có quyền sử dụng tính năng này |
-139 | Người dùng đã từ chối nhận loại ZNS này |
-140 | OA chưa được cấp quyền gửi ZNS hậu mãi cho người dùng này |
-141 | Người dùng từ chối nhận ZNS từ OA |
-142 | OA chưa có RSA key, vui lòng gọi API tạo RSA key |
-143 | OA đã có RSA key, vui lòng gọi API get RSA key |
-144 | OA đã vượt quá số lượng gửi cho phép trong ngày hôm nay |
-145 | OA không được phép gửi loại nội dung ZNS này |
-146 | Mẫu ZNS này đã bị vô hiệu hóa do chất lượng thấp |
-147 | OA đã vượt quá số lượng gửi cho phép của mẫu ZNS này trong ngày hôm nay |
-1471 | OA đã vượt giới hạn gửi tin ZNS hậu mãi cho người dùng này trong tháng |
-1121 | Tham số parameter_name vượt quá ký tự cho phép |
-1122 | Template data bị thiếu tham số parameter_name |
-1123 | Không thể khởi tạo QR code |
-1124 | Tham số parameter_name không hợp lệ |
-1441 | OA request gửi vượt ngưỡng monthly promotion quota |
Zalo - Danh sách Template
To authorize, use this code:
curl --location --request GET 'https://api-v2.vietguys.biz:4438/zalo/v1/template/all?offset=0&limit=100&username=user123&oa_id=6754293319002339871' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******'
var axios = require('axios');
var config = {
method: 'get',
url: 'https://api-v2.vietguys.biz:4438/zalo/v1/template/all?offset=0&limit=100&username=user123&oa_id=6754293319002339871',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******'
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-v2.vietguys.biz:4438/zalo/v1/template/all?offset=0&limit=100&username=user123&oa_id=6754293319002339871',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"resultCode": 0,
"resultDesc": "Success",
"data": [
{
"templateId": 202841,
"templateName": "Mã OTP khách hàng đăng ký/đăng nhập Website VietGuys",
"createdTime": 0,
"status": "ENABLE"
},
{
"templateId": 202816,
"templateName": "Thông báo tư vấn",
"createdTime": 0,
"status": "ENABLE"
}
]
}
Mô tả chung: Lấy danh sách Template
#HTTP Request
Method: GET
Link: | https://api-v2.vietguys.biz:4438/zalo/v1/template/all |
Access-Token: | (Cách lấy Access-Token) |
Params | Type | Required | Description |
---|---|---|---|
offset | int | có | Bắt đầu từ |
limit | int | có | Giới hạn số lượng template trả về |
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | ID của official account |
Zalo - Dữ liệu mẫu Template
To authorize, use this code:
curl --location --request GET 'https://api-v2.vietguys.biz:4438/zalo/v1/template/detail?template_id=202816&username=user123&oa_id=6754293319002339871' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******'
var axios = require('axios');
var config = {
method: 'get',
url: 'https://api-v2.vietguys.biz:4438/zalo/v1/template/detail?template_id=202816&username=user123&oa_id=6754293319002339871',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******'
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-v2.vietguys.biz:4438/zalo/v1/template/detail?template_id=202816&username=user123&oa_id=6754293319002339871',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"resultCode": 0,
"resultDesc": "Success",
"data": {
"date": "01/01/1970",
"customer_name": "customer_name_sample",
"customer_code": "customer_code_sample"
}
}
Mô tả chung: Dữ liệu mẫu Template
#HTTP Request
Method: GET
Link: | https://api-v2.vietguys.biz:4438/zalo/v1/template/detail |
Access-Token: | (Cách lấy Access-Token) |
Params | Type | Required | Description |
---|---|---|---|
template_id | string | có | Mã của Template |
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | ID của official account |
Zalo - Thông tin Template
To authorize, use this code:
curl --location --request GET 'https://api-v2.vietguys.biz:4438/zalo/v1/template/info?template_id=202816&username=user123&oa_id=6754293319002339871' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******'
var axios = require('axios');
var config = {
method: 'get',
url: 'https://api-v2.vietguys.biz:4438/zalo/v1/template/info?template_id=202816&username=user123&oa_id=6754293319002339871',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******'
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-v2.vietguys.biz:4438/zalo/v1/template/info?template_id=202816&username=user123&oa_id=6754293319002339871',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"resultCode": 0,
"resultDesc": "Success",
"data": {
"templateId": 202816,
"templateName": "Thông báo tư vấn",
"status": "ENABLE",
"listParams": [
{
"name": "customer_name",
"require": true,
"type": "STRING",
"maxLength": 30,
"minLength": 0,
"acceptNull": false
},
{
"name": "customer_code",
"require": true,
"type": "STRING",
"maxLength": 30,
"minLength": 0,
"acceptNull": false
},
{
"name": "date",
"require": true,
"type": "DATE",
"maxLength": 10,
"minLength": 0,
"acceptNull": false
}
],
"timeout": 7200000,
"previewUrl": "https://zns.oa.zalo.me/znspreview/***74SqJoug0lSyXp9_A-qQ=="
}
}
Mô tả chung: Thông tin Template
#HTTP Request
Method: GET
Link: | https://api-v2.vietguys.biz:4438/zalo/v1/template/info |
Access-Token: | (Cách lấy Access-Token) |
Params | Type | Required | Description |
---|---|---|---|
template_id | string | có | Mã của Template |
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | ID của official account |
Zalo - Thông tin rating Template
To authorize, use this code:
curl --location --request GET 'https://cloud.vietguys.biz:4438/api/zalo/v1/template/rating?username=simple1&oa_id=4404293319006178133&template_id=2028162&from_time=1628089324907&to_time=1648189324907&offset=0&limit=100' \
--header 'Authorization: Bearer 73465bbc-bfe9-4b3c-8561-a8110e******'
var axios = require('axios');
var config = {
method: 'get',
url: 'https://cloud.vietguys.biz:4438/api/zalo/v1/template/rating?username=simple1&oa_id=4404293319006178133&template_id=2028162&from_time=1628089324907&to_time=1648189324907&offset=0&limit=100',
headers: {
'Authorization': 'Bearer 73465bbc-bfe9-4b3c-8561-a8110e******'
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://cloud.vietguys.biz:4438/api/zalo/v1/template/rating?username=simple1&oa_id=4404293319006178133&template_id=2028162&from_time=1628089324907&to_time=1648189324907&offset=0&limit=100',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer 73465bbc-bfe9-4b3c-8561-a8110e******'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"resultCode": 0,
"resultDesc": "Success",
"data": {
"total": 3,
"data": [
{
"note": "Tôi rất hài lòng.",
"rate": 5,
"submitDate": "1616673095659",
"msgId": "7e4c33cfc20b05575c18",
"feedbacks": [
"Nhân viên vui vẻ",
"Quy trình đơn giản, hiệu quả",
"Xử lý nhanh nhẹn",
"Tác phong chuyên nghiệp",
"Hướng dẫn tận tình"
],
"trackingId": "1956"
},
{
"note": "Phục vụ chưa tốt",
"rate": 4,
"submitDate": "1616673164105",
"msgId": "4da9fb7506b1c1ed98a2",
"feedbacks": [
"Cải thiện thái độ nhân viên",
"Xử lý nhanh hơn"
],
"trackingId": "729"
}
]
}
}
Mô tả chung: Thông tin rating Template
#HTTP Request
Method: GET
Link: | https://cloud.vietguys.biz:4438/api/zalo/v1/template/rating |
Token(JWT): | {API token sẽ được gửi riêng - dùng chung passcode gửi sms} |
Params | Type | Required | Description |
---|---|---|---|
template_id | string | có | Mã của Template |
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | ID của official account |
from_time | long | có | Thời điểm bắt đầu của khoảng thời gian cần lấy dữ liệu được gửi lên hệ thống. Lưu ý: Định dạng timestamp (đơn vị: millisecond). |
to_time | long | có | Thời điểm kết thúc của khoảng thời gian cần lấy dữ liệu được gửi lên hệ thống. Lưu ý: Định dạng timestamp (đơn vị: millisecond). |
offset | int | có | Vị trí thứ tự của đánh giá đầu tiên được trả về. |
limit | int | có | Số lượng đánh giá tối đa được trả về. |
Zalo - UID
Tin tư vấn
To authorize, use this code:
curl --location --request POST 'https://api.vietguys.biz:4438/zalo/oa/v2/send' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type" : "cs",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"text": "Hello, world!"
}
}'
var axios = require('axios');
var data = JSON.stringify({
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type" : "cs",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"text": "Hello, world!"
}
});
var config = {
method: 'post',
url: 'https://api.vietguys.biz:4438/zalo/oa/v2/send',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type': 'application/json'
},
data: data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.vietguys.biz:4438/zalo/oa/v2/send',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type" : "cs",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"text": "Hello, world!"
}
}',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"error": 0,
"message": "The message is accepted and queued for processing",
"transaction_id": "c82ffdf6-fa5b-4031-abb6-******"
}
Mô tả chung: Cài đặt tin tư vấn cho Zalo
#HTTP Request
Method: POST
Link: | https://api.vietguys.biz:4438/zalo/oa/v2/send |
Access-Token: | (Cách lấy Access-Token) |
Params | Type | Required | Description |
---|---|---|---|
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | Official Account ID muốn gửi tin |
message_type | string | có | Gửi tin tư vấn: 'cs' |
recipient | object | có | Nội dung chi tiết của tin nhắn recipient: user_id: (int)(tuỳ chọn) ID của người dùng cuối |
message | object | có | Nội dung chi tiết của tin nhắn message: text: (string)(tuỳ chọn) Nội dung tin nhắn |
#Response
Params | Type | Description |
---|---|---|
error | int | Mã lỗi. |
message | string | Mô tả kết quả trả về. |
transaction_id | string | Transaction id của đối tác, dùng để đối soát. |
Tin giao dich
To authorize, use this code:
curl --location --request POST 'https://api.vietguys.biz:4438/zalo/oa/v2/send' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type" : "transaction",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "transaction_order",
"language": "VI",
"elements": [
{
"attachment_id": "a-JJEvLdkcEPxTOwb6gYTfhwm26VSBHjaE3MDfrWedgLyC0smJRiA8w-csdGVg1cdxZLPT1je7k4i8nwbdYrSCJact3NOVGltEUQTjDayIhTvf1zqsR-Ai3aboRERgjvm-cI8iqv-NoIxi0cdNBoE6SYVJooM6xKTBft",
"type": "banner"
},
{
"type": "header",
"content": "Trạng thái đơn hàng",
"align": "left"
},
{
"type": "text",
"align": "left",
"content": "• Cảm ơn bạn đã mua hàng tại cửa hàng.<br>• Thông tin đơn hàng của bạn như sau:"
},
{
"type": "table",
"content": [
{
"value": "F-01332973223",
"key": "Mã khách hàng"
},
{
"style": "yellow",
"value": "Đang giao",
"key": "Trạng thái"
},
{
"value": "250,000đ",
"key": "Giá tiền"
}
]
},
{
"type": "text",
"align": "center",
"content": "📱Lưu ý điện thoại. Xin cảm ơn!"
}
],
"buttons": [
{
"title": "Kiểm tra lộ trình - default icon",
"image_icon": "",
"type": "oa.open.url",
"payload": {
"url": "https://oa.zalo.me/home"
}
},
{
"title": "Xem lại giỏ hàng",
"image_icon": "wZ753VDsR4xWEC89zNTsNkGZr1xsPs19vZF22VHtTbxZ8zG9g24u3FXjZrQvQNH2wMl1MhbwT5_oOvX5_szXLB8tZq--TY0Dhp61JRfsAWglCej8ltmg3xC_rqsWAdjRkctG5lXzAGVlQe9BhZ9mJcSYVIDsc7MoPMnQ",
"type": "oa.query.show",
"payload": "kiểm tra giỏ hàng"
},
{
"title": "Liên hệ tổng đài",
"image_icon": "gNf2KPUOTG-ZSqLJaPTl6QTcKqIIXtaEfNP5Kv2NRncWPbDJpC4XIxie20pTYMq5gYv60DsQRHYn9XyVcuzu4_5o21NQbZbCxd087DcJFq7bTmeUq9qwGVie2ahEpZuLg2KDJfJ0Q12c85jAczqtKcSYVGJJ1cZMYtKR",
"type": "oa.open.phone",
"payload": {
"phone_code": "84123456789"
}
}
]
}
}
}
}'
var axios = require('axios');
var data = JSON.stringify({
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type" : "transaction",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "transaction_order",
"language": "VI",
"elements": [
{
"attachment_id": "a-JJEvLdkcEPxTOwb6gYTfhwm26VSBHjaE3MDfrWedgLyC0smJRiA8w-csdGVg1cdxZLPT1je7k4i8nwbdYrSCJact3NOVGltEUQTjDayIhTvf1zqsR-Ai3aboRERgjvm-cI8iqv-NoIxi0cdNBoE6SYVJooM6xKTBft",
"type": "banner"
},
{
"type": "header",
"content": "Trạng thái đơn hàng",
"align": "left"
},
{
"type": "text",
"align": "left",
"content": "• Cảm ơn bạn đã mua hàng tại cửa hàng.<br>• Thông tin đơn hàng của bạn như sau:"
},
{
"type": "table",
"content": [
{
"value": "F-01332973223",
"key": "Mã khách hàng"
},
{
"style": "yellow",
"value": "Đang giao",
"key": "Trạng thái"
},
{
"value": "250,000đ",
"key": "Giá tiền"
}
]
},
{
"type": "text",
"align": "center",
"content": "📱Lưu ý điện thoại. Xin cảm ơn!"
}
],
"buttons": [
{
"title": "Kiểm tra lộ trình - default icon",
"image_icon": "",
"type": "oa.open.url",
"payload": {
"url": "https://oa.zalo.me/home"
}
},
{
"title": "Xem lại giỏ hàng",
"image_icon": "wZ753VDsR4xWEC89zNTsNkGZr1xsPs19vZF22VHtTbxZ8zG9g24u3FXjZrQvQNH2wMl1MhbwT5_oOvX5_szXLB8tZq--TY0Dhp61JRfsAWglCej8ltmg3xC_rqsWAdjRkctG5lXzAGVlQe9BhZ9mJcSYVIDsc7MoPMnQ",
"type": "oa.query.show",
"payload": "kiểm tra giỏ hàng"
},
{
"title": "Liên hệ tổng đài",
"image_icon": "gNf2KPUOTG-ZSqLJaPTl6QTcKqIIXtaEfNP5Kv2NRncWPbDJpC4XIxie20pTYMq5gYv60DsQRHYn9XyVcuzu4_5o21NQbZbCxd087DcJFq7bTmeUq9qwGVie2ahEpZuLg2KDJfJ0Q12c85jAczqtKcSYVGJJ1cZMYtKR",
"type": "oa.open.phone",
"payload": {
"phone_code": "84123456789"
}
}
]
}
}
}
});
var config = {
method: 'post',
url: 'https://api.vietguys.biz:4438/zalo/oa/v2/send',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type': 'application/json'
},
data: data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.vietguys.biz:4438/zalo/oa/v2/send',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type" : "transaction",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "transaction_order",
"language": "VI",
"elements": [
{
"attachment_id": "a-JJEvLdkcEPxTOwb6gYTfhwm26VSBHjaE3MDfrWedgLyC0smJRiA8w-csdGVg1cdxZLPT1je7k4i8nwbdYrSCJact3NOVGltEUQTjDayIhTvf1zqsR-Ai3aboRERgjvm-cI8iqv-NoIxi0cdNBoE6SYVJooM6xKTBft",
"type": "banner"
},
{
"type": "header",
"content": "Trạng thái đơn hàng",
"align": "left"
},
{
"type": "text",
"align": "left",
"content": "• Cảm ơn bạn đã mua hàng tại cửa hàng.<br>• Thông tin đơn hàng của bạn như sau:"
},
{
"type": "table",
"content": [
{
"value": "F-01332973223",
"key": "Mã khách hàng"
},
{
"style": "yellow",
"value": "Đang giao",
"key": "Trạng thái"
},
{
"value": "250,000đ",
"key": "Giá tiền"
}
]
},
{
"type": "text",
"align": "center",
"content": "📱Lưu ý điện thoại. Xin cảm ơn!"
}
],
"buttons": [
{
"title": "Kiểm tra lộ trình - default icon",
"image_icon": "",
"type": "oa.open.url",
"payload": {
"url": "https://oa.zalo.me/home"
}
},
{
"title": "Xem lại giỏ hàng",
"image_icon": "wZ753VDsR4xWEC89zNTsNkGZr1xsPs19vZF22VHtTbxZ8zG9g24u3FXjZrQvQNH2wMl1MhbwT5_oOvX5_szXLB8tZq--TY0Dhp61JRfsAWglCej8ltmg3xC_rqsWAdjRkctG5lXzAGVlQe9BhZ9mJcSYVIDsc7MoPMnQ",
"type": "oa.query.show",
"payload": "kiểm tra giỏ hàng"
},
{
"title": "Liên hệ tổng đài",
"image_icon": "gNf2KPUOTG-ZSqLJaPTl6QTcKqIIXtaEfNP5Kv2NRncWPbDJpC4XIxie20pTYMq5gYv60DsQRHYn9XyVcuzu4_5o21NQbZbCxd087DcJFq7bTmeUq9qwGVie2ahEpZuLg2KDJfJ0Q12c85jAczqtKcSYVGJJ1cZMYtKR",
"type": "oa.open.phone",
"payload": {
"phone_code": "84123456789"
}
}
]
}
}
}
}',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"error": 0,
"message": "The message is accepted and queued for processing",
"transaction_id": "c82ffdf6-fa5b-4031-abb6-******"
}
Mô tả chung: Cài đặt tin giao dich cho Zalo
#HTTP Request
Method: POST
Link: | https://api.vietguys.biz:4438/zalo/oa/v2/send |
Access-Token: | (Cách lấy Access-Token) |
Params | Type | Required | Description |
---|---|---|---|
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | Official Account ID muốn gửi tin |
message_type | string | có | Gửi tin giao dịch: 'transaction' |
recipient | object | có | Nội dung chi tiết của tin nhắn recipient: user_id: (int)(tuỳ chọn) ID của người dùng cuối |
message | object | có |
#Response
Params | Type | Description |
---|---|---|
error | int | Mã lỗi. |
message | string | Mô tả kết quả trả về. |
transaction_id | string | Transaction id của đối tác, dùng để đối soát. |
Tin truyền thông cá nhân
To authorize, use this code:
curl --location --request POST 'https://api.vietguys.biz:4438/zalo/oa/v2/send' \
--header 'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type": "promotion",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "promotion",
"elements": [
{
"attachment_id": "aERC3A0iYGgQxim8fYIK6fxzsXkaFfq7ZFRB3RCyZH6RyziRis3RNydebK3iSPCJX_cJ3k1nW1EQufjN_pUL1f6Ypq3rTef5nxp6H_HnXKFDiyD5y762HS-baqRpQe5FdA376lTfq1sRyPr8ypd74ecbaLyA-tGmuJ-97W",
"type": "banner"
},
{
"type": "header",
"content": "💥💥Ưu đãi thành viên Platinum💥💥"
},
{
"type": "text",
"align": "left",
"content": "Ưu đãi dành riêng cho khách hàng Nguyen Van A hạng thẻ Platinum<br>Voucher trị giá 150$"
},
{
"type": "table",
"content": [
{
"value": "VC09279222",
"key": "Voucher"
},
{
"value": "30/12/2023",
"key": "Hạn sử dụng"
}
]
},
{
"type": "text",
"align": "center",
"content": "Áp dụng tất cả cửa hàng trên toàn quốc"
}
],
"buttons": [
{
"title": "Tham khảo chương trình",
"image_icon": "",
"type": "oa.open.url",
"payload": {
"url": "https://oa.zalo.me/home"
}
},
{
"title": "Liên hệ chăm sóc viên",
"image_icon": "aeqg9SYn3nIUYYeWohGI1fYRF3V9f0GHceig8Ckq4WQVcpmWb-9SL8JLPt-6gX0QbTCfSuQv40UEst1imAm53CwFPsQ1jq9MsOnlQe6rIrZOYcrlWBTAKy_UQsV9vnfGozCuOvFfIbN5rcXddFKM4sSYVM0D50I9eWy3",
"type": "oa.query.hide",
"payload": "#tuvan"
}
]
}
}
}
}'
var axios = require('axios');
var data = JSON.stringify({
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type": "promotion",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "promotion",
"elements": [
{
"attachment_id": "aERC3A0iYGgQxim8fYIK6fxzsXkaFfq7ZFRB3RCyZH6RyziRis3RNydebK3iSPCJX_cJ3k1nW1EQufjN_pUL1f6Ypq3rTef5nxp6H_HnXKFDiyD5y762HS-baqRpQe5FdA376lTfq1sRyPr8ypd74ecbaLyA-tGmuJ-97W",
"type": "banner"
},
{
"type": "header",
"content": "💥💥Ưu đãi thành viên Platinum💥💥"
},
{
"type": "text",
"align": "left",
"content": "Ưu đãi dành riêng cho khách hàng Nguyen Van A hạng thẻ Platinum<br>Voucher trị giá 150$"
},
{
"type": "table",
"content": [
{
"value": "VC09279222",
"key": "Voucher"
},
{
"value": "30/12/2023",
"key": "Hạn sử dụng"
}
]
},
{
"type": "text",
"align": "center",
"content": "Áp dụng tất cả cửa hàng trên toàn quốc"
}
],
"buttons": [
{
"title": "Tham khảo chương trình",
"image_icon": "",
"type": "oa.open.url",
"payload": {
"url": "https://oa.zalo.me/home"
}
},
{
"title": "Liên hệ chăm sóc viên",
"image_icon": "aeqg9SYn3nIUYYeWohGI1fYRF3V9f0GHceig8Ckq4WQVcpmWb-9SL8JLPt-6gX0QbTCfSuQv40UEst1imAm53CwFPsQ1jq9MsOnlQe6rIrZOYcrlWBTAKy_UQsV9vnfGozCuOvFfIbN5rcXddFKM4sSYVM0D50I9eWy3",
"type": "oa.query.hide",
"payload": "#tuvan"
}
]
}
}
}
});
var config = {
method: 'post',
url: 'https://api.vietguys.biz:4438/zalo/oa/v2/send',
headers: {
'Access-Token': '73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type': 'application/json'
},
data: data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.vietguys.biz:4438/zalo/oa/v2/send',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"username": "cdp_demo",
"oa_id": "44042933190061******",
"message_type": "promotion",
"recipient": {
"user_id": "4404293319006******"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "promotion",
"elements": [
{
"attachment_id": "aERC3A0iYGgQxim8fYIK6fxzsXkaFfq7ZFRB3RCyZH6RyziRis3RNydebK3iSPCJX_cJ3k1nW1EQufjN_pUL1f6Ypq3rTef5nxp6H_HnXKFDiyD5y762HS-baqRpQe5FdA376lTfq1sRyPr8ypd74ecbaLyA-tGmuJ-97W",
"type": "banner"
},
{
"type": "header",
"content": "💥💥Ưu đãi thành viên Platinum💥💥"
},
{
"type": "text",
"align": "left",
"content": "Ưu đãi dành riêng cho khách hàng Nguyen Van A hạng thẻ Platinum<br>Voucher trị giá 150$"
},
{
"type": "table",
"content": [
{
"value": "VC09279222",
"key": "Voucher"
},
{
"value": "30/12/2023",
"key": "Hạn sử dụng"
}
]
},
{
"type": "text",
"align": "center",
"content": "Áp dụng tất cả cửa hàng trên toàn quốc"
}
],
"buttons": [
{
"title": "Tham khảo chương trình",
"image_icon": "",
"type": "oa.open.url",
"payload": {
"url": "https://oa.zalo.me/home"
}
},
{
"title": "Liên hệ chăm sóc viên",
"image_icon": "aeqg9SYn3nIUYYeWohGI1fYRF3V9f0GHceig8Ckq4WQVcpmWb-9SL8JLPt-6gX0QbTCfSuQv40UEst1imAm53CwFPsQ1jq9MsOnlQe6rIrZOYcrlWBTAKy_UQsV9vnfGozCuOvFfIbN5rcXddFKM4sSYVM0D50I9eWy3",
"type": "oa.query.hide",
"payload": "#tuvan"
}
]
}
}
}
}',
CURLOPT_HTTPHEADER => array(
'Access-Token: 73465bbc-bfe9-4b3c-8561-a8110e******',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
The above command returns JSON like this:
{
"error": 0,
"message": "The message is accepted and queued for processing",
"transaction_id": "c82ffdf6-fa5b-4031-abb6-******"
}
Mô tả chung: Cài đặt tin truyền thông cá nhân cho Zalo
#HTTP Request
Method: POST
Link: | https://api.vietguys.biz:4438/zalo/oa/v2/send |
Access-Token: | (Cách lấy Access-Token) |
Params | Type | Required | Description |
---|---|---|---|
username | string | có | Tên tài khoản được gửi riêng cho mỗi khách hàng |
oa_id | string | có | Official Account ID muốn gửi tin |
message_type | string | có | Gửi tin truyền thông cá nhân: 'promotion' |
recipient | object | có | Nội dung chi tiết của tin nhắn recipient: user_id: (int)(tuỳ chọn) ID của người dùng cuối |
message | object | có |
#Response
Params | Type | Description |
---|---|---|
error | int | Mã lỗi. |
message | string | Mô tả kết quả trả về. |
transaction_id | string | Transaction id của đối tác, dùng để đối soát. |
SMPP
MÔ TẢ:
Tài liệu này cung cấp tài liệu tham khảo cho tất cả các tính năng có sẵn qua giao diện VietGuys SMPP để gửi SMS. SMPP được coi là tiêu chuẩn ngành để gửi SMS đến các nhà cung cấp Mạng và là giao thức gốc của chúng tôi.
Tin nhắn ngắn ngang hàng (SMPP) là một giao thức được ngành viễn thông sử dụng để trao đổi tin nhắn SMS giữa các Trung tâm Dịch vụ Tin nhắn Ngắn (SMSC) và / hoặc các Đơn vị Tin nhắn Ngắn Bên ngoài (ESME).
Giao thức này là giao thức TCP / IP cấp 7, cho phép gửi tin nhắn SMS nhanh chóng.
Các phiên bản được sử dụng phổ biến nhất của SMPP là v3.3, tiêu chuẩn được hỗ trợ rộng rãi nhất và v3.4, bổ sung thêm hỗ trợ thu phát (các kết nối đơn lẻ có thể gửi và nhận tin nhắn). Trao đổi dữ liệu có thể là đồng bộ, trong đó mỗi đồng đẳng phải đợi phản hồi cho mỗi PDU được gửi đi và không đồng bộ, nơi nhiều yêu cầu có thể được đưa ra trong một lần và được đồng đẳng kia thừa nhận theo thứ tự nghiêng.
TÍNH NĂNG:
- SMPP là kết nối trực tiếp với SMS Gateway và cung cấp dịch vụ gửi hàng ngay lập tức
- Thông lượng cao (> 1000 msgs / giây)
Params | Description |
---|---|
IP/DOMAIN | smpp02.vietguys.biz |
PORT | SSL: 9091 (recommended)Without SSL: 5000 |
SYSTEM ID | VietGuys SMPP Username |
PASSWORD | VietGuys SMPP Password |
SYSTEM TYPE | SMS |
CONNECTION TYPE | Transmitter |
OPTIONS | Transmitter bind (TX) |
BẢNG MÃ LỖI:
Params | Type | Description |
---|---|---|
1 | Error | ESME_RINVMSGLEN Độ dài tin nhắn không hợp lệ |
2 | Error | ESME_RINVCMDLEN Độ dài lệnh không hợp lệ |
3 | Error | ESME_RINVCMDID ID lệnh không hợp lệ |
4 | Error | ESME_RINVBNDSTS BIND không đúng |
5 | Error | ESME_RALYBND ESME Đã ở trạng thái giới hạn |
10 | Error | ESME_RINVSRCADR Địa chỉ nguồn không hợp lệ |
11 | Error | ESME_RINVDSTADR Địa chỉ đích không hợp lệ |
12 | Error | ESME_RINVMSGID Message ID không hợp lệ |
13 | Error | ESME_RBINDFAIL Đánh dáu thất bại |
14 | Error | ESME_RINVPASWD Mật khẩu không hợp lệ |
69 | Error | ESME_RSUBMITFAIL Gửi SM thất bại |
88 | Error | ESME_RTHROTTLED Vượt quá giới hạn tin nhắn cho phép |
102 | Error | Điểm đến không được đề cập hoặc tiền tố không xác định |
400 | Timeout | Gửi tin nhắn đã hết thời gian chờ. |
401 | System Error | Hệ thống tạm thời bị vô hiệu hóa |
402 | No Response | Không có phản hồi từ VietGuys SMS Gateway |
# Hướng dẫn lấy passcode
- Login to https://ai.vietguys.biz/
- Click to Username (Góc phải trên cùng màn hình)
- Click to Profile (Hồ sơ)
- Click to Setting (Cài đặt) "Pwd" inside Token Field
Hướng dẫn lấy refresh token
- Đăng nhập vào https://ai.vietguys.biz
- Bấm vào Tên người dùng (Góc trên bên phải màn hình)
- Bấm vào Hồ sơ (Profile)
- Bấm vào Settings V4