cancel
Showing results for 
Search instead for 
Did you mean: 

getCustomerProfileIds - more useful if...

When you create a profile, you need to provide an email and local merchantCustomerId to do so.

 

So why doesn't getCustomerProfileIds return the profileId's WITH the merchantCustomerId to make it the slightest bit useful?

 

Something like:

 

<?xml version="1.0" encoding="utf-8"?>

<getCustomerProfileIdsResponse xmlns="AnetApi/xml/v1/schema/

AnetApiSchema.xsd">

<messages>

<resultCode>Ok</resultCode>

<message>

<code>I00001</code>

<text>Successful.</text>

</message>

</messages>

<ids>

<item><numericString>10000</numericString><numericString>33331</numericString></item>

<item><numericString>10001</numericString><numericString>33332</numericString></item>

<item><numericString>10002</numericString><numericString>33333</numericString></item>

</ids>

</getCustomerProfileIdsResponse>

rachmann
Contributor
1 ACCEPTED SOLUTION

Accepted Solutions

This may be a stupid question, but why do you need more than the Authorize.net-assigned customer profile ID's? Are you not storing the ID on your side after you create the profile? It should be a very simple matter to compare all the ID's returned by Authorize.net with your copy of same and calculate the difference between the two sets.

View solution in original post

4 REPLIES 4

Because the method name is getCustomerProfileIds, not getCustomerProfileAndMerchantCustomerIds

 

Once you have the CustomerProfileIds

Use GetCustomerProfile

RaynorC1emen7
Expert

 

Your missing the point.

 

Naming aside, and I completely agree with the naming as it's accurate, I'm saying the functionality could be vastly improved; perhaps even deprecate the current function. 

 

One use case (and there are plenty) is to clean up ADN profile records, as you do pay for them!

 

If the merchant has 500,000 records, and you need to validate which profile records you need to destroy, you need to cycle through each of those 500,000 records asking for the profile, process that profile, find the merchantCustomerId, pull up the matching merchant record and then process that record to determine if the CIM profile needs to be destroyed.

 

If merchantCustomerId were also returned, the merchant records could be found in bulk, processed in bulk, and lighten the overall processing time, call volume, and log size, on both the merchant and ADN server side.

 

I'm suprized to even find such a limited functionality call in the 'cook books' for ADN...

 

API's need to mature. If not, they stagnate and hang around for no good reason. I'm hoping to improve this one as it's very fast and, up to this point, adequate to interact with a merchant site.

 

R

This may be a stupid question, but why do you need more than the Authorize.net-assigned customer profile ID's? Are you not storing the ID on your side after you create the profile? It should be a very simple matter to compare all the ID's returned by Authorize.net with your copy of same and calculate the difference between the two sets.

Portal.