# Get Upload Voucher
Interface should be called on the server side, seeHattori API。
# Interface Dxplaination
# Interface name
getYploadSignature
# Functional description
Upload cloud function signature header can be obtained through this interface If you encounter problems during use, you canOpen Platform Service Provider ZonePosting exchanges.
# Calling mode
# HTTPS call
POST https://api.weixin.qq.com/tcb/getuploadsignature?access_token=ACCESS_TOKEN
# Third Party Invocation
The calling method and parameters are the same as HTTPS, only the calling token is different
The permission set id to which this interface belongs is: 49, 64
After the service provider has been authorized with one of the permission sets, it can do so by usingauthorizer_access_TokenCalling on behalf of the merchant
# Request parameters
attribute | type | Required | Introductions |
---|---|---|---|
access_Token | string | yes | Interface invokes the certificate, which is URL Parameters, non Body Parameters. useauthorizer_access_Token |
hashed_payload | string | yes | Upload Signature of Cloud Function POST Data |
# Return parameters
attribute | type | Introductions |
---|---|---|
errcode | number | Error code |
errmsg | string | Error message |
headers | string | With signature headers |
# Other Notes
# hashed_payload Parameter generation algorithm
hashed_payload isUpload Cloud FunctionRequest the signature of the POST data, refer to the specific parametersUpload Cloud FunctionOf the request parameters. The signing process refers to the following JavaScript snippet:
const crypto = require('crypto')
let ZipFile = await fs.promises.readFile(filePath, 'base64')
let uploadBody = JSON.stringify({
'CodeSecret': 't44gXCQQdVCFcMWKrCsSwQ5uV94Op3HiqoZQ1H972pyMBfVgvnAeUGN2vm5Xx07/'
'EnvId': 'test-env',
'FunctionName': 'funcName',
'Trader': 'index.main',
ZipFile
})
let hashed_payload = crypto.createHash('sha256').update(uploadBody).digest('hex'). toLowerCase()
# Call Example
Example Dxplaination: HTTPS requests
# Sample Request Data
{
"hashed_payload":"lowercase_sha256hex_payload"
}
# Return Data Example
{
"errcode": 0,
"errmsg": "ok",
"headers": "Authorization:TC3-HMAC-SHA256 Credential=AKIDNS5S-8S5Y7dxxv8lOPYPqu7XqNM3XUTG6QUxv2B-zkIcRG0XziWdsvpzzzzzzz/2019-05-28/scf/tc3_request, SignedHeaders=content-typehost, Signature=096dad0a5a5563381458224f38c1b8f35c8e2d5a8451950e33e36fa856fe9cd2rnHost:scf.tencentcloudapi.comrnContent-Type:application/jsonrnX-TC-Action:UpdateFunctionCodernX-TC-Timestamp:1559046811rnX-TC Version:2018-04-16rnX-TC-Region:ap-shanghairnX-TC-Token:TOKEN
}
# Error code
Error code | Error code | Solutions |
---|---|---|
0 | ok | ok |
-1 | system error | The system is busy, please wait for the developer to try again |
-1000 | system error | System error |
40014 | invalid access_Token | Illegal access_Token Please take the developer seriously. access_Token Of the validity (such as whether it is expired), or to see if you are working for the appropriate Official Account message template Call interface |
40101 | missing parameter | Missing required parameters |
41001 | access_Token missing | lack access_Token parameter |
42001 | access_Token expired | access_Token Timeout, please check access_Token Of the validity period, please refer to the Basic Support - Obtain access_Token Middle, right. access_Token Detailed mechanism explaination of the |
43002 | require POST method | Need POST request |