Ambiente
Adobe Campaign Adobe Campaign Classic
Problema
Retornos de chamada de interação 0 apresentações quando maxCount
está definido como 0008 ou mais do que isso na carga SOAP.
Causa
Na carga abaixo, a variável urn:maxCount00008/urn:maxCount
A tag assume um valor numérico.
Se você usar um 0 funciona normalmente até 0007 (ou 0000,0001,0002,…0007 trabalhe normalmente)
Mas se você usar 0008 e acima, retorna 0 propostas.
Carga da 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:targetIdrandom/urn:targetId--
!-Account Id-
urn:targetIdrandom/urn:targetId
!--Contact Id
urn:targetIdrandom/urn:targetId--
urn:maxCount00008/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
Endpoint:
https://Server URL/interaction/liveRcp/offer
Causa
Ao verificar o Interaction.js
biblioteca, a parseInt()
é usada para analisar a variável maxCount
para Número inteiro.
Essa parseInt()
retorna um valor decimal por padrão.
var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString());*
Essa função JS herda uma propriedade de C e C++ que se você passar um valor em parseInt()
que começa com 0, usa 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ê passa 8 em vez de 0008, resulta em apresentação na resposta à chamada SOAP.
Solução
Modifique o Interaction.js
biblioteca e uso:
var iAskedPropositionCount = parseInt(soapMethod.::maxCount.toString(),10);*
para que funcione para todos os números.