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.