Para crear un producto de WooCommerce utilizando la API hay que hacer una petición POST a la siguiente URL:
https://tudominio.com/wp-json/wc/v3/products/
Los add-on funcionan como meta-data del producto. El key del meta es es ‘_product_addons’ y el value es un array multidimensional.
Este sería el ejemplo del cuerpo de la petición POST en formato JSON:
{
"name": "Lorem Ipsum",
"price": 12,
"meta_data": [
{
"key": "_product_addons",
"value": [
{
"name": "Toppings",
"field_name": "toppings",
"field_type": "multiple_choice",
"description_enable": true,
"description": "Lorem ipsum",
"required": true,
"options": [
{
"label": "Opción 1",
"price": 0,
"price_type": "flat_fee"
},
{
"label": "Opción 2",
"price": 0.5,
"price_type": "flat_fee"
}
]
},
{
"name": "Extras",
"field_name": "extras",
"field_type": "multiple_choice",
"description_enable": true,
"description": "Lorem ipsum",
"options": [
{
"label": "bebida",
"price": 3,
"price_type": "flat_fee"
},
{
"label": "Postre",
"price": 8,
"price_type": "flat_fee"
}
]
}
]
}
]
}
Esto simplemente crea un nuevo producto con 2 add-ons y un precio base de 12€. El primer add-on es obligatorio mientras que el segundo es opcional.
Visto el ejemplo, algunos detalles:
- Opciones del campo ‘field_type’:
- multiple_choice
- checkbox
- custom_text
- custom_textarea
- custom_price
- input_multiplier
Actualizar un producto con add-ons
Para actualizar un producto ya existente hace falta saber el ID del producto a actualizar y pasarlo en la URL de la petición:
https://tudominio.com/wp-json/wc/v3/products/xxx
Los add-ons al ser valores meta no se puede actualizar individualmente sino que hay que escribir todos los add-ons. Es decir, tomando el ejemplo anterior, si quisiéramos añadir un topping nuevo habría que hacer una petición a la URL con el ID del producto y el valor entero del meta _product_addons.