Chamada de interação que retorna 0 propostas quando maxCount é definido como 0008

Para resolver o problema de Campaign Classic em que uma chamada de interação retorna 0 propostas quando o atributo maxCount é definido como 0008 ou mais, modifique a biblioteca Interaction.js conforme descrito neste artigo.

Descrição description

Ambiente

Adobe Campaign Classic

Problema

A chamada de interação retorna propostas 0 quando o atributo maxCount está definido como 0008 ou mais do que isso na carga SOAP.

Na carga abaixo, a marca <urn:maxCount>00008</urn:maxCount> assume um valor numérico.

Se você usar um 0 à direita, ele funcionará normalmente até 0007 (ou seja, 0000,0001,0002,…0007 funcionará normalmente).

Mas se você usar 0008 e posterior, ele retornará 0 propostas.

Carga de chamada de interação:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:interaction">
<soapenv:Header/>
<soapenv:Body>
<urn:Propose>
<urn:sessiontoken/>
<!--Recipient Id
<urn:targetId>random</urn:targetId>-->
<!-Account Id->
<urn:targetId>random</urn:targetId>
<!--Contact Id
<urn:targetId>random</urn:targetId>-->
<urn:maxCount>00008</urn:maxCount>
<urn:uuid/>
<urn:nlid/>
<urn:noProp/>
<urn:categories></urn:categories>
<urn:themes/>
<urn:context>
<!-You may enter ANY elements at this point->
<context>
<interaction onCallOfferFlg="Y" orgName="to be filled"/>
</context>
</urn:context>
</urn:Propose>
</soapenv:Body>
</soapenv:Envelope>

Ponto de extremidade:

https://<Server URL>/interaction/liveRcp/<offer>

Causa

Ao verificar a biblioteca Interaction.js, a função parseInt() é usada para analisar o valor maxCount como Integer.

Esta função parseInt() retorna um valor decimal por padrão.

var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString());*

Esta função JS herda uma propriedade de C e C++ que, se você passar um valor em parseInt(), que começa com 0, ela usará base-8 para retornar o valor.

Como base 8 não aceita números maiores que 7, quando você passa 0008 ou mais, ele o converte em 0 ou NaN, portanto, nenhuma proposta é retornada.

Se em maxCount, você passar 8 em vez de 0008, o resultado será uma apresentação na resposta à chamada SOAP.

Resolução resolution

Modifique a biblioteca Interaction.js e use:

var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString(),10);*

para que funcione para todos os números.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f