Expand my Community achievements bar.

SOLVED

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

Avatar

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

Avatar

Correct answer by
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

Avatar

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

Avatar

Correct answer by
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

Avatar

Level 6

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

Avatar

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

Avatar

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