eSMS for Developers
Đăng nhập
VN - eSMS for Developers
VN - eSMS for Developers
  • Tổng quan hệ thống
    • Giới thiệu hệ thống API
    • Cơ chế hoạt động
    • Lấy thông tin ApiKey và SecretKey
  • eSMS API
    • Hàm gửi tin
      • Tin nhắn SMS OTP/CSKH (Khuyên Dùng)
      • Tin nhắn Zalo
      • Tin nhắn đa kênh: Zalo => SMS OTP/CSKH
      • Tin nhắn Zalo sử dụng hash phone
      • Tin Zalo mỗi khách hàng một nội dung
      • Tin Zalo Tư vấn dạng văn bản
      • Tin Zalo Tư vấn đính kèm ảnh
      • Tin Zalo Tư vấn dạng button
      • Tin Zalo giao dịch
      • Tin Zalo Tư vấn dạng yêu cầu thông tin người dùng
      • Tin Zalo hành trình
      • Tạo và gửi mã xác thực tự động bằng tin nhắn SMS
      • Tạo và gửi mã xác thực tự động đa kênh: Zalo => SMS
      • Tin Viber
      • Tin SMS quảng cáo
      • Tin Voice OTP
    • Hàm truy xuất và đăng ký
      • Hàm lấy số dư tài khoản
      • Hàm kiểm tra trạng thái tin nhắn theo khoảng thời gian
      • Hàm kiểm tra tin nhắn theo SMSID
      • Hàm kiểm tra chi tiết từng số trong tin nhắn
      • Hàm lấy danh sách Brandname
      • Hàm lấy danh sách template tin chăm sóc khách hàng
      • Hàm tạm tính giá tin nhắn CSKH
      • Hàm tạm tính giá tin nhắn quảng cáo
      • Hàm lấy danh sách Zalo OA
      • Hàm lấy danh sách template Zalo
      • Hàm tạm tính giá tin Zalo
      • Lấy quota tin zalo theo OAID
      • Hàm lấy thông tin đánh giá của khách hàng
      • Hàm kiểm tra chất lượng OA
      • Hàm lấy danh sách UID có tương tác theo khoảng thời gian
      • Hàm lấy thông tin callback tin nhắn Zalo
      • Hàm lấy thông tin chi tiết template Zalo
      • Hàm đăng ký mua gói OA
      • Hàm đăng ký template Zalo
      • Hàm đăng ký template SMS
    • Các API khác
      • Gửi tin chăm sóc khách hàng dạng GET
      • Gửi tin chăm sóc khách hàng dạng POST X-Form
      • Gửi tin chăm sóc khách hàng dạng POST TEXT
      • Gửi tin cố định giá rẻ dạng GET
      • Gửi tin quảng cáo dạng POST TEXT
      • Hàm gửi tin Zalo V4
      • Hàm gửi tin Zalo V5
      • Hàm gửi tin nhắn Zalo dạng X-Form
      • Hàm gửi tin nhắn Zalo dạng Json Full template
      • Hàm gửi tin nhắn Viber dạng GET
      • Hàm check code
    • Kết nối mã SVoucher
      • Kết nối đầu số ngắn
    • Hàm gọi Voice
      • Hàm tạo cuộc gọi voice OTP
      • Hàm tạo cuộc gọi tự động theo Template
      • Hàm tạo cuộc gọi tự động từ file ghi âm
      • Hàm lấy trạng thái cuộc gọi
    • Bảng mã lỗi
    • Môi trường test ( Sandbox)
    • Callback Url
Powered by GitBook
On this page
  • 1: Thông tin kết nối:
  • Bước 1: Khi khách hàng gửi tin nhắn lên đầu số ngắn, phía eSMS sẽ gọi 1 request như bên dưới sang đối tác
  • Bước 2: Đối tác xử lý request này và trả về thông tin có dạng sau:
  • 2. Tạo khóa bí mật:
  • Mã lệnh mẫu
  1. eSMS API
  2. Kết nối mã SVoucher

