WebService - GetObject

Hi, can you please help me?

My AccountSchema:

My GetObject:

I using $plan.nativeIdentity$ to get the single account, but it doesn’t works.
Show “???” in identity.

Instead of $plan.nativeIdentity$

try: $getobject.nativeIdentity$

Also the ??? is likely showing up if the Create Account doesn’t return the account ID. In this case you might need to do a Full Account Aggregation before trying to do a Single Account Aggregration.

Is login field generated by your Downstream system while creating a new account? Or is it sent as a part of the provisioning plan?

@Carlatto
I tried $getobject.nativeIdentity$ but still “???”


Any other way to get this account object without full account aggregation?

@iam_nithesh
I have a beforeRule that Create Account.
But the API endPoint Create Account, doesn’t return the id/login user in response body.

So, login attribute is generated in the end system when account is created?

If yes, can you try to reproduce the create operation in Postman and share the response header as well as body?

Yes,

CURL:
curl --location --request POST ‘https://endpoint/users/create
–header ‘Content-Type: application/json’
–header ‘Authorization: JWT test_token’
–data-raw ‘{
“login”: “login_test”,
“baseProfileId”: “123”,
“cge”: “456”,
“cpf”: “78998989”,
“partner”: {},
“groups”:
}’

After POST, the response:
{
“hasProfile”: false,
“isActive”: false,
“baseProfileInfo”: “NAME_PROFILE”
}

The response after create, doesn’t return the attribute “login”

Here you are passing a string for login attribute. What value would you be passing from IdentityNow during Create Account operation?

As you have marked login as Account ID, plan.getNativeIdentity() will return the same value that was passed for login

During Create Account operation, I pass the “login_” with ProvisioningPolicie:

{
“name”: “Create”,
“description”: null,
“usageType”: “CREATE”,
“fields”: [
{
“name”: “login_”,
“transform”: {
“type”: “identityAttribute”,
“attributes”: {
“name”: “networkLogin”
}
},
“attributes”: {},
“isRequired”: false,
“type”: “”,
“isMultiValued”: false
},
{
“name”: “cge_”,
“transform”: {
“type”: “identityAttribute”,
“attributes”: {
“name”: “cge”
}
},
“attributes”: {},
“isRequired”: false,
“type”: “”,
“isMultiValued”: false
},
{
“name”: “cpf_”,
“transform”: {
“type”: “identityAttribute”,
“attributes”: {
“name”: “cpf”
}
},
“attributes”: {},
“isRequired”: false,
“type”: “”,
“isMultiValued”: false
},
{
“name”: “mobile_”,
“transform”: {
“type”: “identityAttribute”,
“attributes”: {
“name”: “personalCellPhone”
}
},
“attributes”: {},
“isRequired”: false,
“type”: “”,
“isMultiValued”: false
},
{
“name”: “email_”,
“transform”: {
“type”: “identityAttribute”,
“attributes”: {
“name”: “email”
}
},
“attributes”: {},
“isRequired”: false,
“type”: “”,
“isMultiValued”: false
}
]
}

“As you have marked login as Account ID , plan.getNativeIdentity() will return the same value that was passed for login” → about this, You mean should I make a afterRule?

I suppose here you have login_ instead of login because IDN does not allow you to use login as name of an object in Provisioning Policy.

  • Are the new accounts getting created in Target system with value from Identity Attribute networkLogin assigned to login field?
  • Are you able to fetch the same account from Target system in Postman using this value in the query param login = _____?

As you have set login as Account ID, which means this will be a unique field in the target system, you should be able to fetch a single object using plan.getNativeIdentity() as value passed for login. If this is not happening, I suggest that you reproduce every step in Postman and check where is the missing link

1 Like

Hi, Felipe,
I had the same issue during Create Account for some connectors.
What I’ve made was on the Create Account, map just the “id” to the “value” , that was the response that I received.

All the other information will be mapped after the GetObject opperation occurs.

1 Like

Thanks everyone, the developer API insert field “login” in response create.
I mapped this field on create and in “GetObject” passed $plan.nativeIdentity$.