Hello All,
I have a developer email ID in the following format
cxdb.admin+xxxx_xxx_nonprd_xx@xxx.xxxxx.net
This works fine with OPDK/SaaS.
In ApigeeX, using Management APIs am able to create this Developer .
But when I try to create an App for this developer I get an error saying
"DeveloperID cxdb.admin xxxx_xxx_nonprd_xx@xxx.xxxxx.net doesn’t exist in the Org"
Note: In DeveloperID "+" is replaced with space.
So when I try to get the Developer details using the Management APIs, I get the same error.
But I see the developer created in the ApigeeX UI with the email "cxdb.admin+xxxx_xxx_nonprd_xx@xxx.xxxxx.net"
The document just says that the "Developer email should be in all LowerCase" which is in my case .
Please let me know if am missing anything here.
Thanks
This is a known situation and I often use this technique to register various personas and it works on both Drupal and Integrated portals. Using the Apigee API you can create a developer with the "+" character since that is passed in the request body. But to use the email in a request URL you have to encode the character as "%2b".
For example: name+plus@any.com
curl {{MGMTSVR}}/v1/organizations/{{ORG}}/developers/name%2bplus@any.com
There is a known issue where this causes a problem, particularly when creating analytics reports or using the stats API with a filter for developer email. For example, this doesn't work as a filter.
(developer_email eq 'name%2bplus@any.com')
FYI, if you try to create a developer using the URL encoded value, that won't work either. If you tried that experiment, you can always GET /developers?expand=true to see the developerId and then delete the developer (yes I tried this workaround).
curl -X DELETE {{MGMTSVR}}/v1/organizations/{{ORG}}/developers/643a3b3b-c94c-4ad9-84fc-676437f2ebbc
that way.
Since this renewed my interest in solving this "situation", here's a workaround I found for the issue with using a filter in analytics. Rather than using the full email address, you can use a portion of the email address, for example:
(developer_email like '%plus%')
That will match any email address with "plus" in it.
Thanks @kurtkanaskie .. This is very helpful ...
Just to clarify, In your example, when you used the word "plus", that does not refer to the character + (which is ASCII Decimal 43, or ASCII Hex 2B ).
It was just sort of a coincidence of the example you offered.
Another reasonable example would be, when creating analytics reports or using the stats API with a filter for developer email,
(developer_email like '%nonprd%')
...will match any email address with "nonprd" in it.
Is that right?
Yes that's right.