Expand my Community achievements bar.

SOLVED

Can I compare delivery and recipient fields in typology rules ?

Avatar

Level 2

Hello,

 

We would like to add typology rules to ensure a customer from a specific country does not receive a delivery created for another country. With that in mind, I'd like to compare recipient's isoA3 with delivery's isoA3 in a typology rule.

 

For what I understand, "control" type typologies can not check recipient fields, and "filter" type typologies can not check delivery fields.

 

Is there a way to do what I need ?

 

Thank you.

Nicolas

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 2

Hi all,

 

Thanks to Adobe Campaign support, I was able to find a solution to my issue.

 

There is a hidden field currentDeliveryId in nms:recipient that is automatically filled by Adobe when a delivery is being analyzed. All I had to do is to expand nms:recipient to add a new link to nms:delivery based on this field.

 

<element integrity="neutral" label="Delivery being analyzed" name="currentDelivery" revLink="_NONE_" target="nms:delivery" type="link" visibleIf="NodeValue('/ignored/@currentDeliveryId')!=''">

        <join xpath-dst="@id" xpath-src="$long(@currentDeliveryId)"/>

</element>

 

 

After that, I am able to create a filter typology rule and navigate to the current delivery.

 

Note that the link is invisible and the path to any delivery field needs to be handwrited in the filter.

 

Have a nice day everyone,

Nicolas

View solution in original post

5 Replies

Avatar

Community Advisor

Hello @NicolasApocc ,

you will need to improvise. You can:

  • create typology for each country and then create filtering typology rule to  check against the recipien/location
  • we used to  remove all recipients from another country in the split activity directly in the workflow
  • you can add script into the delivery that check country and if the value is different just throw error this should exclude such recipients. But do mind to have error transition enabled on your delivery. In case is not then the entire delivery will fail.

 

Marcel

Avatar

Level 2

Hi Marcel,

 

We thought about your first idea (one typology per country with the country code hard coded), but we are looking for a least costing solution, in terms of development and maintainability. We will do this only if we don't find anything better.

 

Your two others solutions are unfortunately unfitting, since it needs our users to be careful when creating their contents and campaigns ; and let's say users are not always careful. That is why we are looking for a technical and global solution, independant from users.

 

Thank you however,

Nicolas

Avatar

Community Advisor

Hi @NicolasApocc ,

May I know do you have any custom link for delivery and country schema as similar to the OOTB link between recipient and Country schema? Means, how you will be getting isoA3 for a delivery?

Avatar

Level 2

Hello ParthaSarathy,

 

Yes, we expanded nms:delivery schema to add various specific fields, including isoA3 code and a link to country similar to recipient's.

 

But I was able to find a solution to my issue, I'll write it in a separate comment.

 

Nicolas

Avatar

Correct answer by
Level 2

Hi all,

 

Thanks to Adobe Campaign support, I was able to find a solution to my issue.

 

There is a hidden field currentDeliveryId in nms:recipient that is automatically filled by Adobe when a delivery is being analyzed. All I had to do is to expand nms:recipient to add a new link to nms:delivery based on this field.

 

<element integrity="neutral" label="Delivery being analyzed" name="currentDelivery" revLink="_NONE_" target="nms:delivery" type="link" visibleIf="NodeValue('/ignored/@currentDeliveryId')!=''">

        <join xpath-dst="@id" xpath-src="$long(@currentDeliveryId)"/>

</element>

 

 

After that, I am able to create a filter typology rule and navigate to the current delivery.

 

Note that the link is invisible and the path to any delivery field needs to be handwrited in the filter.

 

Have a nice day everyone,

Nicolas