コード例 #1
0
 def create(campaignType, testControlType, payload=None, startDate=None, endDate=None, description=None,
            testControlPercentage=None, name=None, updateNode=False, lockNode=False):
     if not CreateCampaign.checkCampaignAvialable(campaignType, testControlType) or updateNode:
         endpoint = IrisHelper.constructUrl('createcampaign')
         payload = CreateCampaign.constructPayload(campaignType, startDate, endDate, description, testControlType,
                                                   testControlPercentage, name) if payload is None else payload
         response = IrisHelper.constructResponse(
             Utils.makeRequest(url=endpoint, data=payload, auth=IrisHelper.constructAuthenticate(),
                               headers=IrisHelper.constructHeaders(), method='POST')
         )
         if response['statusCode'] == 200:
             CreateCampaign.validateCreateCampaign(response)
             if not lockNode: CreateCampaign.updateNodeCampaign(campaignType, testControlType,
                                                                response['json']['entity']['campaignId'],
                                                                payload['name'], payload)
             if campaignType == 'LAPSED': time.sleep(25)  # Wait to make Campaign Lapsed
             return {
                 'ID': response['json']['entity']['campaignId'],
                 'NAME': payload['name'],
                 'PAYLOAD': payload
             }
         else:
             return {
                 'RESPONSE': response,
                 'PAYLOAD': payload
             }
     else:
         return constant.config['node'][campaignType][testControlType]['CAMPAIGN']
コード例 #2
0
    def getObjectives():
        campaignObjectivesEndpoint = IrisHelper.constructUrl('campaignobjectives')

        response = Utils.makeRequest(url=campaignObjectivesEndpoint, data='',
                                 auth=IrisHelper.constructAuthenticate(),
                                 headers=IrisHelper.constructHeaders(), method='GET')
        return {'RESPONSE': IrisHelper.constructResponse(response)}
コード例 #3
0
    def updateCampaign(afterUpdatepayload,
                       campaignType=['LIVE', 'ORG'],
                       campaignId=None,
                       process='update'):
        beforeUpdateResponse, beforeUpdatePayload = {}, {}
        if campaignId == None:
            beforeUpdateResponse, beforeUpdatePayload = campaigns.createCampaign(
                {'name': 'IRIS_UPDATE_CAMPAIGN' + str(int(time.time()))},
                campaignTypeParams=campaignType)
            campaignId = beforeUpdateResponse['json']['entity']['campaignId']
            Logger.log('CampaignId Recieved : {} for campaignType : {}'.format(
                campaignId, campaignType))

        updateCampaignConstructedEndPoint = construct.constructUrl(
            'updateCampaign').replace('{campaignId}', str(campaignId))
        afterUpdateresponse = Utils.makeRequest(
            url=updateCampaignConstructedEndPoint,
            data=afterUpdatepayload,
            auth=construct.constructAuthenticate(),
            headers=construct.constructHeaders(),
            method='PUT')
        if afterUpdateresponse.status_code == 200:
            beforeUpdatePayload.update(afterUpdatepayload)
            constant.campaignDefaultValues[campaignType[0]][
                campaignType[1]]['Value'].update(
                    {'payload': beforeUpdatePayload})

        return construct.constructResponse(
            afterUpdateresponse
        ), beforeUpdateResponse, afterUpdatepayload, beforeUpdatePayload
コード例 #4
0
 def getMessageVariantById(campaignId, variantId):
     endpoint = IrisHelper.constructUrl('getmessagevariant').replace('{campaignId}', str(campaignId)).replace(
         '{variantId}',
         variantId)
     response = Utils.makeRequest(url=endpoint, data='', auth=IrisHelper.constructAuthenticate(),
                                  headers=IrisHelper.constructHeaders(), method='GET')
     return IrisHelper.constructResponse(response)
