b8ff9d96ccc7228d3ce8984a675d3b4621addd01
[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 _0x64a5=['isNil','interaction','UserId','info','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','contact','format','YYYY-MM-DD\x20HH:mm:ss','sms','channel','whatsapp','phone','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','created','isEmpty','body','getMustacheRender','Message','create','[%s][DIALOGFLOW]\x20%s','stringify','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','then','dialogflow','result','fulfillment','speech','providerName','providerResponse','metadata','endConversation','next','catch','error','lodash','moment','apiai-promise','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage'];(function(_0x47a914,_0x4a62f8){var _0x59cecd=function(_0x507090){while(--_0x507090){_0x47a914['push'](_0x47a914['shift']());}};_0x59cecd(++_0x4a62f8);}(_0x64a5,0xc6));var _0x564a=function(_0x217832,_0x34fdea){_0x217832=_0x217832-0x0;var _0x5c0a8b=_0x64a5[_0x217832];return _0x5c0a8b;};'use strict';var _=require(_0x564a('0x0'));var moment=require(_0x564a('0x1'));var apiai=require(_0x564a('0x2'));var md5=require('md5');var utils=require(_0x564a('0x3'));var logger=require('../../../../config/logger')(_0x564a('0x4'));var rpc={'chatMessage':require(_0x564a('0x5')),'openchannelMessage':require(_0x564a('0x6')),'mailMessage':require(_0x564a('0x7')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x564a('0x8')),'whatsappMessage':require(_0x564a('0x9'))};exports['consequence']=function(_0xdfaadc,_0x28c32e){return function(_0x1ca26d){try{if(!_[_0x564a('0xa')](this[_0x564a('0xb')][_0x564a('0xc')])){logger[_0x564a('0xd')]('[%s][DIALOGFLOW]\x20%s',_0xdfaadc,_0x564a('0xe'));return _0x1ca26d['next']();}var _0xe755fe={'ContactId':this[_0x564a('0xf')]['id'],'sentAt':moment()[_0x564a('0x10')](_0x564a('0x11')),'direction':'out'};if(this['channel']===_0x564a('0x12')||this[_0x564a('0x13')]===_0x564a('0x14')){_0xe755fe[_0x564a('0x15')]=this[_0x564a('0xb')][_0x564a('0x15')];}var _0x44aeed=this['channel'];if(_0x44aeed===_0x564a('0x16')){_0xe755fe[_0x564a('0x17')]=this[_0x564a('0x18')]['id'];}else{_0xe755fe[_[_0x564a('0x19')](_0x44aeed)+_0x564a('0x1a')]=this[_0x564a('0x18')]['id'];}_0xe755fe[_['upperFirst'](_0x44aeed)+_0x564a('0x1b')]=this['interaction']['id'];if(this['interaction'][_0x564a('0x1c')]){var _0x8342fd=_0x28c32e[0x2];if(!_[_0x564a('0x1d')](_0x8342fd)){_0xe755fe[_0x564a('0x1e')]=utils[_0x564a('0x1f')](_0x8342fd,this);return rpc[_0x44aeed+_0x564a('0x20')][_0x564a('0x21')](_0xe755fe)['then'](function(_0x4be127){logger[_0x564a('0xd')](_0x564a('0x22'),_0xdfaadc,_0xe755fe[_0x564a('0x1e')]);})['catch'](function(_0x3c8f19){logger['error'](_0x564a('0x22'),_0xdfaadc,JSON[_0x564a('0x23')](_0x3c8f19));})['finally'](function(){logger['info']('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0xdfaadc);_0x1ca26d[_0x564a('0x24')]();});}else{logger[_0x564a('0xd')](_0x564a('0x25'),_0xdfaadc);_0x1ca26d[_0x564a('0x24')]();}}else{var _0x4b43a1=this;var _0x1bd8f2=apiai(_0x28c32e[0x0],{'language':_0x28c32e[0x1]||'en'});return _0x1bd8f2[_0x564a('0x26')](this[_0x564a('0x27')]['body'],{'sessionId':md5(this[_0x564a('0xb')]['id'])})[_0x564a('0x28')](function(_0x21dbad){_0x4b43a1[_0x564a('0x1e')][_0x564a('0x29')]=_0x21dbad;_0xe755fe[_0x564a('0x1e')]=_0x21dbad[_0x564a('0x2a')][_0x564a('0x2b')][_0x564a('0x2c')];_0xe755fe[_0x564a('0x2d')]=_0x564a('0x29');_0xe755fe[_0x564a('0x2e')]=JSON[_0x564a('0x23')](_0x21dbad);return rpc[_0x44aeed+_0x564a('0x20')][_0x564a('0x21')](_0xe755fe)['then'](function(_0x466f3f){logger[_0x564a('0xd')](_0x564a('0x22'),_0xdfaadc,_0xe755fe[_0x564a('0x1e')]);if(_0x21dbad[_0x564a('0x2a')][_0x564a('0x2f')][_0x564a('0x30')]){_0x1ca26d[_0x564a('0x31')]();}else{_0x1ca26d[_0x564a('0x24')]();}})[_0x564a('0x32')](function(_0x333286){logger[_0x564a('0x33')](_0x564a('0x22'),_0xdfaadc,JSON['stringify'](_0x333286));_0x1ca26d['next']();});})[_0x564a('0x32')](function(_0x1dc840){logger[_0x564a('0x33')](_0x564a('0x22'),_0xdfaadc,_0x1dc840['message']);_0x1ca26d[_0x564a('0x31')]();});}}catch(_0x31a20c){logger['error'](_0x564a('0x22'),_0xdfaadc,JSON[_0x564a('0x23')](_0x31a20c));_0x1ca26d[_0x564a('0x24')]();}};};