Uživatelský manuál
Stručný průvodce
Dashboard
Přehledy
Detail případu (Caseoverview)
Případ - Událost
Úkoly
Poznámky případu
Dokumenty
Nastavení uživatele
Oblíbené
Komponenta tabulky
FAQ
Novinky/Oznámení v Team assistant
Nastavení mobilní aplikace
Admin dokumentace
Platforma
Administrace
Crony
Autentizace a synchronizace
Nastavení mobilní aplikace pro vaše prostředí
Schéma
Dynamické tabulky
Archivace
Skripty
Servisní konzole
Naplánované úkoly
HR Agenda
Sekvence
CSP hlavičky - zásady zabezpečení obsahu
Logy
Nastavení přístupového tokenu a vypršení platnosti relace
Šablona
Role
Plánování
Uživatelé
Organizační struktura
Události
Překlady
AXIOS API
Výpočty a funkce
Integrace
TAS Forms
Pokročilé funkce a tipy
Partneři
🧩 Pluginy a utility
📄Implementace šablon (konzultace)
SIEM exporter
Produkt
Technický changelog
Business Changelog
Průvodce upgradem z předchozích verzí
Upgrade na 5.9
Upgrade na 5.3
Migrace dynamických podmínek
Úprava a kontrola tisku pdf
Úprava Popis úkolu vs Instrukce k úkolu
Transpilace forEach na for loop
Vykreslení HTML na Caseoverview
Upgrade na 5.7
Lodash upgrade v4.17.x (>v5.5)
Hlavní změny a zaniklé funkce (v5.3 > v5.7)
Podbarvení proměnných ve stavu Read-only (>v5.7.58)
Použití validačních funkcí
Rozdíly mezi TAS4 a TAS5 - kompletní přehled
Best Practices upgrade z TAS 4 na TAS 5
Technické požadavky a architektura
Aktuality / Důležité informace
- Vše /
- Partneři
- 📄Implementace šablon (konzultace)
- Implementační know-how /
- Odesílání dokumentů přes API
Odesílání dokumentů přes API
Tato dokumentace poskytuje podrobný návod, jak odesílat dokumenty z Team Assistant (TAS) přes rozhraní API. Proces zahrnuje načtení ID dokumentů z úložného systému Team Assistant, export dokumentů, jejich zakódování v případě potřeby a jejich odeslání do externího systému pomocí požadavku API.
Klíčové funkce v procesu
1. Načítání dokumentů
Chcete-li odeslat dokument, prvním krokem je extrahovat dokument z úložného systému Team Assistant. To zahrnuje načtení ID dokumentu a načtení jeho obsahu ve formátu vhodném pro přenos.
- ID dokumentu lze získat pomocí dotazu na DMS Team Assistant.
- V závislosti na integraci API lze dokument načíst jako fyzický soubor nebo obsah kódovaný base64 .
- V případě potřeby je soubor před zpracováním dočasně uložen na určené místo.
2. Příprava dokumentu k převodu
Po načtení může dokument vyžadovat další zpracování:
- Kódování Base64: Pokud rozhraní API očekává řetězec base64, obsah dokumentu se odpovídajícím způsobem zakóduje.
- Přiřazení názvu souboru: Zajištění správného názvu každého dokumentu před odesláním.
- Manipulace s více soubory: Pokud je třeba odeslat více dokumentů, jsou před odesláním uloženy do pole.
3. Odesílání dokumentů přes API
Po zpracování je dokument odeslán do externího systému prostřednictvím API požadavku. To zahrnuje:
- Vytvoření adresy URL koncového bodu API.
- Konfigurace záhlaví požadavků HTTP, jako jsou ověřovací tokeny a typ obsahu.
- Připojení dokumentu (buď jako soubor nebo jako řetězec base64) k tělu požadavku.
- Odeslání požadavku pomocí metody, jako je HTTP POST .
- Zpracování odpovědi API k potvrzení úspěšného přenosu.
4. Zpracování chyb a protokolování
Pro zajištění hladkého provozu by měly být zavedeny mechanismy pro zpracování chyb:
- Ověření existence ID dokumentu před pokusem o načtení obsahu.
- Kontrola, zda odpověď API vrací úspěšný stavový kód .
- Chyby protokolování a varování, pokud se nahrávání dokumentu nezdaří.
- Implementace opakování v případě dočasných selhání.
Příklady kódu
Fyzický soubor
/**
* Sends an attached document related to a specific case.
*
* @param {string} documentToSend - The actual name of the document attached to the case.
* @param {string} docNameTarget - Name of the document that you want receiving software to see.
*/
function sendDocument(documentToSend, docNameTarget) {
const dmsEntity = storage.getDmsEntity(documentToSend);
const {
NAME: fileName,
DMSF_ID: doc_id
} = dmsEntity;
if (fileName.toLowerCase().indexOf('.pdf') == -1) debug.error('pdf file only');
const finalFileName = `${docNameTarget}.pdf`;
const tmp = storage.getTmpLibrary();
const {
name
} = tmp.fileSync();
const filePath = `${name}_${finalFileName}`;
proc.warn(`tmp file path: ${filePath}`);
lib.exportAttachment(documentToSend, filePath);
curl.start();
curl.setOpt('URL', 'https://your.url/api/document/add');
curl.setOpt('CUSTOMREQUEST', 'POST');
curl.setOpt('FOLLOWLOCATION', true);
curl.setOpt('FAILONERROR', false);
curl.setOpt('SSL_VERIFYPEER', false);
curl.setOpt('SSL_VERIFYHOST', false);
curl.setOpt('TIMEOUT', 300);
curl.setOpt('HTTPHEADER', [
`Authorization: Bearer xxx`,
`accept: application/json`,
`Content-Type: multipart/form-data`
]);
curl.setOpt('HTTPPOST', [{
name: 'Files',
file: filePath,
type: 'application/pdf'
}]);
const response = curl.perform();
return response;
}
Obsah kódovaný Base64
var fileId = lib.getDMSFileIds('*', ',')
var files = [];
// Create a new Array, with name and content of each file
fileId = fileId.split(',');
for (var i = 0; i < fileId.length; i++) {
var fileContent = storage.getDmsContent(fileId[i], 'base64');
var fileName = variableFileNames[i];
if (fileName) {
files.push({ fileName, fileContent }); } }
var base64String = '';
var namesString = '';
for (let i = 0; i < files.length; i++) {
if (i > 100) {
break;
}
if (i === 0) {
if (typeof files[i]['fileContent'] == 'object') {
base64String = files[i]['fileContent'].toString('base64');
} else {
base64String = files[i]['fileContent']; }
Updated
by Anna Gernát