{"version":"1.0","provider_name":"RedEx eSIM","provider_url":"https:\/\/www.redex.vip\/ja\/","author_name":"RedEx eSIM","author_url":"https:\/\/www.redex.vip\/ja\/","title":"RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863 - RedEx eSIM","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"NxlgQ8mgn0\"><a href=\"https:\/\/www.redex.vip\/ja\/developer-api\/\">RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.redex.vip\/ja\/developer-api\/embed\/#?secret=NxlgQ8mgn0\" width=\"600\" height=\"338\" title=\"&#8220;RedEx eSIM Open API \u2014 \u5f00\u53d1\u8005\u5bf9\u63a5\u6587\u6863&#8221; &#8212; RedEx eSIM\" data-secret=\"NxlgQ8mgn0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.redex.vip\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>","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\"  -H \"X-Appid: ${APPID}\" -H \"X-Timestamp: ${TS}\" -H \"X-Sign: ${SIGN}\"  -H \"Content-Type: application\/json\" -d '{}' \u73af\u5883 Environments \u751f\u4ea7 Production:https:\/\/openapi.redex.vip \u6c99\u76d2 Sandbox:\u6682\u65e0\u72ec\u7acb\u6c99\u76d2;\u8054\u8c03\u6d4b\u8bd5\u8d26\u53f7\/\u6d4b\u8bd5\u5957\u9910\u7531 RedEx \u5355\u72ec\u63d0\u4f9b\u3002 \u6240\u6709\u4e1a\u52a1\u63a5\u53e3\u5747\u4e3a POST + JSON;Content-Type: application\/json; charset=utf-8\u3002 \u9274\u6743 Authentication \u6bcf\u4e2a\u8bf7\u6c42\u5fc5\u5e26\u4ee5\u4e0b\u8bf7\u6c42\u5934: Header \u5fc5\u586b \u8bf4\u660e X-Appid \u662f \u5546\u6237 appid X-Timestamp \u662f \u5f53\u524d \u6beb\u79d2\u7ea7\u65f6\u95f4\u6233(\u5b57\u7b26\u4e32) X-Sign \u662f \u7b7e\u540d = MD5(timestamp + secret),\u5341\u516d\u8fdb\u5236,\u5927\u5c0f\u5199\u4e0d\u654f\u611f \u7b7e\u540d\u8ba1\u7b97:\u628a X-Timestamp \u7684\u503c\u4e0e\u4f60\u7684 secret [&hellip;]"}