Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

How can we use get ([key or content ]) passing content as a parameter?

pierrec70731455
Level 5
Level 5

Hi,

in the documentation it is quite clear how to load the entity corresponding to a given schema and key :

var delivery = NLWS.nmsDelivery.get("12435")

But I don't understand how/why we can pass a content as a parameter?

Kind regards,

Pierre

1 Accepted Solution
pierrec70731455
Correct answer by
Level 5
Level 5

Hi Jonas,

this question is indeed for Classic, I'm unable to change the tag now.

The load(key) method allows us to obtain an entity based on the key (id) of the schema : load

With the create([content]) method we can generate a new entity for a schema based on the content we send : create

So my question is how can we use the get([key or content]) with content as a parameter : get

In the doc they explain clearly how to get an entity with a get(key), but nothing on how to use get(content).

Kind regards,

Pierre

View solution in original post

6 Replies
jonasn92134656
Level 4
Level 4

Hi,

This question is related to Classic and not Standard right? (the post is tagged as standard)

  • What is the context? JSSP/workflow/etc?
  • What do you mean by "pass a content as a parameter"?

Regards,

Jonas

pierrec70731455
Correct answer by
Level 5
Level 5

Hi Jonas,

this question is indeed for Classic, I'm unable to change the tag now.

The load(key) method allows us to obtain an entity based on the key (id) of the schema : load

With the create([content]) method we can generate a new entity for a schema based on the content we send : create

So my question is how can we use the get([key or content]) with content as a parameter : get

In the doc they explain clearly how to get an entity with a get(key), but nothing on how to use get(content).

Kind regards,

Pierre

View solution in original post

Florian_Courgey
Community Advisor
Community Advisor

Hi,

We do have the same question.. This is what we tried so far, but it always gives us an empty recipient as a result

var recipient = NLWS.nmsRecipient.get({

  where: {

    condition: {expr: "@email= 'my@email.com'"}

  }

});

var recipient = NLWS.nmsRecipient.get({ 

    condition: {expr: "@email= 'my@email.com'"}

});

var recipient = NLWS.nmsRecipient.get({ 

    expr: "@email= 'my@email.com'"

});

var recipient = NLWS.nmsRecipient.get({ 

    email: 'my@email.com'

});

logInfo('recipient: '+recipient);

logInfo('id: '+recipient.id);

logInfo('email: '+recipient.email);

It always return a [WppObject] (a recipient as a JS object) with empty properties:

recipient: [object WppObject]

id: 0

email:

Tested in a javascript activity of a workflow, but can be used anywhere (JSSP, web apps...)

Thank you

jonasn92134656
Level 4
Level 4

I find the behaviour strange. This for instance actually creates a new recipient for me:

var recipient = NLWS.nmsRecipient.get(

  {recipient: {

  email: "support@adobe.com"

})

I only noticed cause it's throwing an error in the instance I tried it (which is expected, duplicate key on ID field).

The same but for deliveries using internal name returns the correct record as expected (NLWS.nmsDelivery.get using internalName). Haven't looked into it further though. I usually use queryDef for these kinds of things, so that might be an option for you as well.

Regards,

Jonas

wodnicki
Community Advisor
Community Advisor

Hi,

Pierre:

I think 'key or content' is mistranslated French here, and is meant to read 'numeric id or string key'.

Jonas:

That's a bug in the software.

Thanks,

-Jon