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 “???”
@iamnithesh
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.
networkLogin assigned to login field?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
Thanks everyone, the developer API insert field “login” in response create.
I mapped this field on create and in “GetObject” passed $plan.nativeIdentity$.