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.

CAMPOREQUERIDOTIPO DE DATO
stateTruebool
short_nameFalsestring
long_nameTruestring
specificationFalsestring
bar_codeTruestring
codeFalsestring
levelFalsestring
skuTruestring
link_qrFalsestring
sourceFalsestring
unitFalsestring
cost_priceTruedecimal
unit_priceFalsedecimal
unit_saleFalsedecimal
unit_vipFalsedecimal
time_initFalsedatetime
time_finishFalsedatetime
stockFalseinteger
nfc_urlFalsestring
offer_descriptionFalsestring
categoryTrueinteger
subcategoryTrueinteger
clientTrueinteger
categoryproductTrueInteger
prop_extra_1Falsestring
prop_extra_2Falsestring
prop_extra_3Falsestring
prop_extra_4Falsestring
prop_extra_5Falsestring
prop_extra_6Falsestring
prop_extra_7Falsestring
prop_extra_8Falsestring
prop_extra_9Falsestring
[
  {
    "state": true,
    "long_name": "Lentes de sol Uno oficial",
    "bar_code": "115800980276",
    "code": "2051767",
    "sku": "2051767",
    "link_qr": "http://example.com",
    "cost_price": 60.00,
    "unit_price": 180.00,
    "unit_sale": 180.00,
    "category": 1,
    "subcategory": 5,
    "categoryproduct": 51,
    "client": 2
  }
]
CODIGORESPUESTADESCRIPCIÓN
201SUCCESS-
{
  "data": [
    {
      "id": integer,
      "long_name": "string",
      "sku": "string",
      "bar_code": "string"
    }
  ],
  "message": "Solicitud registrada correctamente."
}