Veamos ahora un ejemplo de intercambio de estos mensajes: Realizamos una petición con loyaltyValidation y el cliente no existe:
<message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" > <customer-add seq="1" id="10090504" type="test" limitedBenefits="5b7044246491fa1604a6d15b:200.00;" /> </message>
{ "message": { "companyId": "napse", "store": "1", "terminal": "10", "date-time": "2018-08-09 10:51:50", "init-tck": "true", "messageId": "1", "void-trx": "false", "response": "true", "status": "loyaltyValidation", "evaluate": "true", "offline": "false", "customer-add": [{ "seq": "1", "id": "10090504", "type": "test", "limitedBenefits": "5b7044246491fa1604a6d15b:200.00;" }] } }
2.La respuesta entrega valores por defecto:
<message ack="0" companyId="napse" engine="6.4.6" mapversion="1" messageId="1" store="1" terminal="10" transaction="napse_1_10_20180809105150"> <loyalty> <loyaltycards/> <coupons/> <errors/> <customers> <customer code="10090504" email="-" identifier="-" lastName="-" limitedBenefits="" name="-" segment="" seq="1"/> </customers> </loyalty> </message>
{ "message": { "ack": "0", "companyId": "napse", "engine": "6.4.6", "mapversion": "1", "messageId": "1", "store": "1", "terminal": "10", "transaction": "napse_1_10_20180809105150", "loyalty": { "loyaltycards": {}, "coupons": {}, "errors": {}, "customers": { "customer": [{ "code": "10090504", "email": "-", "identifier": "-", "lastName": "-", "limitedBenefits": "", "name": "-", "segment": "", "seq": "1" }] }, "redeemTable": {} } } }
En este caso enviamos datos del cliente pero no completamos todos los campos necesarios: <message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" > <customer-add seq="1" id="10090504" identifier="10090504" type="test" limitedBenefits="5b7044246491fa1604a6d15b:200.00;" name="pepe" lastName="rodrigues" identifierType="cpf" /> </message>
{ "message": { "companyId": "napse", "store": "1", "terminal": "10", "date-time": "2018-08-09 10:51:50", "init-tck": "true", "messageId": "1", "void-trx": "false", "response": "true", "status": "loyaltyValidation", "evaluate": "true", "offline": "false", "customer-add": [{ "seq": "1", "id": "10090504", "identifier": "10090504", "type": "test", "limitedBenefits": "5b7044246491fa1604a6d15b:200.00;", "name": "pepe", "lastName": "rodrigues", "identifierType": "cpf" }] } }
La respuesta aun contiene datos por defecto:
<message ack="0" companyId="napse" engine="6.4.6" mapversion="1" messageId="1" store="1" terminal="10" transaction="napse_1_10_20180809105150"> <loyalty> <loyaltycards/> <coupons/> <errors/> <customers> <customer code="10090504" email="-" identifier="10090504" lastName="rodrigues" limitedBenefits="" name="pepe" segment="" seq="1"/> </customers> </loyalty></message>
{ "message": { "ack": "0", "companyId": "napse", "engine": "6.4.6", "mapversion": "1", "messageId": "1", "store": "1", "terminal": "10", "transaction": "napse_1_10_20180809105150", "loyalty": { "loyaltycards": {}, "coupons": {}, "errors": {}, "customers": { "customer": [{ "code": "10090504", "email": "-", "identifier": "10090504", "lastName": "rodrigues", "limitedBenefits": "", "name": "pepe", "segment": "", "seq": "1" }] }, "redeemTable": {} } } }
Ahora enviamos TODOS los datos obligatorios para que el cliente sea creado
<message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" > <customer-add seq="1" id="10090504" identifier="10090504" type="test" limitedBenefits="5b7044246491fa1604a6d15b:200.00;" name="pepe" lastName="rodrigues" identifierType="cpf" email="pepe@test.com" /> </message>
{ "message": { "companyId": "napse", "store": "1", "terminal": "10", "date-time": "2018-08-09 10:51:50", "init-tck": "true", "messageId": "1", "void-trx": "false", "response": "true", "status": "loyaltyValidation", "evaluate": "true", "offline": "false", "customer-add": [{ "seq": "1", "id": "10090504", "identifier": "10090504", "type": "test", "limitedBenefits": "5b7044246491fa1604a6d15b:200.00;", "name": "pepe", "lastName": "rodrigues", "identifierType": "cpf", "email": "pepe@test.com" }] } }
La respuesta es: <?xml version="1.0" encoding="UTF-8"?> <message ack="0" companyId="napse" engine="6.4.6" mapversion="1" messageId="1" store="1" terminal="10" transaction="napse_1_10_20180809105150"> <loyalty> <loyaltycards/> <coupons/> <errors/> <customers> <customer code="10090504" email="pepe@test.com" identifier="10090504" lastName="rodrigues" limitedBenefits="" name="pepe" segment="" seq="1"/> </customers> </loyalty> </message>
{ "message": { "ack": "0", "companyId": "napse", "engine": "6.4.6", "mapversion": "1", "messageId": "1", "store": "1", "terminal": "10", "transaction": "napse_1_10_20180809105150", "loyalty": { "loyaltycards": {}, "coupons": {}, "errors": {}, "customers": { "customer": [{ "code": "10090504", "email": "pepe@test.com", "identifier": "10090504", "lastName": "rodrigues", "limitedBenefits": "", "name": "pepe", "segment": "", "seq": "1" }] }, "redeemTable": {} } } }
Ahora vamos a enviar el mensaje que enviamos en el punto 1, el cual tiene solo los datos básicos del cliente y por el cual en el punto 1 nos retornaba valores por defecto (el cliente no era conocido) mientras que ahora nos tendría que retornar todos los datos que ya conocemos y creamos en el punto 3. <message companyId="napse" store="1" terminal="10" date-time="2018-08-09 10:51:50" init-tck="true" messageId="1" void-trx="false" response="true" status="loyaltyValidation" evaluate="true" offline="false" > <customer-add seq="1" id="10090504" type="test" limitedBenefits="" /> </message>
{ "message": { "companyId": "napse", "store": "1", "terminal": "10", "date-time": "2018-08-09 10:51:50", "init-tck": "true", "messageId": "1", "void-trx": "false", "response": "true", "status": "loyaltyValidation", "evaluate": "true", "offline": "false", "customer-add": [{ "seq": "1", "id": "10090504", "type": "test", "limitedBenefits": "" }] } }
La respuesta efectivamente es:
<?xml version="1.0" encoding="UTF-8"?> <message ack="0" companyId="napse" engine="6.4.6" mapversion="1" messageId="1" store="1" terminal="10" transaction="napse_1_10_20180809105150"> <loyalty> <loyaltycards/> <coupons/> <errors/> <customers> <customer code="10090504" email="pepe@test.com" identifier="10090504" lastName="rodrigues" limitedBenefits="" name="pepe" segment="" seq="1"/> </customers> </loyalty> </message>
{ "message": { "ack": "0", "companyId": "napse", "engine": "6.4.6", "mapversion": "1", "messageId": "1", "store": "1", "terminal": "10", "transaction": "napse_1_10_20180809105150", "loyalty": { "loyaltycards": {}, "coupons": {}, "errors": {}, "customers": { "customer": [{ "code": "10090504", "email": "pepe@test.com", "identifier": "10090504", "lastName": "rodrigues", "limitedBenefits": "", "name": "pepe", "segment": "", "seq": "1" }] }, "redeemTable": {} } } } |