В настоящее время я пытаюсь отправить контракт с помощью API esignature.io. Я получаю из источника "http://localhost: 8000 ", заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin".
Я использую облачные функции Firebase. Ошибка, которую я получаю на этой стороне, - 400 Bad Request. Код ниже
exports.sendContract = functions
.runWith({
timeoutSeconds: 10,
memory: "512MB",
})
.region("europe-west1")
.https.onRequest((req, res) => {
cors(req, res, async () => {
const info = await JSON.parse(JSON.stringify(req.body))
await axios.post("https://[SECRETKEY]:@esignatures.io/api/contracts", info)
.then((response) => {
return console.log("succesful")
})
.catch((error) => {
return console.log(error)
})
})
})
На стороне клиента это код, который вызывает функцию облака, а также тело, которое я отправляю
let body = {
"template_id": "SOME TEMPLATE ID",
"title": "Lease Agreement",
"test": "yes",
"signers": [
{
"name": "jeff",
"email": "jeff@gmail.com",
"mobile": "SOME NUMBER",
"redirect_url": "no",
"signing_order": "1",
"auto_sign": "no",
"embedded_sign_page": "no",
"embedded_redirect_iframe_only": "no",
"skip_signature_request": "no",
"skip_signer_identification": "no"
}
],
"emails": {
"signature_request_subject": "Your document is ready to sign",
"signature_request_text": "Hi __FULL_NAME__, \n\n To review and sign the contract please press the button below \n\n Kind Regards",
"final_contract_subject": "Your document is signed",
"final_contract_text": "Hi __FULL_NAME__, \n\n Your document is signed.\n\nKind Regards"
},
"custom_branding": {
"company_name": "Company co",
"logo_url": ""
}
}
const request = {
method: "post",
url: "https://xxxxxxxx.cloudfunctions.net/sendContract",
headers: {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*"
},
data: JSON.stringify(body)
}
axios(request)
.then(response => {
console.log("successfully sent contract")
})
.catch(err => {
console.log("unable send contract")
})
}
На консоли веб-браузера появляется ошибка политики CORS. В чем может быть проблема? Я также пытался изменить тип содержимого, но это также не помогло.