Спасибо! Это решило проблему.
у обработчик для намерения создать PDF. Этот API принимает запрос POST с данными JSON и возвращает ссылку на сгенерированный PDF. Намерение вызывает этот код, но ответ не добавляется к агенту. Возможно ли, что запрос не будет перенаправлен в пункт назначения? Похоже, API не получает никаких запросов. Есть идеи, как это решить?
function fillDocument(agent) {
const name = agent.parameters.name;
const address = agent.parameters.newaddress;
const doctype = agent.parameters.doctype;
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
var url = "https://us1.pdfgeneratorapi.com/api/v3/templates/36628/output?format=pdf&output=url";
xhr.open("POST", url, true);
xhr.setRequestHeader("X-Auth-Key", "...");
xhr.setRequestHeader("X-Auth-Secret", "...");
xhr.setRequestHeader("X-Auth-Workspace", "...");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var json = JSON.parse(xhr.responseText);
agent.add(json.response);
}
};
var data = JSON.stringify({...});
xhr.send(data);
}
РЕДАКТИРОВАТЬ: я приступил к настройке платежной учетной записи в GCP, теперь вызов работает, но он асинхронный. Если я изменю это на syn, сделав это:
xhr.open("POST", url, false);
Я получаю следующую ошибку:
EROFS: read-only file system, open '.node-xmlhttprequest-sync-2'
Мне нужно, чтобы он был асинхронным, поскольку ответ, который должен отправить мой бот, зависит от ответа от API. Любые идеи о том, как обойти это?