MS Graph - konfirurace cronu
Základní postup nastavení schránky naleznete zde.
Konfigurace MS Graph cronu MsGraphCreateProcessesFromMailCron.js:
"items" další objekt s konfigurací.{
"amountOfEmailByRun": 10, /// Maximální počet stažených emailů na jeden běh cronu
"items": [
{
"auth": {
"emailAddress": "your_mailbox@mail.com",
"tenantId": "xxx",
"clientId": "xxx",
"clientSecret": "xxx",
"type": "secret"
},
"folders": {
"in": { /// Vstupní složka, odkud cron čte maily - jak získat ID je popsáno níže
"id": "AQMkADg0MjYzNGRjLTRlNWEtNDM1Zi05ZTNiLWIyMGM0MDk4M2MzMgAuAAAEUtvwUxN2T57o_amJWiFMAQBlyfKJ66aURpYiUSTGCCnfAAR7Pb2oXXXX"
},
"out": { /// Výstupní složka, odkud cron čte maily - jak získat ID je popsáno níže
"id": "AQMkADg0MjYzNGRjLTRlNWEtNDM1Zi05ZTNiLWIyMGM0MDk4M2MzMgAuAAAEUtvwUxN2T57o_amJWiFMAQBlyfKJ66aURpYiUSTGCCnfAAR7Pb2pXXXY"
}
},
"process": {
"user_id": 1, /// User pod, kterým jsou případy v TASu zakládány
"tproc_id": 132, /// ID šablony, ze které jsou případy zakládány
"header_id": 199, /// Hlavička případu
"tproc_version": 1 /// Verze šablony, vždy 1 zatím
},
"config": {
"setEmailProcessedOnError": true, /// Odesílat email v případě chybného zpracování
"errorEmailAddress": "your_admin@mail.group" /// Adresa, kam je případně odeslán email s chybou ve zpracování
},
"ignoreAttachmentErrors": true, /// Pokud je true, ignoruje případné chyby u příloh (encrypted zip file, nefunkčni dms...) pouze zaloguje error, ale zpracování proběhne.
"ignoreVariablesUpdateAndUseDataHolder": false,
"useEmailObjectInDataHolder": false,
/// Zde je popsáno mapování, nalevo je vždy technický název proměnné z procesu, napravo jsou parametry z emailu.
"mapping": {
"emailBody": "body.content",
"dmAnnotation": {
"value": "subject",
"option": "optional"
},
"sender": {
"value": "from.emailAddress.address",
"option": "optional"
},
"emailRecipients": {
"value": "toRecipients[0].emailAddress.address",
"option": "optional"
},
"emailRecipientsCopy": {
"value": "ccRecipients[0].emailAddress.address",
"option": "optional"
},
"emailDeliveryDate": "receivedDateTime",
"_distributionRequired": {
"value": "yes",
"isConstant": true
},
"mailSource": {
"value": "Email",
"isConstant": true
}
}
}
]
}
Postup získání ID složek
Získání ID složek leze provést přes servisní konzoli v TASu (https://your_tas.app/administration/service-console). V rámci servisní konzole lze používat i další příkazy viz níže.
- Otevřít Administrace => Servisní konzole a zakliknout nahoře "return"

- Nejdříve zjistíme ID složky "Doručená pošta", použijeme následujícíc funkci v servisní konzoli:
sys.msGraphListFolders(itemIndex,offset);
itemIndex | Number | index itemu (mailové schránky) z parametru cronu (0 většinou)
offset | Number | Číslo, které určuje, kde začít s načítáním dat ve výpisu. V základu ukazuje výpis prvních 10 položek. Výchozí hodnota je 0. Abych si zobrazil dalších 10, mohu použít offset.
Příklad:
sys.msGraphListFolders(0,0);
Zobrazí se výpis složek a jejich ID:

- Vykopíruji si ID složky Doručená pošta a použiji funkci pro získání podsložek (vytrvořených IN a OUT pro zpracování pošty), tím získám jejich ID, které vkládám do konfigurace:
sys.msGraphListChildFoldersFromFolder(itemIndex, folderId,offset);
itemIndex | Number | index itemu (mailové schránky) z parametru cronu (0 většinou)
folderId | String | Id slozky
offset | Number | Číslo, které určuje, kde začít s načítáním dat ve výpisu. V základu ukazuje výpis prvních 10 položek. Výchozí hodnota je 0. Abych si zobrazil dalších 10, mohu použít offset.
Příklad:
sys.msGraphListChildFoldersFromFolder(0, 'folder_id',0);

Mapování chyb ze zpracování příloh do proměnné
Pokud je aktivováno ignorování chyb při zpracování příloh, je možné namapovat výstup chyb do proměnné v TASu. Zároveň je informace o nepodařeném zpracování přílohy zalogována do případu.
V konfiguraci mapování přidejte klíč s názvem vaší cílové proměnné a hodnotou attachmentErrors:
{
"mapping": {
"nazevPromenne": "attachmentErrors"
}
}attachmentErrors. Název proměnné v TASu (levá strana) si zvolíte libovolně.Proměnná bude po zpracování obsahovat pole objektů s informacemi o přílohách, které se nepodařilo zpracovat:
[
{ "fileName": "dokument.png", "errorMessage": "Illegal file extension" },
{ "fileName": "archiv.rar", "errorMessage": "Illegal file extension" }
]
Každý objekt v poli obsahuje:
fileName— název souboru, který se nepodařilo zpracovat,errorMessage— popis chyby.
Další funkce pro práci s maily přes servisní konzoli
- sys.msGraphGetMailDetails(itemIndex, mailId);
itemIndex | Number | index itemu (mailové schránky) z parametru cronu
mailId | String | Id emailu který chcete načíst
- sys.msGraphListMailsFromFolder(itemIndex, folderId)
itemIndex | Number | index itemu (mailové schránky) z parametru cronu
folderId | String | Id složky ze které chcete vylistovat emaily
selectedFields | String | Jake vsechny prvky ma z emailu vylistovat
pageSize | Number | Počet položek, které chcete vrátit. Výchozí hodnota je 20.
offset | Number | Číslo, které určuje, kde začít s načítáním dat v číslované sadě. V základu ukzuje výpis prvních 10 položek. Výchozí hodnota je 0. Abych si zobrazil dalších 10, mohu použít offset.
- sys.msGraphMoveMail(itemIndex, mailId,toFolderId);
itemIndex | Number | index itemu (mailové schránky) z parametru cronu
mailId | String | Id emailu který chcete přesunout
toFolderId | String | Id slozky kam chcete přesunout
- sys.msGraphSetEmailAsRead(itemIndex, mailId);
itemIndex | Number | index itemu (mailové schránky) z parametru cronu
mailId | String | Id emailu který chcete označit jako přečtený
- sys.msGraphSetEmailAsUnread(itemIndex, mailId);
itemIndex | Number | index itemu (mailové schránky) z parametru cronu
mailId | String | Id emailu který chcete označit jako nepřečtený
Updated
by Frantisek Brych