コード例 #5
0
ファイル: list.py プロジェクト: anupsl/pyApps
    def addRecipient(payloadData,
                     campaignId,
                     listId,
                     userType='mobile',
                     numberOfUsers=1,
                     numberOfCustomTags=0,
                     process='update',
                     newUser=True):
        campaignList.updateRechabilityBeforeEachRun()
        addRecipientConstructedEndPoint = construct.constructUrl(
            'addrecipient').replace('{campaignId}', str(campaignId)).replace(
                '{listId}', str(listId))

        payload = {}
        if len(payloadData) == 0:
            Logger.log(
                'Constructing Payload for userType {}, for numberOfusers {} and customCount {}'
                .format(userType, numberOfUsers, numberOfCustomTags))
            if newUser == True:
                payload = construct.constructAddRecipientPayload(
                    userType, numberOfUsers, numberOfCustomTags)
            else:
                payload = construct.constructAddRecipientPayloadForOldUsers(
                    userType, numberOfUsers, numberOfCustomTags)
        else:
            Logger.log('Constructing Payload as a Generic Way :', payloadData)
            payload = construct.constructBody(payloadData, process,
                                              'addrecipient')

        response = Utils.makeRequest(url=addRecipientConstructedEndPoint,
                                     data=payload,
                                     auth=construct.constructAuthenticate(),
                                     headers=construct.constructHeaders(),
                                     method='POST')
        return construct.constructResponse(response), payload
コード例 #6
0
ファイル: campaignShardHelper.py プロジェクト: anupsl/pyApps
 def getS3Info(uuid):
     endPoint = construct.constructUrl('s3info', module='arya').format(uuid)
     response = Utils.makeRequest(endPoint,
                                  '',
                                  CampaignShardHelper.constructHeader(),
                                  'GET',
                                  timeout=120)
     return response.json()
コード例 #7
0
 def getMessageAll(campaignId, queryParam=[]):
     endpoint = IrisHelper.constructUrl('getmessage', queryParam=queryParam).replace('{campaignId}',
                                                                                     str(campaignId)).replace(
         '{messageId}',
         '')
     response = Utils.makeRequest(url=endpoint, data='', auth=IrisHelper.constructAuthenticate(),
                                  headers=IrisHelper.constructHeaders(), method='GET')
     return IrisHelper.constructResponse(response)
コード例 #8
0
ファイル: message.py プロジェクト: anupsl/pyApps
    def replyMessage(self):
        getReplyMessasgeListConstructedEndPoint = construct.constructUrl('getreplymessagelist').format(str(self.campaignId))
        skippedErrorIds = []
        response = Utils.makeRequest(url=getReplyMessasgeListConstructedEndPoint, data='', auth=construct.constructAuthenticate(), headers=construct.constructHeaders(), method='GET')
        responseEntity = construct.constructResponse(response)['json']['entity']
        for error in responseEntity:
            messageId = error['messageId']
            if self.commDetailsId == messageId:
                for errorDetails in error['errorDetails']:
                    skippedErrorIds.append(errorDetails['errorId'])
                    Logger.log('Error Details Id: {}, Description: {}, Count: {}: '.format(errorDetails['errorId'],errorDetails['errorDescription'],errorDetails['errorCount']))

                replyMessasgeConstructedEndPoint = construct.constructUrl('replymessage').format(str(self.campaignId), str(messageId))
                payloadData = {'skippedErrors' : skippedErrorIds}
                response = Utils.makeRequest(url=replyMessasgeConstructedEndPoint, data=payloadData, auth=construct.constructAuthenticate(), headers=construct.constructHeaders(), method='POST')
                Logger.log('Response of MessageId {} Replied and Response : {}'.format(messageId, construct.constructResponse(response)))
        return construct.constructResponse(response)
コード例 #9
0
ファイル: campaignShardHelper.py プロジェクト: anupsl/pyApps
 def gettestData(module):
     endPoint = 'http://apitester.capillary.in/apitest_app/testData?module={}&cluster={}&orgId={}'.format(
         module, constant.config['cluster'], constant.config['orgId'])
     response = Utils.makeRequest(url=endPoint,
                                  headers='',
                                  body='',
                                  method='GET')
     return response['message']
