Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

ApigeeX Developer Email Issue

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

 

 

0 5 409
5 REPLIES 5

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.