[SalesForce] Inserting rows to a DataExtension via API

I've been trying for the last couple of hours to insert some rows into one of my Data Extensions in Marketing Cloud, which looks like this:

Columns

According to the documentation, I would just have to call the endpoint with my Data Extension's key and send him a JSON with a custom format depending on the Data Extension. The request I'm sending is the following:

> POST /hub/v1/dataevents/key:Reminder_1/rowset HTTP/1.1
> Host: www.exacttargetapis.com
> User-Agent: insomnia/5.16.6
> Content-Type: application/json
> Authorization: Bearer *******************
> Accept: */*
> Content-Length: 115
| [
|   {
|       "keys":{
|        "Id":"123wqe1"
|    },
|       "values":{
|           "LastName":"Name",
|           "Email":"my.email@domain.org"
|       }
|   }
| ]

The problem is I keep getting the following response:

{
    "message": "Unable to save rows for data extension ID f52dc554-1285-e811-a2c8-1402ec9387c0",
    "errorcode": 10006,
    "documentation": ""
}

Now, not to my surprise, the documentation specifies nothing for this error. The official resolution is:

Check additionalErrors for detailed error messages.

Furthermore, after googling some more, I found the question ExactTarget REST API - Error Code 10006, no details which says:

After speaking with support, the error was due to the API key I have
not having rights to the context/business unit where the Data
Extension lived (I didn't set it up and from what I can tell the
business unit can't be seen/edited once created). I created a new API
client app in App Center with the correct business unit and this
resolves the issue!

But again… I only have one business unit in my instance of Marketing Cloud.

At the moment I'm kind of lost as in where I should look. Any insight?

Best Answer

In your Data Extension there is a Text Field 'Field' that is required and is not in the payload.

Related Topic