コード例 #10
0
 def approveWithCampaignAndMessageId(campaignId, messageId):
     endPoint = IrisHelper.constructUrl('approvemessage').replace(
         '{campaignId}', str(campaignId)).replace('{msgId}', messageId)
     return IrisHelper.constructResponse(
         Utils.makeRequest(url=endPoint,
                           data=None,
                           auth=IrisHelper.constructAuthenticate(),
                           headers=IrisHelper.constructHeaders(),
                           method='POST'))
コード例 #11
0
 def checkExists(campaignName):
     checkExistsEndpoint = IrisHelper.constructUrl(
         'checkcampaignexists').replace('{name}', campaignName)
     response = Utils.makeRequest(url=checkExistsEndpoint,
                                  data='',
                                  auth=IrisHelper.constructAuthenticate(),
                                  headers=IrisHelper.constructHeaders(),
                                  method='GET')
     return IrisHelper.constructResponse(response)
コード例 #12
0
 def getOnboardingStatus(orgId):
     orgOnboardingStatusEndpoint = IrisHelper.constructUrl(
         'orgonboadringstatus').replace('{orgId}', orgId)
     response = Utils.makeRequest(url=orgOnboardingStatusEndpoint,
                                  data='',
                                  auth=IrisHelper.constructAuthenticate(),
                                  headers=IrisHelper.constructHeaders(),
                                  method='GET')
     return {'RESPONSE': IrisHelper.constructResponse(response)}
コード例 #13
0
    def getOrgV2Status():
        orgStatusEndpoint = IrisHelper.constructUrl('orgv2status')

        response = Utils.makeRequest(url=orgStatusEndpoint,
                                     data='',
                                     auth=IrisHelper.constructAuthenticate(),
                                     headers=IrisHelper.constructHeaders(),
                                     method='GET')
        return {'RESPONSE': IrisHelper.constructResponse(response)}
コード例 #14
0
 def getAll(queryParam):
     endpoint = IrisHelper.constructUrl('getById',
                                        queryParam=queryParam).replace(
                                            '{group_id}', '')
     response = Utils.makeRequest(url=endpoint,
                                  data='',
                                  auth=IrisHelper.constructAuthenticate(),
                                  headers=IrisHelper.constructHeaders(),
                                  method='GET')
     return IrisHelper.constructResponse(response)
コード例 #15
0
ファイル: createMessage.py プロジェクト: anupsl/pyApps
 def start(campaignId, messageId):
     endpoint = IrisHelper.constructUrl('startmessage').replace(
         '{campaignId}', str(campaignId)).replace('{msgId}', messageId)
     response = IrisHelper.constructResponse(
         Utils.makeRequest(url=endpoint,
                           data='',
                           auth=IrisHelper.constructAuthenticate(),
                           headers=IrisHelper.constructHeaders(),
                           method='POST'))
     return response
コード例 #16
0
ファイル: authorize.py プロジェクト: anupsl/pyApps
 def makeAuthorizeRequest(campaignId, messageId):
     authorizeConstructedEndPoint = construct.constructUrl(
         'authorize').replace('{campaignId}', str(campaignId)).replace(
             '{messageId}', str(messageId))
     response = Utils.makeRequest(url=authorizeConstructedEndPoint,
                                  data='',
                                  auth=construct.constructAuthenticate(),
                                  headers=construct.constructHeaders(),
                                  method='POST')
     return construct.constructResponse(response)
コード例 #17
0
 def getLevelsForDimension(category):
     endpoint = IrisHelper.constructUrl('productcategory').replace(
         '{category}', category)
     response = IrisHelper.constructResponse(
         Utils.makeRequest(url=endpoint,
                           data='',
                           auth=IrisHelper.constructAuthenticate(),
                           headers=IrisHelper.constructHeaders(),
                           method='GET'))
     return response
