I have a requirement to download the mirror link of each recipient. The link which I see on left bottom of Delivery tab of a Email Delivery.
Hello ckumari12,
The mirror page is generated for a (delivery / message) couple, so it is not unique for each recipient. It means, if you send 3 deliveries to a contact, this contact will get 3 mirror pages, one by delivery message he has been targeted for.
The mirror page is usually generated and kept for a duration defined in the delivery property (validity period). It takes resources on the web server (MTA or dedicated web server) so please take care, if you want to raise the default value, check the server resources.
If you need to do it programmatically (Javascript code), please use the GetMirrorURL method of nms:delivery, and do loops on the dedicated deliveries/messages to list them and act accordingly, for instance to write them in a file, doing a report or whatever you need.
MirrorPage is based on several fragments of messages, but it is easy to manage with the GetMirrorURL method, don't do it using the nms:MirrorPageInfo and nms:MirrorPageSearch, in my opinion.
If you know how to achieve forms (AC XML standard forms), you can manage to display a list of these URLs quite easily, by adding a tab to a delivery, or by doing a specific navtree node for displaying them. In that case, use this extract of nms:delivery xml form below, to implement your own form list convenient for your business case; the idea is to use the soapCall to GetMirrorURL and retrieve easily the information you are looking for:
<input discardReadOnly="true" img="xtk:html.png" label="Afficher la page miroir de ce message..." | |
prebuildSubForm="false" type="subFormLink" xpath="."> | |
<form img="xtk:html.png" label="Contenu de la page miroir du message sélectionné"> | |
<enter> | |
<soapCall name="GetMirrorURL" service="nms:delivery"> | |
<param exprIn="@id" type="int"/> | |
<param exprIn="[/ignored/@selectedMessage]" type="string"/> | |
<param type="string" xpathOut="/ignored/@mirrorPageUrl"/> | |
</soapCall> | |
</enter> | |
<input type="browser" urlMode="true" xpath="/ignored/@mirrorPageUrl"/> | |
</form> | |
</input> | |
<container type="visibleGroup" visibleIf="EV([mailParameters/@needMirrorPage], 'yes')"> | |
<static type="warning">Le chargement de la page miroir peut prendre un certain temps.</static> | |
</container> |
Regards
Jean-Serge
Thanks Jean for your response.
It seems I was not very clear in my question. I want to download mirror link of a delivery sent to multiple recipient. I have used GetMirrorURL method in my delivery.
For example.. I have sent an email to 10 recipients in an email delivery. So, I want to download these 10 unique mirror links sent to these 10 recipients. and later ,send SMS to these recipients with mirror link embedded into the SMS text.
Views
Replies
Total Likes
Hi ckumaril,
Please share a screenshot of your workflow, with details such as:
So we can help you on what you can't achieve correctly.
And please also tell us the AC version/build (though here I don't think it is important, it seems a misconception issue or information lacking rather than a product issue).
Thanks in advance.
Regards.
Jean-Serge
Views
Replies
Total Likes
Hi,
Below is the screenshot of the recipient who received the email in a delivery.
In this screenshot, at the bottommost we have a link "Display the mirror page for this message". When a select one recipient, I can see personalized email content. When I select another, I can see email content with personalized message of that recipient.
The browser window which opens and on right clicking and selecting the properties, I can see the URL.
This URL is different for different recipients.
I want all the URLs for all the recipients of a particular delivery.
Source of the Link to Mirror page personalization blocks :
<%
if ( document.mode != 'mirror' && document.mode != 'forward' ) { %> Images not downloading? <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">click here</A> for best view <!--</FONT></P>--><%
} %>
Views
Replies
Total Likes
Hi ckumaril,
Please read again my post of 16th Aug, I gave all indications to do it by Javascript (workflow or webApp) or SOAP call if you prefer to do it with an AC form, depending on your needs; and again on 17th Aug, about the Javascript code principle you have to write if you do by script.
On 16th Aug you wrote that you used GetMirrorURL method in your delivery, but I think you mislead a bit: in the delivery JS code that you gave today 28th Aug, it is the customization/personalisation block MirrorPageUrl (used to generate MirrorPage content on the fly), not the JS method that I was talking about.
Again, may you share your Javascript code of your workflow, if you have so ?
Regards
J-Serge
Views
Replies
Total Likes
Jean-Serge,
Are you able to explain the GetMirrorURL method in depth?
Views
Replies
Total Likes
Hi ckumaril,
Were you able to have a look at Jean-Serge's explanations?
Let us know,
Florent
Views
Replies
Total Likes
Hi ckumaril,
Could you have a look at what Jean-Serge suggested?
Let us know,
Florent
Views
Replies
Total Likes
Hi Jean,
I can see the declaration of the GetMirrorURL method in the delivery schema but I could not find it in delivery.js. Is there any way to find the definition of this method?
Thanks in advance.
Saikat
Views
Replies
Total Likes
Hi Saikattk,
The documentation is the JSAPI.chm subject to license. Do you own it?
Regards.
J-Serge
Views
Replies
Total Likes
HI Jean-Serge
This is really interesting, do you have an example of the call in Javascript for Workflows?
I'm using this
nms.Delivery.GetMirrorURL(1232,3444,link);
is that right?
Thanks in advance,
Giuseppe.
Views
Replies
Total Likes
Hi Giuseppe,
Unfortunely, the JSAPI.chm documentation is quite light for this method but only 2 arguments.
Well, I give it below, to avoid further misleading. florentlb feel free to suppress it if it is not allowed to share, as far as I understand.
GetMirrorURL
Obtains the URL of an HTML mirror page.
String url = GetMirrorURL (
Number deliveryId,
String message
)
Parameters
Delivery identifier
message
Message ID
Return value(s)
Mirror page URL
Regards
JS
Views
Replies
Total Likes
Hi Giuseppe,
I was able to use it like this inside JS
var url = nms.delivery.GetMirrorURL(xxxx,"yyyy")
logInfo('mirror Url is: ' + url)
Where xxxx = Delivery ID
yyyy = BroadLog ID
This is will give you the mirror page of a particular recipient not all.
Regards,
Adhiyan
Views
Replies
Total Likes
Hi Adhiyan and Jean-Serge,
Thanks it works fine!
Regards,
Giuseppe.
Views
Replies
Total Likes
Views
Like
Replies
Views
Likes
Replies
Views
Likes
Replies