cancel
Showing results for 
Search instead for 
Did you mean: 

Updating customer profile in CIM clears merchantCustomerId

Hi,

 

I'm working in PHP and json.

 

When updating CIM profiles I'm seeing that the merchantCustomerId is being overriden even though I'm not providing it in the update request.

 

For example:

 

Here's the response for the getCustomerProfileRequest right after creation:

 

{
    "profile": {
        "customerProfileId": "1810723214",
        "merchantCustomerId": "M_968069",
        "description": "Eos quas eligendi ut provident placeat suscipit.",
        "email": "moen.kathryne@example.com"
    },
    "refId": "T_1487792261",
    "messages": {
        "resultCode": "Ok",
        "message": [
            {
                "code": "I00001",
                "text": "Successful."
            }
        ]
    }
}

 

 

and then the updateCustomerProfileRequest i'm sending:

 

{
    "updateCustomerProfileRequest": {
        "merchantAuthentication": {
            "name": API_ID,
            "transactionKey": API_KEY
        },
        "refId": "T_1487792487",
        "profile": {
            "email": "test@example.com",
            "customerProfileId": "1810723214"
        }
    }
}

 

 

and finally the second getCustomerProfileRequest where the merchantCustomerId has been removed:

 

{
    "profile": {
        "customerProfileId": "1810723214",
        "description": "Eos quas eligendi ut provident placeat suscipit.",
        "email": "test@example.com"
    },
    "refId": "T_1487792761",
    "messages": {
        "resultCode": "Ok",
        "message": [
            {
                "code": "I00001",
                "text": "Successful."
            }
        ]
    }
}

 

 

Does anyone have some insight into why the merchantCustomerId is being overriden but the description is not?

Do I have to provide the merchantCustomerId everytime I want to update a record to make it stick through updates?

 

Please let me know if you have any ideas.

 

Thanks.

Dewbud
Member
4 REPLIES 4

Hi @Dewbud,

 

This is a good catch. Thanks for posting!

 

I've verified what you're seeing (and verified with XML as well just in case). If it's by design that we blank out anything you don't send in the update request, then why does description stick? And, if every field is supposed to persist if not updated, why does the merchant ID disappear?

 

I'll write it up on my end to get fixed. I don't know how the design is supposed to work, so I can't guarantee that ALL fields won't become required. But, in the meantime, I would suggest in your case to send all of the fields with each update request (assuming you're already storing them on your side as well).

Aaron
All Star

Hi @Aaron,

 

Thanks for your quick reply, I'm happy I could help you identify something.

 

I will pass the merchant ID with my update requests for now.

 

I'm new to this forum/api, where will I be able to see the results on this issue?

Should I just keep this thread bookmarked or is there a location where all bug fixes are listed?

 

Thanks again.

You can subscribe to this thread (in the "Options" button) to see any updates that are posted here. System changes and API changes have places on our website where updates are posted, but that doesn't necessarily include bug fixes of this kind.

 

Without a comprehensive changelog, we can try to notify you here, or feel free to ping me directly for an update, either with a PM here, or at the email in my profile.

Was this behavior changed yet? I tried updating the merchantCustomerId only and the email that had been previous set was lost. Is this how it's supposed to work?