How can i pass an schema atribute to my URL endpoint?

Which IIQ version are you inquiring about?

8.1

Hello! I’m currently developing my first custom Web Services connector for the company I work for.

At the moment, I am working on the Disable Account operation.

To disable an account in the system I am integrating, the URL must follow this pattern:

https://id.url.in/api/user/{id}

However, the “id” value is only available in the application’s schema:

I am open to using rules or any other methods, but I currently don’t know how to retrieve the “id” value, which is only present in the application schema.

Hi @diego_romero_1,

you can reed the id directly from the plan, for example:

https://id.url.in/api/user/$plan.nativeIdentity$

or if have the id like an attribute plan:

https://id.url.in/api/user/$plan.id$

the first option read the nativeIdentity attribute on the plan and it works everytime because a plan has always this attribute. Generally, you can put on the url or into the body avery attribute of the plan with $plan.<attribute name>$

1 Like

Thanks for the quick answer!

I tested configuring the URL the way you suggested:

https://id.url.in/api/user/$plan.nativeIdentity$

However, my logs showed that the URL was generated as an email, like this:

- ##### getFullUrl: https://id.janisqa.in/api//user/[email protected]

I tried searching for the schema attribute I need in my Provisioning Plan. It should look similar to the profileId (646bc984825d7f880405ba93), but with a different ID that is used by the integrated application as a user ID. Unfortunately, I couldn’t find it anywhere:

<ProvisioningPlan nativeIdentity="901514792" targetIntegration="JANIS" trackingId="9ee3a3678f5244cdb5fc91810f1740c3">
  <AccountRequest application="JANIS" nativeIdentity="[email protected]" op="Modify">
    <Attributes>
      <Map>
        <entry key="comments" value="teste"/>
      </Map>
    </Attributes>
    <AttributeRequest name="profileId" op="Remove" value="646bc984825d7f880405ba93">
      <Attributes>
        <Map>
          <entry key="allowSimplification" value="true"/>
          <entry key="assignment" value="true"/>
          <entry key="preferRemoveOverRetain" value="true"/>
        </Map>
      </Attributes>
    </AttributeRequest>
    <AttributeRequest name="Type" op="Add" value="regular"/>
  </AccountRequest>
  <Attributes>
    <Map>
      <entry key="identityRequestId" value="0000014266"/>
      <entry key="requester" value="901525699"/>
      <entry key="source" value="LCM"/>
    </Map>
  </Attributes>
</ProvisioningPlan>

So, I’m guessing that using $plan.id$ in the URL wouldn’t work either.

ok, in this case if you want use $plan.id$ you must add on the plan. To make this, you can use a prov. policy form on disable operation or add the attribute into the before provisioning rule.

Also, you can try with $(identity)

Can you give me more details on how to add the data I want to the Provisioning Plan using a policy or a rule?

I would really appreciate it.

with policy:

  • You can create an application form and set on Disable operation on Provisioning policy on application page. In this form you set all the attribute that you want into the plan. With it, IIQ execute all the script\rule into the form and it puts into the plan.

with rule:

  • You can use a BeforeProvisioning rule where read the plan and for Disable operation you add the id like an accountAttribute.

Can you guide me on which methods to use to retrieve that data using Policies or Rules? I know this is a possibility, but I don’t know where to start.