Kết nối đầu số ngắn

1: Thông tin kết nối:

Bước 1: Khi khách hàng gửi tin nhắn lên đầu số ngắn, phía eSMS sẽ gọi 1 request như bên dưới sang đối tác

HTTP GET
http://domain.abc/receive_mo?sender={{sender}}&content={{content}}&serviceNumber={{serviceNumber}}&keyword={{keyword}}&sign={{sign}}&cpid={{cpid}}&smsid={{smsid}}&receiverTime={{receiverTime}}

Trong đó:

  • http://domain.abc/receive_mo : là link mà đối tác cung cấp cho eSMS để nhận các tin nhắn MO từ khách hàng

Tham số
Kiểu
Mô tả

string

Là mã định danh CP do eSMS cung cấp. Bao gồm CPID và PrivateKey

string

chữ ký số, tạo bởi chuỗi bí mật của ứng dụng tương ứng cpid

string

là một chuỗi do eSMS.vn cung cấp. Đây là số duy nhất tương ứng với một tin nhắn. Số này dùng để kiểm tra các trường hợp trùng và đối chiếu đối soát về sau.

string

số điện thoại khách hàng, định dạng quốc tế (có 84)

string

đầu số dịch vụ (8041, 8079, 6088, ...)

string

từ đầu tiên trong cú pháp MO

string

nội dung mà khách hàng nhắn

string

Thời gian nhận được MO, có format yyyyMMddhhmmss

Bước 2: Đối tác xử lý request này và trả về thông tin có dạng sau:

<ClientResponse>
   <Message>Nội dung tin nhắn trả về</Message>
   <Smsid>ID của tin nhắn gửi lên</Smdid>
   <Receiver>Số điện thoại người nhận</Receiver>
</ClientResponse>

2. Tạo khóa bí mật:

Sign: được băm từ 5 tham số: Cpid, smsid, content, receiveTime và PrivateKey hashValue(value1, value2,…) = MD5(value1 + value2 + … + private_key) Ví dụ: đối tác A sử dụng dịch vụ X có khóa bí mật là 17417a0d20114d36a902e49cad0e97f3 thì giá trị băm được tính như sau: hash("abcdef", "1234", "xyz") = MD5("abcdef1234xyz17417a0d20114d36a902e49cad0e97f3"); Format thời gian: giá trị thời gian được truyền dưới định dạng sau: yyyyMMddhhmmss. Ví dụ ngày 28 tháng 2 năm 2013, lúc 13 giờ 01 phút 01 giây: 20130228130101

Mã lệnh mẫu

Trong việc giao tiếp giữa client và server, có một giá trị băm gửi gửi kèm để đảm bảo toàn bộ các thông tin là chính xác. Đoạn lệnh mẫu tính giá trị băm xin tham khảo dưới đây.

  • .NET

string GetHash(string s)
{
  UTF8Encoding ue = new UTF8Encoding();
  byte[] v = ue.GetBytes(s);
  byte[] hashValue = new MD5CryptoServiceProvider().ComputeHash(v);
  return Convert.ToBase64String(hashValue);
}
  • Java

String getHash(String sSrc) throws Exception {
  Charset utf8Charset = Charset.forName("UTF-8");
  byte[] textBytes = sSrc.getBytes(utf8Charset);
  MessageDigest m = MessageDigest.getInstance("MD5");
  byte[] digest = m.digest(textBytes);
  String sEncodedText = B64.b64encode(digest);
  return sEncodedText;
} 
  • PHP

<?php
    $str = 'qwertyuiop';
    $hash = base64_encode(md5($str, true));
?>
PreviousKết nối mã SVoucherNextHàm gọi Voice

Last updated 1 year ago

cpid
sign
smsid
sender
serviceNumber
keyword
content
receiverTime