Добавить документ к потоку
Запрос
Параметры пути
Параметр | Тип | Описание |
---|---|---|
id |
String |
ID потока, для которого нужно создать документ. |
Тело запроса
Чтобы добавить веб страницу как документ, нужно добавить ссылку на неё в параметр value
:
{
"name": "Dataflow",
"type_id": 6,
"value": "https://en.wikipedia.org/wiki/Dataflow"
}
Чтобы загрузить файл, тело запроса должно содержать бинарный файл:
{
"file": (
"Dataflow.pdf",
open("/path/to/Dataflow.pdf", "rb"),
"application/pdf"
)
}
Ответ
При привязке веб страницы, ответ будет содержать ID загруженного документа:
{
"id":"62ed29a618baa649c1d25a18"
}
При загрузке файла, ответ будет содержать информацию о загруженном документе:
{
"id":"62ed2bdb18baa649c1d25a1a"
"type_id":7,
"name":"Dataflow.pdf",
"value":"upload_29c7ddcbcd2de76e4b938d9845eeaaba",
}
Ответ может содержать следующие поля:
Параметр | Тип | Описание |
---|---|---|
id |
String |
ID документа. |
type_id |
Integer |
Тип загруженного документа. |
name |
String |
Имя документа. |
value |
String |
Внутренняя ссылка на документ. Хранит адреса для веб страниц и |
Примеры
Добавить ссылку на веб страницу
Запрос
-
Bash
-
JavaScript
-
NodeJS
-
Python
login=<...>
password=<...>
saymon_hostname=<...>
flow_id=<...>
url=https://$saymon_hostname/node/api/flows/$flow_id/docs
curl -X POST $url -u $login:$password \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"name": "Dataflow",
"type_id": 6,
"value": "https://en.wikipedia.org/wiki/Dataflow"
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let flowId = <...>
let path = "/node/api/flows/" + flowId + "/docs";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);
let data = JSON.stringify({
"name": "Dataflow",
"type_id": 6,
"value": "https://en.wikipedia.org/wiki/Dataflow"
});
let requestOptions = {
method: "POST",
headers: headers,
body: data
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
const request = require("request");
const fs = require("fs");
let login = <...>
let password = <...>
let saymon_hostname = <...>
let flow_id = <...>
let url = "https://" + saymon_hostname + "/node/api/flows/" +
flow_id + "/docs";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let body = JSON.stringify({
"name": "Dataflow",
"type_id": 6,
"value": "https://en.wikipedia.org/wiki/Dataflow"
});
let options = {
method: "POST",
url: url,
headers: {
Authorization: auth
},
json : body
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
});
import requests
import json
login = <...>
password = <...>
saymon_hostname = <...>
flow_id = <...>
url = "https://" + saymon_hostname + "/node/api/flows/" + \
flow_id + "/docs"
body = {
"name": "Dataflow",
"type_id": 6,
"value": "https://en.wikipedia.org/wiki/Dataflow"
}
response = requests.request("POST", url, json=body, auth=(login, password))
print(response.text)
Загрузить документ
Запрос
-
Bash
-
JavaScript
-
NodeJS
-
Python
login=<...>
password=<...>
saymon_hostname=<...>
flow_id=<...>
url=https://$saymon_hostname/node/api/flows/$flow_id/docs
curl -u $login:$password \
-F "file=@/path/to/Dataflow.pdf;type=application/pdf" $url
The file can be selected with an HTML <input type="file" />
input element
let login = <...>
let password = <...>
let saymon_hostname = <...>
let flowId = <...>
let path = "https://" + saymon_hostname + "/node/api/flows/" +
flowId + "/docs";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);
let formData = new FormData();
let fileField = document.querySelector('input[type="file"]');
formData.append('file', fileField.files[0]);
let requestOptions = {
method: "POST",
headers: headers,
body: formData
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
const request = require("request");
const fs = require("fs");
let login = <...>
let password = <...>
let saymon_hostname = <...>
let flow_id = <...>
let url = "https://" + saymon_hostname + "/node/api/flows/" +
flow_id + "/docs";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
method: "POST",
url: url,
headers: {
Authorization: auth
},
formData: {
file: fs.createReadStream("/path/to/Dataflow.pdf"),
filetype: "pdf",
filename: "Dataflow.pdf"
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
import json
login = <...>
password = <...>
saymon_hostname = <...>
flow_id = <...>
url = "https://" + saymon_hostname + "/node/api/flows/" + \
flow_id + "/docs";
files = {
"file": (
"Dataflow.pdf",
open("/path/to/Dataflow.pdf", "rb"),
"application/pdf"
)
}
response = requests.request("POST", url, files=files, auth=(login, password))
print(response.text)