Crear o actualizar por Json

Hay datos que son obligatorios y requeridos al momento de crear un producto, algunos de ellos son category_id y subcategory_id, estos 2 son muy importantes ya que tienen relación directa con el diseño de plantilla. Si necesitamos enviar una solicitud para crear o actualizar la información de varios productos, podemos hacerlo enviando la información dentro de una lista o array. Debes tener en cuenta que enviar demasiada información de productos por una API no es 100% seguro en ningún lugar. Para ello, también puedes revisar la API de enviar información por un archivo Excel.

[
  {
    "id": 0,
    "category_name": "string",
    "subcategory_name": "string",
    "client_name": "string",
    "state": true,
    "short_name": "string",
    "long_name": "string",
    "specification": "string",
    "bar_code": "string",
    "code": "string",
    "level": "string",
    "sku": "string",
    "link_qr": "string",
    "source": "string",
    "unit": "string",
    "image": "http://example.com",
    "unit_price": "string",
    "unit_sale": "string",
    "unit_vip": "string",
    "time_init": "2019-08-24T14:15:22Z",
    "time_finish": "2019-08-24T14:15:22Z",
    "stock": -2147483648,
    "nfc_url": "http://example.com",
    "offer_description": "string",
    "category_product": "string",
    "prop_extra_1": "string",
    "prop_extra_2": "string",
    "prop_extra_3": "string",
    "prop_extra_4": "string",
    "prop_extra_5": "string",
    "prop_extra_6": "string",
    "prop_extra_7": "string",
    "prop_extra_8": "string",
    "prop_extra_9": "string",
    "category": 0,
    "subcategory": 0,
    "client": 0
  }
]
CODIGORESPUESTADESCRIPCIÓN
201SUCCESS-
{
  "data": [
    {
      "id": integer,
      "long_name": "string",
      "sku": "string",
      "bar_code": "string"
    }
  ],
  "message": "Solicitud registrada correctamente."
}