コード例 #18
0
ファイル: preCheck.py プロジェクト: anupsl/pyApps
 def executePrecheck(campaignId, messageId, checkVariant=True):
     if checkVariant: PreCheck.checkVariantIsClosed(messageId)
     endpoint = IrisHelper.constructUrl('precheck').replace(
         '{campaignId}', str(campaignId)).replace('{messageId}', messageId)
     response = Utils.makeRequest(url=endpoint,
                                  data='',
                                  auth=IrisHelper.constructAuthenticate(),
                                  headers=IrisHelper.constructHeaders(),
                                  method='GET')
     return IrisHelper.constructResponse(response)
コード例 #19
0
 def getLevelValuesForDimension(urlSubstringForDimension, levelName):
     endpoint = IrisHelper.constructUrl('productlevel').replace(
         '{urlSubstringForDimension}',
         urlSubstringForDimension).replace('{levelName}', levelName)
     response = IrisHelper.constructResponse(
         Utils.makeRequest(url=endpoint,
                           data='',
                           auth=IrisHelper.constructAuthenticate(),
                           headers=IrisHelper.constructHeaders(),
                           method='GET'))
     return response
コード例 #20
0
ファイル: message.py プロジェクト: anupsl/pyApps
 def getWeCRMTemplates():
         response = Utils.makeRequest(constant.config['wecrm_details']['url'], {}, campaignMessage.constructWecrmHeader(), 'GET')
         data = json.loads(response.content)
         length = 0
         for k in data['template_list']:
             countOfkeyword = len(re.findall(r'keyword', k['content'], re.M | re.I))
             if length < countOfkeyword:
                 length = countOfkeyword
                 constant.config['templateId'] = k['template_id']
                 constant.config['templateTitle'] = k['title']
         constant.config['templateSize'] = length
コード例 #21
0
 def edit(campaignInfo,editInfo):
     payload = copy.deepcopy(campaignInfo['PAYLOAD'])
     payload.update(editInfo)
     endpoint = IrisHelper.constructUrl('editcampaign').replace('{campaignId}',str(campaignInfo['ID']))
     response = IrisHelper.constructResponse(
         Utils.makeRequest(url=endpoint, data=payload, auth=IrisHelper.constructAuthenticate(),
                           headers=IrisHelper.constructHeaders(), method='PUT')
     )
     return {
         'PAYLOAD':payload,
         'RESPONSE' : response
     }
コード例 #22
0
ファイル: createMessage.py プロジェクト: anupsl/pyApps
 def edit(campaignId, messageId, payload, editInfo=None):
     endpoint = IrisHelper.constructUrl('editmessage').replace(
         '{campaignId}', str(campaignId)).replace('{msgId}', messageId)
     if editInfo is not None:
         payload.update(editInfo)
     response = IrisHelper.constructResponse(
         Utils.makeRequest(url=endpoint,
                           data=payload,
                           auth=IrisHelper.constructAuthenticate(),
                           headers=IrisHelper.constructHeaders(),
                           method='PUT'))
     return {'RESPONSE': response, 'PAYLOAD': payload}
コード例 #23
0
ファイル: campaignSetting.py プロジェクト: anupsl/pyApps
 def updateSettings(self, updateInfo={}):
     campaignSettingsEndpoint = IrisHelper.constructUrl('campaignSettings')
     payload = CampaignSetting.constructUploadPayload(updateInfo)
     response = Utils.makeRequest(
         url=campaignSettingsEndpoint,
         data=payload,
         auth=IrisHelper.constructAuthenticate(),
         headers=IrisHelper.constructHeadersPatch(),
         method='PATCH')
     return {
         'RESPONSE': IrisHelper.constructResponse(response),
         'PAYLOAD': payload
     }
