In het HTTP request object is het mogelijk om gegevens door te sturen naar een extern systeem. Dit kan als verzoek per klant of een selectie van klanten per verzoek, voor het laatste voorbeeld is deze Smarty oplossing benodigd.
Hieronder een voorbeeld flow waarin $customerSelection gebruikt kan worden:
De $customerSelection kan benaderd worden met behulp van een foreach-statement, zie onderstaand voorbeeld:
Foreach voorbeeld met customerSelection
{{strip}}
[
{{foreach from=$customerSelection item=customerItem name=customerLoop}}
{
"id": "{{$customerItem.id}}",
"email": "{{$customerItem.emailaddress}}",
"firstname": "{{$customerItem.firstname}}",
"address": "{{$customerItem.address}}",
"hash": "{{$customerItem.customerOption.E11}}",
"campaignOption": "{{$customerItem.campaignOption.F11}}"
}
{{if !$smarty.foreach.customerLoop.last}},{{/if}}
{{/foreach}}
]
{{/strip}}
Uitkomst:
[
{
"id": "1",
"email": "customer1@domain.com",
"firstname": "Anton",
"address": "Amersfoortseweg",
"hash": "6d5b53d0-140a-11ee-be56-0242ac120002",
"campaignOption": "Website"
},
{
"id": "2",
"email": "customer2@domain.com",
"firstname": "William",
"address": "Kalkoenstraat",
"hash": "869420fc-140a-11ee-be56-0242ac120002",
"campaignOption": "Store"
},
{
"id": "3",
"email": "customer3@domain.com",
"firstname": "Carl",
"address": "Krommestraat",
"hash": "8d3d95d2-140a-11ee-be56-0242ac120002",
"campaignOption": "Website"
}
]
Tip: Veldnamen
Om er achter te komen welke veldnaam gehanteerd moet worden voor specifieke systeemvelden, dan kan je in een email of page eenvoudig de variabele invoegen;
Selecteer invoegen en het gewenste systeemveld, in dit voorbeeld een klantveld:
Selecteer het gewenste klantveld en bevestig het dialoog:
Kopieer de veldnaam in de Smarty variabele: