Public
Documentation Settings

Tài liệu hướng dẫn tích hợp đổi thẻ cào APIdoithe.Com

Trang chủ: API Đổi thẻ cào: apidoithe.com
Hỗ trợ:
- Telegram: https://t.me/tieutran01
- Zalo: 0966663393

POSTGửi thẻ cào sang apidoithe.com

https://apidoithe.com/chargingws/v2

Bạn có thể gửi bằng phương thức get hoặc post tùy thích.

  • Sử dụng phương thức POST hoặc GET tùy thích
  • Dữ liệu gửi sang là chuỗi Json bao gồm các tham số bên dưới (có ví dụ):
Tên tham sốGiải thíchKiểu dữ liệu
request_idID tùy ý tạo và lưu lại phía bên bạn, để khi có kết quả đổi thẻ, sẽ trả kèm dữ liệu kết quả, mục đích phân biệt thẻ khi bạn cần cập nhật trạng thái thẻ bên bạn.Chuỗi
serialSeri của thẻ càoChuỗi
codeMã của thẻ càoChuỗi
telcoNhà mạng của thẻ.
Bao gồm: VIETTEL, MOBIFONE, VINAPHONE, VNMOBI, ZING, GATE
Chuỗi
amountMệnh giá thẻ cào khách khai báoSố nguyên
partner_idPartner ID này lấy tại mục kết nối APISố nguyên
signLà kết quả sau khi mã hóa MD5 của chuỗi partner_key, code và serial nối liền.
md5 ( partner_key + code + serial )
Chuỗi
commandĐiền chuỗi: chargingChuỗi

Ví dụ:

json
{
    "serial": "10009256840805",
    "request_id": "353454r34tfd",
    "telco": "VIETTEL",
    "code": "018991216881305",
    "amount": "10000",
    "partner_id": "100006",
    "sign": "428984b1652dce8b1d619185b8e20171",
    "command": "charging"
}

Apidoithe phản hồi khi gửi thẻ sang:

Là một chuỗi Json chứa các tham số:

StatusMô tả
99Gửi thẻ thành công, đợi xử lý chốc lát
Các status còn lại: Gửi thất bạiCó lý nội dung mô tả chi tiết trong mess trả về

Ví dụ

Thành công:

json
{
    "status": "99",
    "message": "Thẻ đã gửi thành công và đang chờ xử lý",
    "trans_id": "VK2ezSzLkf",
    "code": "018991216881304",
    "serial": "10009256840804",
    "telco": "VIETTEL",
    "declared_value": 10000,
    "value": null,
    "receive_amount": null,
    "request_id": "353454r34tfd",
    "sign": "64f951693d608c43dc1d05cb70508f60"
}

Thất bại:

json
{
    "status": "-32",
    "message": "Error: Mã 018991216881304, seri 10009256840804 đã tồn tại. Và đang ở trạng thái: failed"
}
Example Request
curl
curl --location 'https://apidoithe.com/chargingws/v2' \
--data '{
    "serial": "10009256840805",
    "request_id": "353454r34tfd",
    "telco": "VIETTEL",
    "code": "018991216881305",
    "amount": "10000",
    "partner_id": "100006",
    "sign": "428984b1652dce8b1d619185b8e20171",
    "command": "charging"
}'
200 OK
Example Response
html
{
  "status": "99",
  "message": "Thẻ đã gửi thành công và đang chờ xử lý",
  "trans_id": "YvTs2I0J2A",
  "code": "018991216881305",
  "serial": "10009256840805",
  "telco": "VIETTEL",
  "declared_value": 10000,
  "value": null,
  "receive_amount": null,
  "request_id": "353454r34tfd",
  "sign": "428984b1652dce8b1d619185b8e20171"
}
Date

Wed, 07 Dec 2022 10:05:38 GMT

Content-Type

text/html; charset=UTF-8

Transfer-Encoding

chunked

Connection

keep-alive

expires

Thu, 19 Nov 1981 08:52:00 GMT

cache-control

no-store, no-cache, must-revalidate

pragma

no-cache

vary

Accept-Encoding

CF-Cache-Status

DYNAMIC

Report-To