コード例 #24
0
ファイル: campaignShardHelper.py プロジェクト: anupsl/pyApps
 def savetestData(module, value):
     endPoint = 'http://apitester.capillary.in/apitest_app/testData'
     data = {
         'orgId': constant.config['orgId'],
         'cluster': constant.config['cluster'],
         'module': module,
         'value': value
     }
     response = Utils.makeRequest(url=endPoint,
                                  headers='',
                                  body=data,
                                  method='POST')
     return response['message']
コード例 #25
0
    def makeAjaxCall(couponSeriedId, isSkuUpdate=False):
        header = {
            'accept': 'application/json',
            'content-type': 'application/x-www-form-urlencoded',
            'cookie': constant.config['intouchCookie']
        }
        if isSkuUpdate:
            Logger.log('Making Ajax call to Update SKU')
            postData = "sku_values=ONEPLUS1,ONEPLUS2,ONEPLUS3"
            skuUpdateURL = constant.config['intouchUrl'] + constant.config[
                'SkuUrl'] + str(couponSeriedId)
            Utils.makeRequest(skuUpdateURL, postData, header, 'POST', '')
        else:
            Logger.log('Making Ajax call to get Brands Ids')
            brandUrl = constant.config['intouchUrl'] + constant.config[
                'brandUrl'] + str(couponSeriedId)
            result = Utils.makeRequest(brandUrl, "", header, 'GET', '').json()
            brandIds = result['items'].keys()
            constant.config['categoryIds'] = []

            brands = []
            for b in range(0, len(brandIds)):
                brands.append({"value": int(brandIds[b]), "status": "ADDED"})

            Logger.log('Making Ajax call to get Categories Ids')
            rootCategoryUrl = constant.config['intouchUrl'] + constant.config[
                'categoryUrl'] + 'root'
            rootCategoryResponse = Utils.makeRequest(rootCategoryUrl, "",
                                                     header, 'GET', '').json()
            categoryParentIds = rootCategoryResponse['members'].keys()

            category = []
            for b in range(0, len(categoryParentIds)):
                categoryUrl = constant.config['intouchUrl'] + constant.config[
                    'categoryUrl'] + categoryParentIds[b]
                categoryIdResponse = Utils.makeRequest(categoryUrl, "", header,
                                                       'GET', '').json()
                categoryIds = categoryIdResponse['members'].keys()
                for c in range(0, len(categoryIds)):
                    constant.config['categoryIds'].append(int(categoryIds[c]))
                    category.append({
                        "value": int(categoryIds[c]),
                        "status": "ADDED"
                    })

            Logger.log(
                'Making Ajax call to update Brands & Category for voucher series'
            )
            constructPostData = {'brand': brands, 'category': category}
            saveDetailsUrl = constant.config['intouchUrl'] + constant.config[
                'saveUrl'] + str(couponSeriedId)
            data = 'params=' + json.dumps(constructPostData)
            Utils.makeRequest(saveDetailsUrl, data, header, 'POST', '')
コード例 #26
0
ファイル: campaignSetting.py プロジェクト: anupsl/pyApps
    def settings(self, settingInfo={}, popField=None):
        Logger.log('Setting Info :', settingInfo)
        campaignSettingsEndpoint = IrisHelper.constructUrl('campaignSettings')
        payload = CampaignSetting.constructPayloadSetting(
            settingInfo, popField)
        response = Utils.makeRequest(url=campaignSettingsEndpoint,
                                     data=payload,
                                     auth=IrisHelper.constructAuthenticate(),
                                     headers=IrisHelper.constructHeaders(),
                                     method='POST')

        return {
            'RESPONSE': IrisHelper.constructResponse(response),
            'PAYLOAD': payload
        }
