httpPost(url, data, [options])
Calls specified web service with HTTP POST, sending a JSON body. Expects JSON in the response and parses it to an object.
Parameters
urlstringrequiredURL to call with HTTP POST.
dataobjectrequiredObject that will be passed as JSON body.
optionsobjectoptionalheadersobjectName / value object that will be converted to HTTP headers.
Returns
Returns the JSON answer parsed to an object.
Errors do not throw: if the call fails, or the answer is not JSON, the result is { DoclyError: "<message>" }. The HTTP status code is not returned — use httpFetch when you need it. A string as data is sent as it is; an object is serialised as JSON.
Security: requests to Docly's own platform domains (and their subdomains) and to cloud metadata / link-local addresses are always blocked — also after a redirect — and the call returns { DoclyError }. The Host header cannot be set. Private networks are only blocked by httpFetch with blockPrivateNetworks: true.
Example
export default () => {
let config = docly.getJson("#/Config") || {}; // keep credentials in #/Config, never in code
let headers = {
"Authorization": "Basic " + docly.base64(config.ApiUser + ":" + config.ApiPassword)
};
let data = { "Field1": "123" };
// Call some API — data is sent as JSON
let result = docly.httpPost("https://api.example.com/v1/items", data, headers);
if (result && result.DoclyError) throw new Error("The external API did not answer");
return result;
}