{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=w7qqkzzimzV2bAWLNccUZnqrlVK6c944tKpKgScNCidFX50fwzTrgnbMmo3Mia6Qt42k5DaHxbC0U671stSBBgRbDg%2BYq3zhzGr1LHjzbcV5%2FyL7iFEvIfxWQiJqBfWw"}],"group":"cf-nel","max_age":604800}

NEL

{"success_fraction":0,"report_to":"cf-nel","max_age":604800}

Server

cloudflare

CF-RAY

775c71a40df704cf-HKG

Content-Encoding

br

alt-svc

h3=":443"; ma=86400, h3-29=":443"; ma=86400

POSTCallback gọi lại sang bên bạn bằng Json

https:// link callback mà bạn gắn trên apidoithe

Bạn nhận callback kết quả xử lý thẻ từ chúng tôi bằng phương thức POST hoặc GET tùy theo bạn muốn (cấu hình khi gắn link callback ở mục Kết nối API.

Dữ liệu được gửi sang dạng chuỗi Json bao gồm:

Tên tham sốGiải thích
status1 là thành công
2 là thẻ sai mệnh giá
3 là thẻ lỗi, nạp thất bại
messageTin nhắn mô tả cho trạng thái thẻ
request_idID tùy ý tạo và lưu lại phía bên bạn, để khi có kết quả đổi thẻ, sẽ trả kèm dữ liệu kết quả, mục đích phân biệt thẻ khi bạn cần cập nhật trạng thái thẻ bên bạn.
trans_idID thẻ trên dữ liệu của chúng tôi
declared_valueMệnh giá bên bạn khai báo
valueMệnh giá thực của thẻ kiểm tra được sau khi xử lý
amountSố tiền bạn được cộng trên web đổi thẻ
serialSeri của thẻ cào
codeMã của thẻ cào
telcoNhà mạng của thẻ.
Bao gồm: VIETTEL, MOBIFONE, VINAPHONE, VNMOBI, ZING, GATE
amountMệnh giá thẻ cào khách khai báo
partner_idPartner ID này lấy tại mục kết nối API
callback_signChữ ký mà bạn gửi sang để so khớp với bên bạn nhằm mục đích bảo mật.
(Là kết quả sau khi mã hóa MD5 của chuỗi partner_key, code và serial nối liền.
md5 ( partner_key + code + serial ) )

Ví dụ:

json
{
"status":1,
"message":"Th\u00e0nh c\u00f4ng",
"request_id":"989876",
"declared_value":50000,
"value":50000,
"amount":25000,
"code":"314688440422676",
"serial":"10003395125761",
"telco":"VIETTEL",
"trans_id":54180,
"callback_sign":"17b118fe86852c52ea126c9537617f6d"
}
Example Request
curl
curl --location --request POST 'https:// link callback mà bạn gắn trên apidoithe' \
--data ''
Example Response
No response body
This request doesn't return any response body
No response headers
This request doesn't return any response headers

GETVer 3: Lấy chiết khấu theo thời gian thực

https://apidoithe.com/api/discount?partner_id=100005

Bạn có thể lựa chọn theo cách v2 bên dưới hoặc cách v3 này:
Thay tham số partner_id thành partner id của bạn.
Ví dụ bên trên partner_id là 100005.

Kết quả trả về là một chuỗi json. Bạn lấy giá trị của nhà mạng và mệnh giá thẻ tương ứng để sử dụng.

PARAMS
partner_id

100005

Example Request
curl
curl --location 'https://apidoithe.com/api/discount?partner_id=100005'
200 OK
Example Response
html
{
  "VIETTEL": {
    "10": 17,
    "20": 17,
    "30": 17,
    "50": 16,
    "100": 16,
    "200": 16,
    "300": 16,
    "500": 19,
    "1000": 19
  },
  "MOBIFONE": {
    "10": 19,
    "20": 19,
    "30": 19,
    "50": 19,
    "100": 19,
    "200": 19,
    "300": 19,
    "500": 19,
    "1000": 19
  },
  "VINAPHONE": {
    "10": 12,
    "20": 12,
    "30": 12,
    "50": 12,
    "100": 12,
    "200": 15,
    "300": 12,
    "500": 12,
    "1000": 13
  },
  "VNMOBI": {
    "10": 17,
    "20": 17,
    "30": 17,
    "50": 17,
    "100": 17,
    "200": 17,
    "300": 17,
    "500": 17,
    "1000": 17
  },
  "ZING": {
    "10": 17,
    "20": 17,
    "30": 17,
    "50": 17,
    "100": 17,
    "200": 17,
    "300": 17,
    "500": 17,
    "1000": 17
  },
  "GATE": {
    "10": 26,
    "20": 26,
    "30": 26,
    "50": 26,
    "100": 26,
    "200": 26,
    "300": 26,
    "500": 26,
    "1000": 26
  }
}
Date

Sun, 25 Dec 2022 18:10:59 GMT

Content-Type

text/html; charset=UTF-8

Transfer-Encoding

chunked

Connection

keep-alive

set-cookie

PHPSESSID=4o9oop7gpsibgu361b20ha94g6; path=/

expires

Thu, 19 Nov 1981 08:52:00 GMT

cache-control

no-store, no-cache, must-revalidate

cache-control

no-cache, private

pragma

no-cache

x-ratelimit-limit

60

x-ratelimit-remaining

60

access-control-allow-origin

*

vary

Accept-Encoding

CF-Cache-Status

DYNAMIC

Report-To

{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=g%2FYx4EFbmKIE626a%2FqIiD1r5HOKSGKMjAqr8ezgHKJssWyQR%2FjYR9c9faaIHlV6WrcU5ycwfKv0977lhQu%2FDylA7pISFxlOPOy10OwkcG5DkjKCcV5AM%2B5ha%2B%2FcFJ3nb"}],"group":"cf-nel","max_age":604800}

NEL

{"success_fraction":0,"report_to":"cf-nel","max_age":604800}

Server

cloudflare

CF-RAY

77f389639aa320e1-HKG

Content-Encoding

br

alt-svc

h3=":443"; ma=86400, h3-29=":443"; ma=86400