Built motion from commit 5293bb2a.|2.6.30
[motion2.git] / server / services / routing / server / applications / dialogflow.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xc627=['dialogflow','result','fulfillment','speech','providerName','providerResponse','stringify','Message','create','metadata','endConversation','next','moment','apiai-promise','md5','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','UserId','info','[%s][DIALOGFLOW]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','format','out','channel','sms','whatsapp','phone','interaction','chat','ChatWebsiteId','account','upperFirst','AccountId','created','isEmpty','body','getMustacheRender','then','catch','error','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','stop','textRequest','message'];(function(_0x40ac5e,_0x2de228){var _0x2839d6=function(_0x123d47){while(--_0x123d47){_0x40ac5e['push'](_0x40ac5e['shift']());}};_0x2839d6(++_0x2de228);}(_0xc627,0x14a));var _0x7c62=function(_0x46cb73,_0x2d7c66){_0x46cb73=_0x46cb73-0x0;var _0x49fd1a=_0xc627[_0x46cb73];return _0x49fd1a;};'use strict';var _=require('lodash');var moment=require(_0x7c62('0x0'));var apiai=require(_0x7c62('0x1'));var md5=require(_0x7c62('0x2'));var utils=require('./utils');var logger=require(_0x7c62('0x3'))(_0x7c62('0x4'));var rpc={'chatMessage':require(_0x7c62('0x5')),'openchannelMessage':require(_0x7c62('0x6')),'mailMessage':require(_0x7c62('0x7')),'smsMessage':require(_0x7c62('0x8')),'faxMessage':require(_0x7c62('0x9')),'whatsappMessage':require(_0x7c62('0xa'))};exports[_0x7c62('0xb')]=function(_0x43f964,_0x110f39){return function(_0x29705f){try{if(!_['isNil'](this['interaction'][_0x7c62('0xc')])){logger[_0x7c62('0xd')](_0x7c62('0xe'),_0x43f964,_0x7c62('0xf'));return _0x29705f['next']();}var _0x598a4a={'ContactId':this['contact']['id'],'sentAt':moment()[_0x7c62('0x10')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x7c62('0x11')};if(this[_0x7c62('0x12')]===_0x7c62('0x13')||this[_0x7c62('0x12')]===_0x7c62('0x14')){_0x598a4a[_0x7c62('0x15')]=this[_0x7c62('0x16')][_0x7c62('0x15')];}var _0x396162=this[_0x7c62('0x12')];if(_0x396162===_0x7c62('0x17')){_0x598a4a[_0x7c62('0x18')]=this[_0x7c62('0x19')]['id'];}else{_0x598a4a[_[_0x7c62('0x1a')](_0x396162)+_0x7c62('0x1b')]=this['account']['id'];}_0x598a4a[_[_0x7c62('0x1a')](_0x396162)+'InteractionId']=this[_0x7c62('0x16')]['id'];if(this['interaction'][_0x7c62('0x1c')]){var _0x88c410=_0x110f39[0x2];if(!_[_0x7c62('0x1d')](_0x88c410)){_0x598a4a[_0x7c62('0x1e')]=utils[_0x7c62('0x1f')](_0x88c410,this);return rpc[_0x396162+'Message']['create'](_0x598a4a)[_0x7c62('0x20')](function(_0x4841b8){logger[_0x7c62('0xd')](_0x7c62('0xe'),_0x43f964,_0x598a4a[_0x7c62('0x1e')]);})[_0x7c62('0x21')](function(_0x30bdea){logger[_0x7c62('0x22')]('[%s][DIALOGFLOW]\x20%s',_0x43f964,JSON['stringify'](_0x30bdea));})[_0x7c62('0x23')](function(){logger[_0x7c62('0xd')](_0x7c62('0x24'),_0x43f964);_0x29705f['stop']();});}else{logger[_0x7c62('0xd')](_0x7c62('0x25'),_0x43f964);_0x29705f[_0x7c62('0x26')]();}}else{var _0x43c0fb=this;var _0xd49d53=apiai(_0x110f39[0x0],{'language':_0x110f39[0x1]||'en'});return _0xd49d53[_0x7c62('0x27')](this[_0x7c62('0x28')]['body'],{'sessionId':md5(this[_0x7c62('0x16')]['id'])})[_0x7c62('0x20')](function(_0x37d960){_0x43c0fb[_0x7c62('0x1e')][_0x7c62('0x29')]=_0x37d960;_0x598a4a[_0x7c62('0x1e')]=_0x37d960[_0x7c62('0x2a')][_0x7c62('0x2b')][_0x7c62('0x2c')];_0x598a4a[_0x7c62('0x2d')]=_0x7c62('0x29');_0x598a4a[_0x7c62('0x2e')]=JSON[_0x7c62('0x2f')](_0x37d960);return rpc[_0x396162+_0x7c62('0x30')][_0x7c62('0x31')](_0x598a4a)[_0x7c62('0x20')](function(_0x364971){logger[_0x7c62('0xd')](_0x7c62('0xe'),_0x43f964,_0x598a4a['body']);if(_0x37d960[_0x7c62('0x2a')][_0x7c62('0x32')][_0x7c62('0x33')]){_0x29705f[_0x7c62('0x34')]();}else{_0x29705f[_0x7c62('0x26')]();}})[_0x7c62('0x21')](function(_0x984d3e){logger[_0x7c62('0x22')]('[%s][DIALOGFLOW]\x20%s',_0x43f964,JSON[_0x7c62('0x2f')](_0x984d3e));_0x29705f['next']();});})[_0x7c62('0x21')](function(_0x31996c){logger[_0x7c62('0x22')](_0x7c62('0xe'),_0x43f964,_0x31996c['message']);_0x29705f[_0x7c62('0x34')]();});}}catch(_0x2b4c11){logger[_0x7c62('0x22')]('[%s][DIALOGFLOW]\x20%s',_0x43f964,JSON['stringify'](_0x2b4c11));_0x29705f[_0x7c62('0x26')]();}};};