Zend certified PHP/Magento developer

Magento 2 Bulk API Response – serialized_data is Null?

Wednesday I began working on an interface for a local application to manage product categorization rather than the Magento console.

The documentaiton instructs you to pack multiple request bodies into an array for the bulk request. The response contains a serialized_data key which is documented as:

An array of serialized input data. It contains serialized JSON with the following keys: entity_id – null, entity_link – an empty string, meta_info – the body of the API request that was executed.

It appears this is the only way to correlate a bulk API call and the actual content of the request. For example, my request might look something like this:

[
    'productLink': {
        'category_id': 1,
        'sku': 'ProductA'
    },
    'productLink': {
        'category_id': 1,
        'sku': 'ProductB'
    }
]

The way I understand it is that the only way I can know if ProductA has been successfully categorized is to look up the job by bulk_uuid and parse the serialized_data value in the response.

This is not ideal, but that’s something for another discussion. My problem here is that last Wednesday this worked flawlessly and today every request to check the status returns a response with: serialized_data: null

I was not able to find anything about this in the official documentation, Google failed me, and a search for serialized_data on magento.stackexchange yielded 3 results which were unhelpful.

My ultimate goal is to know that bulk request foo contained products ProductA and ProductB and which products succeeded or failed.

If there is a better way – what is it? I suppose I could have missed something in the docs.

If there is not a better way – Can anyone tell me why serialized_data is null? Did I misunderstand something? How can this be fixed?

(If you require any additional information, please let me know.)