MS Graph - konfirurace cronu

Základní postup nastavení schránky naleznete zde.

Konfigurace MS Graph cronu MsGraphCreateProcessesFromMailCron.js:

V emailové schránce je potřeba povolit přístup pro MS Graph ke schránkám, kam chci přistupovat.
V případě potřeby pro přístup do více schránek v rámci cronu stačí vytvořit v "items" další objekt s konfigurací.
Pro správnou funkci schránky jsou vyžadovány dvě složky – složka pro vstupní (SYCA_IN) a složka pro výstupní poštu (SYCA_OUT). Jejich názvy nejsou pevně dány, avšak obě musí být umístěny jako podsložky doručené pošty. Pro automatické třídění příchozí pošty do těchto složek doporučujeme v Outlooku nastavit příslušná pravidla, například na základě příjemce zprávy.
{
"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.

  1. Otevřít Administrace => Servisní konzole a zakliknout nahoře "return"
  1. 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:

  1. 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"
}
}

Hodnota (pravá strana) musí být vždy přesně 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

Tyto funkce se mohou hodit při testování nebo pokud nemáte přímý přístup do schránky. Není nutné je používat pro základní nastavení.
  • 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ý

Frantisek Brych Updated by Frantisek Brych

MS Graph - příprava schránky

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)