コード例 #27
0
ファイル: campaignShardHelper.py プロジェクト: anupsl/pyApps
 def createFilterList(campaignId, listName, loyaltyType='loyalty'):
     response = None
     try:
         endPoint = construct.constructUrl('filterlist',
                                           module='arya').format(
                                               str(int(time.time())))
         response = Utils.makeRequest(endPoint,
                                      CampaignShardHelper.constructPayload(
                                          campaignId, listName,
                                          loyaltyType),
                                      CampaignShardHelper.constructHeader(),
                                      'POST',
                                      timeout=300)
     except Exception, exp:
         Logger.log(
             "Exception Occured while Creating Filter List :{}".format(exp))
コード例 #28
0
ファイル: list.py プロジェクト: anupsl/pyApps
    def mergeList(payloadData={},
                  campaignId=None,
                  campaignType=['LIVE', 'ORG', 'List', 'TAGS', 0],
                  userType='mobile',
                  numberOfUsers=1,
                  numberOfCustomTags=0,
                  newUser=True,
                  process='update'):
        campaignList.updateRechabilityBeforeEachRun()
        campaignDefault = constant.campaignDefaultValues
        if campaignId == None:
            campaignIdValue = constant.campaignDefaultValues[campaignType[0]][
                campaignType[1]]['Value']
            if len(campaignIdValue['response']) == 0 and len(
                    campaignIdValue['payload']) == 0:
                response, payload = campaigns.createCampaign(
                    {}, campaignTypeParams=[campaignType[0], campaignType[1]])
                if response['statusCode'] == 200:
                    campaignId = response['json']['entity']['campaignId']
                else:
                    Assertion.constructAssertion(
                        False,
                        'Error : While Creating Campaign , Status Code : {}'.
                        format(response['statusCode']))
            else:
                campaignId = campaignIdValue['response']['json']['entity'][
                    'campaignId']

        Logger.log('CamapaignId getting used to create list :', campaignId)

        createListConstructedEndPoint = construct.constructUrl(
            'mergelist').replace('{campaignId}', str(campaignId))
        payload = {}
        if len(payloadData) == 0:
            payload = construct.constructMergeListBody(userType, numberOfUsers,
                                                       numberOfCustomTags,
                                                       newUser)
        else:
            payload = construct.constructBody(payloadData, process,
                                              'mergelist')

        response = Utils.makeRequest(url=createListConstructedEndPoint,
                                     data=payload,
                                     auth=construct.constructAuthenticate(),
                                     headers=construct.constructHeaders(),
                                     method='POST')
        return construct.constructResponse(response), payload, campaignId
コード例 #29
0
 def getCampaignById(campaignId=None, queryParam=[]):
     getCampaignConstructedEndPoint = None
     if len(queryParam) > 0:
         getCampaignConstructedEndPoint = construct.constructUrl(
             'getCampaign',
             queryParam=queryParam).replace('{campaignId}', '')
     else:
         Assertion.constructAssertion(
             campaignId != None, 'CampaignId and Query param both are None')
         getCampaignConstructedEndPoint = construct.constructUrl(
             'getCampaign').replace('{campaignId}', str(campaignId))
     response = Utils.makeRequest(url=getCampaignConstructedEndPoint,
                                  data='',
                                  auth=construct.constructAuthenticate(),
                                  headers=construct.constructHeaders(),
                                  method='GET')
     return construct.constructResponse(response)
コード例 #30
0
ファイル: dracarysHelper.py プロジェクト: anupsl/pyApps
 def s3FileDownload(self, s3FileName):
     url = constant.config['intouchUrl'] + constant.downloadS3File + str(
         Utils.getTime(milliSeconds=True))
     param = {'fileName': s3FileName}
     header = {
         'Cookie': constant.config['intouchCookie'],
         'Content-Type': 'application/json'
     }
     try:
         response = Utils.makeRequest(url=url,
                                      data=param,
                                      headers=header,
                                      method='POST')
         return response.content
     except Exception, exp:
         raise Exception(
             's3File upload failed because of errorMessage: {} and NodeAPI: {}'
             .format(exp, url))