Mirror Page Generation - deliveryPartId

Avatar

Avatar

ovot

Avatar

ovot

ovot

20-02-2020

Hi,

 

In ACC, the out-of-the-box personalization block that's used for inserting the mirror page url in a delivery looks like this:

 

 

 

<%@ value object="provider" xpath="@mirrorURL" %>/nl/jsp/m.jsp?c=<%=escapeUrl(cryptString(message.deliveryPartId.toString(16)+'|'+message.id.toString(16)))%>

 

 

 

While the message.id is basically the broadLog id of a given delivery, I cannot understand where the message.deliveryPartId comes from, nor how can I retrieve that from an existing table, outside a delivery object.

 

My goal is to recreate the GetMirrorURL() function that's available as part of the nms.delivery schema, and use this in a javascript activity inside a workflow - I have to retrieve several hundreds of thousands of mirror pages per day.

 

Any suggestions on where can I retrieve that from? My intuition tells me it's the remote broad log id that exists on the midsource.

 

p.s.: I have tried the suggestion of @wodnicki  in this post and it doesn't seem to work.

 

 

Thanks.

adobe campaign classic mirror page link function deliveryPartId

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Venu_Reddy

MVP

Avatar

Venu_Reddy

MVP

Venu_Reddy
MVP

20-02-2020

Hi @ovot, The message.deliverypartid comes from the below path Delivery action part (nms: deliveryPart) --> Message (message) --> Part identifier (@deliveryPartId) Here nms: delivery Part is schema Message is linked to above schema @deliveryPartId is the attribute Hope you got the solution. Regards, Venu

Answers (2)

Answers (2)

Avatar

Avatar

wodnicki

MVP

Avatar

wodnicki

MVP

wodnicki
MVP

24-02-2020

Hi,

 

There are at least 3 formats for the mirror url. In a recent build (9032) I see the same fields as in the personalization block you pasted:

<%=escapeUrl(cryptString(message.deliveryPartId.toString(16)+'|'+message.id.toString(16)))%>

 

 Here message.deliveryPartId refers to nms:mirrorPageInfo/@id, on the sending instance.

 

Thanks,

-Jon

Avatar

Avatar

Milan_Vucetic

MVP

Avatar

Milan_Vucetic

MVP

Milan_Vucetic
MVP

20-02-2020

Hi @ovot ,

 

you can use JS activity inside a workflow for example:

 

var url = nms.delivery.GetMirrorURL(000000001,"00000002")

 

000000001 is the delivery id

00000002  is the broadlogId (not the messageID) - passed as string in quotes

 

If you need to use it within variables:

instance.vars.deliveryId = 000000001

instance.vars.broadlogId = 00000002

instance.vars.broadlogId = instance.vars.broadlogId.toString()

 

var url = nms.delivery.GetMirrorURL(instance.vars.deliveryId,instance.vars.broadlogId)

 

Regards,

Milan