Добрый день!
Сейчас используется следующий код для интеграции с seldon :
import { InputTable, InputTables, InputVariables, OutputTable, DataType, DataKind, UsageType } from "builtIn/Data";
import {fetch, Request, Response, Headers} from "builtIn/Fetch";
let login_b = InputTable.Get(0, "BASIS_LOGIN"),
password_b = InputTable.Get(0, "BASIS_PASSWORD"),
login_t = InputTable.Get(0, "TORGI_LOGIN"),
password_t = InputTable.Get(0, "TORGI_PASSWORD"),
inn = InputTable.Get(0, "inn"),
rnt = InputTable.Get(0, "rnt");
const body = {
"response": "",
"cookies": "",
"e": ""
};
try {
fetch('https://basis.myseldon.com/api/rest/login', {
method: 'POST',
body: 'UserName=' + encodeURIComponent(login_b) + '&Password=' + encodeURIComponent(password_b),
headers: new Headers({'Content-Type': 'application/x-www-form-urlencoded'})
})
.then(response =>{
const cookies = response.headers.get('Set-Cookie');
body.cookies = cookies;
return fetch('https://basis.myseldon.com/api/rest/get_company_owners?inn=$'+encodeURIComponent(inn)+'&type=1&source=1', {
method: 'GET',
headers: new Headers({'Cookie': cookies })
});
})
.then(response => response.json())
.then(data => {
body.response = data;
OutputTable.Append();
OutputTable.Set(0, JSON.stringify(body));
return fetch('https://basis.myseldon.com/api/rest/logout');
})
.catch(e => {
body.e = e;
OutputTable.Append();
OutputTable.Set(0, JSON.stringify(body));
});
} catch(e) {
body.e = e;
OutputTable.Append();
OutputTable.Set(0, JSON.stringify(body));
}
Первый запрос возвращает куки (проверено), я их передаю в заголовок при втором запросе, но ответ от seldon: "Пользователь не авторизован", как будто он не получает куки в заголовке. В чем может быть проблема?