{"id":3522,"date":"2026-06-16T11:30:27","date_gmt":"2026-06-16T11:30:27","guid":{"rendered":"https:\/\/www.redex.vip\/developer-api\/"},"modified":"2026-06-16T13:30:26","modified_gmt":"2026-06-16T13:30:26","slug":"developer-api","status":"publish","type":"page","link":"https:\/\/www.redex.vip\/ko\/developer-api\/","title":{"rendered":"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863"},"content":{"rendered":"<p style=\"padding:10px;background:#eef;border-left:4px solid #36c;\"><strong>\ud83d\udc49 \u4ea4\u4e92\u5f0f API \u6587\u6863(\u5728\u7ebf\u8c03\u8bd5 \/ \u5b8c\u6574 schema):<\/strong> <a href=\"https:\/\/openapi.redex.vip\/docs\/\">https:\/\/openapi.redex.vip\/docs\/<\/a><\/p>\n<p><strong>RedEx eSIM \u5f00\u653e\u5e73\u53f0 \u00b7 B2B \u5f00\u53d1\u8005\u6587\u6863<\/strong>(V1)<\/p>\n<p>\u9762\u5411\u63a5\u5165 RedEx \u65c5\u884c\u6570\u636e eSIM \u4f9b\u8d27\u80fd\u529b\u7684\u5206\u9500\/\u8f6c\u552e\u5408\u4f5c\u4f19\u4f34\u3002Base URL\u3001<code>appid<\/code>\u3001<code>secret<\/code> \u7531 RedEx \u5728\u5f00\u6237\u65f6\u901a\u8fc7\u5b89\u5168\u6e20\u9053\u63d0\u4f9b\u3002<\/p>\n<h2>\u5feb\u901f\u5f00\u59cb Quick Start<\/h2>\n<ol>\n<li>\u5411 RedEx \u7533\u8bf7\u5f00\u6237,\u63d0\u4f9b<strong>\u5546\u6237\u540d\u79f0<\/strong>\u4e0e<strong>\u56de\u8c03\u5730\u5740 webhookUrl<\/strong>\u3002<\/li>\n<li>\u83b7\u5f97 <code>appid<\/code> + <code>secret<\/code> + Base URL\u3002<\/li>\n<li>\u6309\u300c\u9274\u6743\u300d\u7b97\u51fa\u7b7e\u540d\u5934,\u53d1\u8d77\u9996\u4e2a\u8c03\u7528(\u793a\u4f8b:\u62c9\u53d6\u5957\u9910\u5206\u7c7b)\u3002<\/li>\n<\/ol>\n<pre><code># \u9996\u4e2a\u8c03\u7528(\u4ee5\u5957\u9910\u5206\u7c7b\u4e3a\u4f8b)\nTS=$(date +%s000)\nSIGN=$(printf \"%s\" \"${TS}${SECRET}\" | md5sum | awk '{print $1}')\ncurl -X POST \"https:\/\/openapi.redex.vip\/api\/esim\/package\/category\" \\\n  -H \"X-Appid: ${APPID}\" -H \"X-Timestamp: ${TS}\" -H \"X-Sign: ${SIGN}\" \\\n  -H \"Content-Type: application\/json\" -d '{}'<\/code><\/pre>\n<h2>\u73af\u5883 Environments<\/h2>\n<ul>\n<li><strong>\u751f\u4ea7 Production<\/strong>:<code>https:\/\/openapi.redex.vip<\/code><\/li>\n<li><strong>\u6c99\u76d2 Sandbox<\/strong>:\u6682\u65e0\u72ec\u7acb\u6c99\u76d2;\u8054\u8c03\u6d4b\u8bd5\u8d26\u53f7\/\u6d4b\u8bd5\u5957\u9910\u7531 RedEx \u5355\u72ec\u63d0\u4f9b\u3002<\/li>\n<li>\u6240\u6709\u4e1a\u52a1\u63a5\u53e3\u5747\u4e3a <strong>POST<\/strong> + JSON;<code>Content-Type: application\/json; charset=utf-8<\/code>\u3002<\/li>\n<\/ul>\n<h2>\u9274\u6743 Authentication<\/h2>\n<p>\u6bcf\u4e2a\u8bf7\u6c42\u5fc5\u5e26\u4ee5\u4e0b\u8bf7\u6c42\u5934:<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>Header<\/th>\n<th>\u5fc5\u586b<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>X-Appid<\/code><\/td>\n<td>\u662f<\/td>\n<td>\u5546\u6237 appid<\/td>\n<\/tr>\n<tr>\n<td><code>X-Timestamp<\/code><\/td>\n<td>\u662f<\/td>\n<td>\u5f53\u524d <strong>\u6beb\u79d2\u7ea7<\/strong>\u65f6\u95f4\u6233(\u5b57\u7b26\u4e32)<\/td>\n<\/tr>\n<tr>\n<td><code>X-Sign<\/code><\/td>\n<td>\u662f<\/td>\n<td>\u7b7e\u540d = <strong>MD5(timestamp + secret)<\/strong>,\u5341\u516d\u8fdb\u5236,\u5927\u5c0f\u5199\u4e0d\u654f\u611f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7b7e\u540d\u8ba1\u7b97:\u628a <code>X-Timestamp<\/code> \u7684\u503c\u4e0e\u4f60\u7684 <code>secret<\/code> \u76f4\u63a5\u62fc\u63a5\u540e\u505a MD5\u3002\u9274\u6743\u5931\u8d25\u8fd4\u56de <code>code=401<\/code>(\u7f3a\u5c11\u5934)\u6216 <code>code=403<\/code>(\u7b7e\u540d\u4e0d\u5339\u914d)\u3002<\/p>\n<h2>\u901a\u7528\u7ea6\u5b9a Standards<\/h2>\n<ul>\n<li><strong>\u7edf\u4e00\u54cd\u5e94\u4f53<\/strong>:<code>{ \"code\": 0, \"data\": {...}, \"message\": \"ok\", \"timestamp\": 1718...}<\/code>;<code>code=0<\/code> \u6210\u529f,\u975e 0 \u4e3a\u9519\u8bef\u3002<\/li>\n<li><strong>\u91d1\u989d<\/strong>:\u6574\u6570,\u5355\u4f4d\u4e3a<strong>\u6700\u5c0f\u8d27\u5e01\u5355\u4f4d(\u7f8e\u5206,USD)<\/strong>,\u5982 <code>1130<\/code> = $11.30\u3002<\/li>\n<li><strong>\u65f6\u95f4<\/strong>:\u6beb\u79d2\u7ea7\u65f6\u95f4\u6233;<strong>\u6d41\u91cf<\/strong>:\u5b57\u8282(Byte)\u3002<\/li>\n<li><strong>\u5e42\u7b49<\/strong>:\u4e0b\u5355\u4ee5\u4f60\u65b9 <code>transactionId<\/code> \u53bb\u91cd,\u52a1\u5fc5\u5168\u5c40\u552f\u4e00\u3002<\/li>\n<\/ul>\n<h2>\u72b6\u6001\u7801 \/ \u9519\u8bef\u7801<\/h2>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>code<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>\u6210\u529f<\/td>\n<\/tr>\n<tr>\n<td>401<\/td>\n<td>\u7f3a\u5c11\u9274\u6743\u8bf7\u6c42\u5934(X-Appid\/X-Timestamp\/X-Sign)<\/td>\n<\/tr>\n<tr>\n<td>403<\/td>\n<td>\u7b7e\u540d\u4e0d\u5339\u914d \/ appid \u65e0\u6548<\/td>\n<\/tr>\n<tr>\n<td>\u4f59\u989d\u4e0d\u8db3\u7c7b<\/td>\n<td>(\u9884\u4ed8\u94b1\u5305\u4e0a\u7ebf\u540e)\u5546\u6237\u4f59\u989d\u4e0d\u8db3,\u62d2\u5355<\/td>\n<\/tr>\n<tr>\n<td>\u5176\u5b83<\/td>\n<td>\u4e1a\u52a1\u9519\u8bef,\u89c1 <code>message<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u63a5\u53e3 API<\/h2>\n<h3>1. \u5957\u9910\u5206\u7c7b(\u6811\u5f62)<\/h3>\n<p><code>POST \/api\/esim\/package\/category<\/code> \u00b7 \u65e0\u4e1a\u52a1\u5165\u53c2 \u00b7 \u8fd4\u56de\u542f\u7528\u4e2d\u7684\u5206\u7c7b\u6811\u3002<\/p>\n<pre><code>\/\/ data: \u5206\u7c7b\u8282\u70b9\u6811\n{ \"id\": 7, \"pid\": 0, \"category\": \"Japan\", \"children\": [ ... ] }<\/code><\/pre>\n<h3>2. \u5957\u9910\u5217\u8868(\u5206\u9875 \/ \u7b5b\u9009)<\/h3>\n<p><code>POST \/api\/esim\/package<\/code><\/p>\n<p><strong>\u8bf7\u6c42\u53c2\u6570<\/strong>:<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>\u5b57\u6bb5<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>categoryId<\/td>\n<td>int<\/td>\n<td>\u5206\u7c7b ID(\u53ef\u9009)<\/td>\n<\/tr>\n<tr>\n<td>productType<\/td>\n<td>int<\/td>\n<td>\u4ea7\u54c1\u7c7b\u578b(\u53ef\u9009)<\/td>\n<\/tr>\n<tr>\n<td>dataType<\/td>\n<td>string<\/td>\n<td>\u6570\u636e\u7c7b\u578b(\u53ef\u9009,\u5982 fixed\/unlimited)<\/td>\n<\/tr>\n<tr>\n<td>withCall \/ withSMS<\/td>\n<td>bool<\/td>\n<td>\u7b5b\u9009\u5e26\u901a\u8bdd \/ \u77ed\u4fe1\u5957\u9910<\/td>\n<\/tr>\n<tr>\n<td>volume \/ volumeUnit<\/td>\n<td>long \/ string<\/td>\n<td>\u5bb9\u91cf + \u5355\u4f4d(GB\/MB)<\/td>\n<\/tr>\n<tr>\n<td>validity<\/td>\n<td>int<\/td>\n<td>\u6709\u6548\u5929\u6570<\/td>\n<\/tr>\n<tr>\n<td>packageCode \/ productId<\/td>\n<td>string<\/td>\n<td>\u7cbe\u786e\u67e5\u6307\u5b9a\u5957\u9910<\/td>\n<\/tr>\n<tr>\n<td>pageNum \/ pageSize<\/td>\n<td>int<\/td>\n<td>\u5206\u9875(\u9ed8\u8ba4 1 \/ 20)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u54cd\u5e94<\/strong> <code>data: { packageList: [...], total }<\/code>,\u5957\u9910\u5b57\u6bb5:<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>\u5b57\u6bb5<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>packageCode<\/code><\/td>\n<td>\u5957\u9910\u7801(\u4e0b\u5355\u7528)<\/td>\n<\/tr>\n<tr>\n<td><code>productName<\/code> \/ <code>productId<\/code><\/td>\n<td>\u540d\u79f0 \/ \u4ea7\u54c1ID<\/td>\n<\/tr>\n<tr>\n<td><code>geography<\/code> \/ <code>region<\/code> \/ <code>regionName<\/code><\/td>\n<td>\u8986\u76d6\u8303\u56f4<\/td>\n<\/tr>\n<tr>\n<td><code>dataType<\/code> \/ <code>volume<\/code> \/ <code>validity<\/code><\/td>\n<td>\u7c7b\u578b \/ \u5bb9\u91cf(\u5b57\u8282)\/ \u6709\u6548\u5929\u6570<\/td>\n<\/tr>\n<tr>\n<td><code>price<\/code><\/td>\n<td>\u4ef7\u683c(\u5206)<\/td>\n<\/tr>\n<tr>\n<td><code>withCall<\/code> \/ <code>withSMS<\/code><\/td>\n<td>\u662f\u5426\u542b\u901a\u8bdd \/ \u77ed\u4fe1<\/td>\n<\/tr>\n<tr>\n<td><code>locationNetworkList<\/code><\/td>\n<td>\u8986\u76d6\u5730\u533a+\u8fd0\u8425\u5546:<code>[{locationName, locationCode, operatorList:[{operatorName, networkType}]}]<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>apn<\/code> \/ <code>ipExport<\/code> \/ <code>throttle<\/code><\/td>\n<td>APN \/ \u51fa\u53e3IP\u56fd \/ \u9650\u901f\u7b56\u7565(FUP)<\/td>\n<\/tr>\n<tr>\n<td><code>activation<\/code> \/ <code>unusedValidTime<\/code><\/td>\n<td>\u6fc0\u6d3b\u7b56\u7565 \/ \u672a\u4f7f\u7528\u6709\u6548\u671f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>3. \u521b\u5efa\u8ba2\u5355<\/h3>\n<p><code>POST \/api\/order\/create<\/code><\/p>\n<pre><code>{\n  \"transactionId\": \"\u4f60\u65b9\u552f\u4e00\u5355\u53f7(\u5e42\u7b49\u952e)\",\n  \"packageInfoList\": [\n    { \"packageCode\": \"PKG_xxx\", \"count\": 1, \"price\": 1130, \"periodNum\": 1, \"startDate\": \"2026-07-01\" }\n  ],\n  \"additionalInfo\": {}\n}<\/code><\/pre>\n<ul>\n<li><code>count<\/code>:\u6570\u91cf;<code>periodNum<\/code>:\u5468\u671f\u6570(\u9ed8\u8ba4 1,Day Pass \u7c7b\u6309\u5929\u6570);<code>price<\/code>:\u5206(\u5c55\u793a\u7528,\u670d\u52a1\u7aef\u4ee5\u6211\u65b9\u5b9a\u4ef7\u4e3a\u51c6)\u3002<\/li>\n<li><code>startDate<\/code>:<strong>\u4ec5\u51fa\u884c\u65e5\u671f\/\u9884\u7ea6\u6b3e\u5fc5\u586b<\/strong>(\u6307\u5b9a\u6fc0\u6d3b\u65e5,\u5f02\u6b65\u51fa\u5361)\u3002<\/li>\n<\/ul>\n<p><strong>\u54cd\u5e94<\/strong>:<code>{ \"orderNo\": \"RX...\", \"transactionId\": \"...\", \"price\": 1130 }<\/code><\/p>\n<h3>4. \u83b7\u53d6\u914d\u7f6e\u6587\u4ef6(\u51fa\u5361 \/ QR)<\/h3>\n<p><code>POST \/api\/esim\/profile<\/code> \u00b7 \u5165\u53c2 <code>{ orderNo, esimTranNo, pageNum, pageSize }<\/code><\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>\u8fd4\u56de\u5b57\u6bb5<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>esimTranNo<\/code><\/td>\n<td>eSIM \u6d41\u6c34\u53f7(\u540e\u7eed\u67e5\u8be2\/\u5145\u503c\u7528)<\/td>\n<\/tr>\n<tr>\n<td><code>ac<\/code><\/td>\n<td><strong>\u6fc0\u6d3b\u7801 LPA\/QR \u5b57\u7b26\u4e32<\/strong>(\u751f\u6210\u4e8c\u7ef4\u7801)<\/td>\n<\/tr>\n<tr>\n<td><code>iccid<\/code> \/ <code>imsi<\/code> \/ <code>eid<\/code> \/ <code>msisdn<\/code><\/td>\n<td>\u5361\u6807\u8bc6 \/ \u53f7\u7801<\/td>\n<\/tr>\n<tr>\n<td><code>installStatus<\/code> \/ <code>smsStatus<\/code><\/td>\n<td>\u5b89\u88c5\u72b6\u6001 \/ \u77ed\u4fe1\u72b6\u6001<\/td>\n<\/tr>\n<tr>\n<td><code>actualStartTime<\/code> \/ <code>plannedEndTime<\/code><\/td>\n<td>\u5b9e\u9645\u6fc0\u6d3b \/ \u8ba1\u5212\u5230\u671f(\u6beb\u79d2)<\/td>\n<\/tr>\n<tr>\n<td><code>dataUsage<\/code> \/ <code>totalData<\/code><\/td>\n<td>\u5df2\u7528 \/ \u603b\u6d41\u91cf(\u5b57\u8282)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>5. \u67e5\u8be2\u5b89\u88c5\/\u4f7f\u7528\u72b6\u6001<\/h3>\n<p><code>POST \/api\/esim\/status<\/code> \u00b7 \u5165\u53c2 <code>esimTranNo<\/code> \u6216 <code>iccid<\/code> \u00b7 \u8fd4\u56de <code>{ eid, iccid, qrStatus, installStatus, esimTranNo }<\/code><\/p>\n<h3>6. \u67e5\u8be2\u6d41\u91cf<\/h3>\n<p><code>POST \/api\/esim\/usage<\/code> \u00b7 \u8fd4\u56de <code>{ esimUsageList: [{ esimTranNo, dataUsage, totalData, plannedEndTime }] }<\/code>(\u6d41\u91cf\u5355\u4f4d\u5b57\u8282)<\/p>\n<h3>7. \u5145\u503c(Top-up)<\/h3>\n<ul>\n<li>\u53ef\u5145\u503c\u5957\u9910:<code>POST \/api\/esim\/topup\/package<\/code>(\u5165\u53c2 <code>esimTranNo<\/code> \u6216 <code>packageCode<\/code>)\u2192 <code>{ topUpData: [...] }<\/code><\/li>\n<li>\u6267\u884c\u5145\u503c:<code>POST \/api\/esim\/topup<\/code> \u2192 <code>{ transactionId, orderNo, plannedEndTime }<\/code><\/li>\n<\/ul>\n<h2>\u56de\u8c03 Webhook(RedEx \u2192 \u4f60\u65b9 webhookUrl)<\/h2>\n<p>eSIM \u751f\u547d\u5468\u671f\u4e8b\u4ef6\u4ee5 <strong>POST<\/strong> \u63a8\u9001\u5230\u4f60\u65b9\u767b\u8bb0\u7684 <code>webhookUrl<\/code>:<\/p>\n<pre><code>{\n  \"notifyType\": \"DATA_USAGE\",            \/\/ ESIM_STATUS \/ DATA_USAGE \/ SMDP_EVENT\n  \"notifyId\": \"\u552f\u4e00\u901a\u77e5ID(\u5e42\u7b49\u53bb\u91cd)\",\n  \"eventGenerateTime\": 1718533200000,\n  \"content\": {\n    \"orderNo\": \"RX...\", \"transactionId\": \"...\", \"esimTranNo\": \"...\",\n    \"iccid\": \"...\", \"totalData\": 1073741824, \"dataUsage\": 52428800,\n    \"remain\": 1021313024, \"lastUpdateTime\": 1718533200000\n  }\n}<\/code><\/pre>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>notifyType<\/th>\n<th>\u89e6\u53d1<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ESIM_STATUS<\/code><\/td>\n<td>\u5b89\u88c5\/\u4f7f\u7528\u72b6\u6001\u53d8\u66f4<\/td>\n<\/tr>\n<tr>\n<td><code>DATA_USAGE<\/code><\/td>\n<td>\u6d41\u91cf\u7528\u91cf\u66f4\u65b0<\/td>\n<\/tr>\n<tr>\n<td><code>SMDP_EVENT<\/code><\/td>\n<td>SM-DP+ \u4e0b\u8f7d\/\u6fc0\u6d3b\u4e8b\u4ef6<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8981\u6c42:\u4f60\u65b9\u5728 ~5 \u79d2\u5185\u8fd4\u56de 2xx;\u7528 <code>notifyId<\/code> \u5e42\u7b49\u53bb\u91cd;\u5931\u8d25 RedEx \u4f1a\u91cd\u8bd5\u3002<\/p>\n<h2>\u5bf9\u63a5\u65f6\u5e8f<\/h2>\n<ol>\n<li>\u62c9\u5206\u7c7b\/\u5957\u9910 \u2192 \u9009 <code>packageCode<\/code><\/li>\n<li><code>order\/create<\/code>(\u5e26 <code>transactionId<\/code>)\u2192 \u5f97 <code>orderNo<\/code><\/li>\n<li><code>esim\/profile<\/code> \u53d6 <code>ac<\/code>(QR)\u4ea4\u4ed8\u7ec8\u7aef\u7528\u6237(\u9884\u7ea6\u6b3e\u7b49\u5f02\u6b65\u51fa\u5361+\u56de\u8c03)<\/li>\n<li>\u76d1\u542c webhook <code>ESIM_STATUS<\/code>\/<code>DATA_USAGE<\/code>,\u6216\u8f6e\u8be2 <code>status<\/code>\/<code>usage<\/code><\/li>\n<li>\u7eed\u8d39 \u2192 <code>topup<\/code><\/li>\n<\/ol>\n<h2>\u5b57\u6bb5\u5b57\u5178<\/h2>\n<ul>\n<li><code>installStatus<\/code>:\u672a\u5b89\u88c5 \/ \u5df2\u5b89\u88c5 \/ \u5df2\u542f\u7528(\u5177\u4f53\u679a\u4e3e\u968f\u54cd\u5e94)\u3002<\/li>\n<li><code>networkType<\/code>:\u8fd0\u8425\u5546\u7f51\u7edc\u5236\u5f0f(4G\/5G)\u3002<\/li>\n<li><code>throttle<\/code>:FUP \u9650\u901f(\u5230\u91cf\u540e\u964d\u901f)\u5957\u9910\u7684\u9650\u901f\u53c2\u6570\u3002<\/li>\n<li><code>ipExport<\/code>:\u51fa\u53e3 IP \u6240\u5728\u56fd(USIP\/\u672c\u5730 IP \u573a\u666f)\u3002<\/li>\n<\/ul>\n<h2>\u66f4\u65b0\u65e5\u5fd7 Changelog<\/h2>\n<ul>\n<li><strong>V1(2026-06)<\/strong>:\u9996\u7248 \u2014\u2014 \u5957\u9910\u5206\u7c7b\/\u5217\u8868\u3001\u4e0b\u5355\u3001\u51fa\u5361(QR)\u3001\u72b6\u6001\u3001\u6d41\u91cf\u3001\u5145\u503c\u3001Webhook(ESIM_STATUS\/DATA_USAGE\/SMDP_EVENT)\u3002<\/li>\n<li>\u89c4\u5212\u4e2d:\u5546\u6237\u9884\u4ed8\u4f59\u989d\u67e5\u8be2(<code>\/api\/merchant\/balance<\/code>)\u3001\u4f4e\u4f59\u989d\u544a\u8b66\u3001\u7b7e\u540d\u5347\u7ea7 HMAC-SHA256(\u7b7e body + nonce)\u3002<\/li>\n<\/ul>\n<hr>\n<p><em>\u5bf9\u63a5\u652f\u6301:\u8054\u7cfb RedEx \u5bf9\u63a5\u4eba\u83b7\u53d6 Base URL\u3001\u6d4b\u8bd5\u51ed\u636e\u4e0e\u6c99\u76d2\u5957\u9910\u3002<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udc49 \u4ea4\u4e92\u5f0f API \u6587\u6863(\u5728\u7ebf\u8c03\u8bd5 \/ \u5b8c\u6574 schema): https:\/\/openapi.redex.vip\/docs\/ RedEx eSIM \u5f00\u653e\u5e73\u53f0 \u00b7 B2B \u5f00\u53d1\u8005\u6587\u6863(V1) \u9762\u5411\u63a5\u5165 RedEx \u65c5\u884c\u6570\u636e eSIM \u4f9b\u8d27\u80fd\u529b\u7684\u5206\u9500\/\u8f6c\u552e\u5408\u4f5c\u4f19\u4f34\u3002Base URL\u3001appid\u3001secret \u7531 RedEx \u5728\u5f00\u6237\u65f6\u901a\u8fc7\u5b89\u5168\u6e20\u9053\u63d0\u4f9b\u3002 \u5feb\u901f\u5f00\u59cb Quick Start \u5411 RedEx \u7533\u8bf7\u5f00\u6237,\u63d0\u4f9b\u5546\u6237\u540d\u79f0\u4e0e\u56de\u8c03\u5730\u5740 webhookUrl\u3002 \u83b7\u5f97 appid + secret + Base URL\u3002 \u6309\u300c\u9274\u6743\u300d\u7b97\u51fa\u7b7e\u540d\u5934,\u53d1\u8d77\u9996\u4e2a\u8c03\u7528(\u793a\u4f8b:\u62c9\u53d6\u5957\u9910\u5206\u7c7b)\u3002 # \u9996\u4e2a\u8c03\u7528(\u4ee5\u5957\u9910\u5206\u7c7b\u4e3a\u4f8b) TS=$(date +%s000) SIGN=$(printf &#8220;%s&#8221; &#8220;${TS}${SECRET}&#8221; | md5sum | awk &#8216;{print $1}&#8217;) curl -X POST &#8220;https:\/\/openapi.redex.vip\/api\/esim\/package\/category&#8221; [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-3522","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863 - RedEx eSIM<\/title>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863 - RedEx eSIM\" \/>\n<meta property=\"og:description\" content=\"\ud83d\udc49 \u4ea4\u4e92\u5f0f API \u6587\u6863(\u5728\u7ebf\u8c03\u8bd5 \/ \u5b8c\u6574 schema): https:\/\/openapi.redex.vip\/docs\/ RedEx eSIM \u5f00\u653e\u5e73\u53f0 \u00b7 B2B \u5f00\u53d1\u8005\u6587\u6863(V1) \u9762\u5411\u63a5\u5165 RedEx \u65c5\u884c\u6570\u636e eSIM \u4f9b\u8d27\u80fd\u529b\u7684\u5206\u9500\/\u8f6c\u552e\u5408\u4f5c\u4f19\u4f34\u3002Base URL\u3001appid\u3001secret \u7531 RedEx \u5728\u5f00\u6237\u65f6\u901a\u8fc7\u5b89\u5168\u6e20\u9053\u63d0\u4f9b\u3002 \u5feb\u901f\u5f00\u59cb Quick Start \u5411 RedEx \u7533\u8bf7\u5f00\u6237,\u63d0\u4f9b\u5546\u6237\u540d\u79f0\u4e0e\u56de\u8c03\u5730\u5740 webhookUrl\u3002 \u83b7\u5f97 appid + secret + Base URL\u3002 \u6309\u300c\u9274\u6743\u300d\u7b97\u51fa\u7b7e\u540d\u5934,\u53d1\u8d77\u9996\u4e2a\u8c03\u7528(\u793a\u4f8b:\u62c9\u53d6\u5957\u9910\u5206\u7c7b)\u3002 # \u9996\u4e2a\u8c03\u7528(\u4ee5\u5957\u9910\u5206\u7c7b\u4e3a\u4f8b) TS=$(date +%s000) SIGN=$(printf &quot;%s&quot; &quot;${TS}${SECRET}&quot; | md5sum | awk &#039;{print $1}&#039;) curl -X POST &quot;https:\/\/openapi.redex.vip\/api\/esim\/package\/category&quot; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.redex.vip\/ko\/developer-api\/\" \/>\n<meta property=\"og:site_name\" content=\"RedEx eSIM\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/redex.esim\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-16T13:30:26+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@RedEx_eSIM\" \/>\n<meta name=\"twitter:label1\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\ubd84\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863 - RedEx eSIM","robots":{"index":"noindex","follow":"follow"},"og_locale":"ko_KR","og_type":"article","og_title":"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863 - RedEx eSIM","og_description":"\ud83d\udc49 \u4ea4\u4e92\u5f0f API \u6587\u6863(\u5728\u7ebf\u8c03\u8bd5 \/ \u5b8c\u6574 schema): https:\/\/openapi.redex.vip\/docs\/ RedEx eSIM \u5f00\u653e\u5e73\u53f0 \u00b7 B2B \u5f00\u53d1\u8005\u6587\u6863(V1) \u9762\u5411\u63a5\u5165 RedEx \u65c5\u884c\u6570\u636e eSIM \u4f9b\u8d27\u80fd\u529b\u7684\u5206\u9500\/\u8f6c\u552e\u5408\u4f5c\u4f19\u4f34\u3002Base URL\u3001appid\u3001secret \u7531 RedEx \u5728\u5f00\u6237\u65f6\u901a\u8fc7\u5b89\u5168\u6e20\u9053\u63d0\u4f9b\u3002 \u5feb\u901f\u5f00\u59cb Quick Start \u5411 RedEx \u7533\u8bf7\u5f00\u6237,\u63d0\u4f9b\u5546\u6237\u540d\u79f0\u4e0e\u56de\u8c03\u5730\u5740 webhookUrl\u3002 \u83b7\u5f97 appid + secret + Base URL\u3002 \u6309\u300c\u9274\u6743\u300d\u7b97\u51fa\u7b7e\u540d\u5934,\u53d1\u8d77\u9996\u4e2a\u8c03\u7528(\u793a\u4f8b:\u62c9\u53d6\u5957\u9910\u5206\u7c7b)\u3002 # \u9996\u4e2a\u8c03\u7528(\u4ee5\u5957\u9910\u5206\u7c7b\u4e3a\u4f8b) TS=$(date +%s000) SIGN=$(printf \"%s\" \"${TS}${SECRET}\" | md5sum | awk '{print $1}') curl -X POST \"https:\/\/openapi.redex.vip\/api\/esim\/package\/category\" [&hellip;]","og_url":"https:\/\/www.redex.vip\/ko\/developer-api\/","og_site_name":"RedEx eSIM","article_publisher":"https:\/\/www.facebook.com\/redex.esim\/","article_modified_time":"2026-06-16T13:30:26+00:00","twitter_card":"summary_large_image","twitter_site":"@RedEx_eSIM","twitter_misc":{"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.redex.vip\/developer-api\/","url":"https:\/\/www.redex.vip\/developer-api\/","name":"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863 - RedEx eSIM","isPartOf":{"@id":"https:\/\/www.redex.vip\/ru\/#website"},"datePublished":"2026-06-16T11:30:27+00:00","dateModified":"2026-06-16T13:30:26+00:00","breadcrumb":{"@id":"https:\/\/www.redex.vip\/developer-api\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.redex.vip\/developer-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.redex.vip\/developer-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.redex.vip\/ru\/"},{"@type":"ListItem","position":2,"name":"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863"}]},{"@type":"WebSite","@id":"https:\/\/www.redex.vip\/ru\/#website","url":"https:\/\/www.redex.vip\/ru\/","name":"RedEx eSIM","description":"\ud574\uc678 \uc5ec\ud589\uc744 \uc704\ud574 eSIM\uc744 \uad6c\ub9e4\ud558\uc138\uc694","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.redex.vip\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"}]}},"_links":{"self":[{"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/pages\/3522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/comments?post=3522"}],"version-history":[{"count":3,"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/pages\/3522\/revisions"}],"predecessor-version":[{"id":3525,"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/pages\/3522\/revisions\/3525"}],"wp:attachment":[{"href":"https:\/\/www.redex.vip\/ko\/wp-json\/wp\/v2\/media?parent=3522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}