# Get Upload Voucher

Debugging tools

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