Buscar na documentação
ctrl+4K
Módulos
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Soluções

Pizza

A API permite utilizar as categorias com template PIZZA assim como é feito no portal do parceiro. Abaixo será apresentado o passo a passo de como cadastrar sua primeira pizza na plataforma do iFood
Um item do tipo pizza contém obrigatoriamente os seguintes grupos de complemento:
  • Tamanhos
    • optionGroupType = SIZE
  • Sabores
    • optionGroupType = TOPPING
  • Massas
    • optionGroupType = CRUST
  • Boardas
    • optionGroupType = EDGE
A alteração dos complementos da Pizza é explicada nas seções:
Especificamente para os complementos de sabor é preciso preencher o campo parentCustomizationOptionId ao editar seu preço, status ou código externo.
Esse campo deve ser preenchido com o option.id do tamanho onde o sabor deve ser configurado.
Por exemplo, no endpoint de edição de status de complementos poderíamos fazer essa request:
curl --location --request PATCH 'https://merchant-api.ifood.com.br/catalog/v2.0/merchants/21131c93-0398-4818-aad3-762cab309a26/options/status' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "optionId": "c5ed4d9c-0b79-47b6-8333-d50e66e2147a",
  "parentCustomizationOptionId": "1cae92f1-59ad-401c-a889-dd8ce940fd25",
  "statusByCatalog": [
    {
      "status": "UNAVAILABLE",
      "catalogContext": "WHITELABEL"
    },
    {
      "status": "AVAILABLE",
      "catalogContext": "DEFAULT"
    }
  ]
}'
Considerando 1cae92f1-59ad-401c-a889-dd8ce940fd25 como o id da option "Tamanho Grande" e c5ed4d9c-0b79-47b6-8333-d50e66e2147a como o id da option "Calabresa", essa chamada ao endpoint configura o sabor "Calabresa" disponível no "Tamanho Grande" no contexto DEFAULT e indisponível no contexto WHITELABEL.Na documentação do endpoint PATCH Option ExternalCode disponibilizamos exemplos de requests para alterar external code dos complementos de pizza. A mesma lógica presente lá pode ser reaproveitada para status e preço.
O endpoint PUT item pode ser utilizado para criar e alterar itens do tipo pizza. Cria-se o item com todas as dependências que o compõem: produtos, grupos de complementos e complementos.Como mencionado anteriormente, a pizza é um item do tipo PIZZA e deve possuir obrigatoriamente grupos de complementos dos tipos SIZE, CRUST, EDGE e TOPPING. Na criação do item basta omitir o id da categoria que a categoria do tipo pizza é criada automaticamente.
curl --location --request PUT 'https://merchant-api.ifood.com.br/catalog/v2.0/merchants/21131c93-0398-4818-aad3-762cab309a26/items' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "item": {
        "id": "91de1e0f-3dac-41d2-b9c5-e7de2fa2c20e",
        "type": "PIZZA",
        "status": "AVAILABLE",
        "externalCode": "pizza_item_code",
        "index": 0,
        "productId": "51b644cc-a90c-4456-992f-f86631176796"
    },
    "products": [
        {
            "id": "51b644cc-a90c-4456-992f-f86631176796",
            "externalCode": "pizza_trd_prd_code",
            "name": "Pizzas Tradicionais",
            "optionGroups": [
                {
                    "id": "15af8bd9-6d54-43f2-8c74-43d5d4da32d8",
                    "min": 0,
                    "max": 1
                },
                {
                    "id": "26b1a876-7ee4-4f15-9bb1-d33c840c5049",
                    "min": 0,
                    "max": 1
                },
                {
                    "id": "668a93a9-704e-4036-a515-11e4ddbe4129",
                    "min": 0,
                    "max": 1
                },
                {
                    "id": "d1eed8e6-c1f0-4f09-a235-2d459bb33cbb",
                    "min": 0,
                    "max": 1
                }
            ]
        },
        {
            "id": "9f72cd07-4463-4bfc-8fc1-97129c775e21",
            "externalCode": "massa_trd_prd_code",
            "name": "Massa Tradicional"
        },
        {
            "id": "c8eff6c6-f3c5-48ec-9a5b-aa5b3eeec582",
            "externalCode": "massa_fin_prd_code",
            "name": "Massa fina"
        },
        {
            "id": "27fa98cd-e119-432d-9b0a-8f99a65be1b7",
            "externalCode": "t_m_prd_code",
            "name": "Tamanho médio",
            "quantity": 8,
            "imagePath": "41a3aa60-4b00-4da1-a3c6-c4eaa9544f07/202406201149_4y1nlgnr7a10.png"
        },
        {
            "id": "932e18a2-396d-40d2-8de4-da0cf8f95faf",
            "externalCode": "t_g_prd_code",
            "name": "Tamanho Grande",
            "quantity": 12,
            "imagePath": "41a3aa60-4b00-4da1-a3c6-c4eaa9544f07/202406201150_5z2uxvlq5b34.png"
        },
        {
            "id": "e4ac0247-33ed-476a-ae69-363f27fe0df7",
            "externalCode": "brd_trd_prd_code",
            "name": "Borda Tradicional"
        },
        {
            "id": "eb021b00-0fef-434b-9da5-77e4dbca047e",
            "externalCode": "brd_rech_prd_code",
            "name": "Borda Recheada"
        },
        {
            "id": "d6ae0c15-4db9-454e-868b-a9ec7719da5e",
            "externalCode": "calabresa_prd_code",
            "name": "Calabresa"
        },
        {
            "id": "b4a093cc-7e4a-49d2-909a-fed1cc58c572",
            "externalCode": "marguerita_prd_code",
            "name": "Marguerita"
        }
    ],
    "optionGroups": [
        {
            "id": "15af8bd9-6d54-43f2-8c74-43d5d4da32d8",
            "name": "Tamanhos",
            "externalCode": "tamanhos_code",
            "status": "AVAILABLE",
            "index": 0,
            "optionGroupType": "SIZE",
            "optionIds": [
                "945ef3bc-7741-4bec-a0ce-4660c09a564f",
                "2587c76e-3aa3-45e6-95d9-35c21ac19f9d"
            ]
        },
        {
            "id": "26b1a876-7ee4-4f15-9bb1-d33c840c5049",
            "name": "Massas",
            "externalCode": "massas_code",
            "status": "AVAILABLE",
            "index": 0,
            "optionGroupType": "CRUST",
            "optionIds": [
                "7fb0eac3-43e5-41c6-860e-a38793db4988",
                "d0d0df88-b276-4a21-ab14-063e8f0c3c5d"
            ]
        },
        {
            "id": "668a93a9-704e-4036-a515-11e4ddbe4129",
            "name": "Bordas",
            "externalCode": "bordas_code",
            "status": "AVAILABLE",
            "index": 0,
            "optionGroupType": "EDGE",
            "optionIds": [
                "cc71b438-523f-49ac-918a-82df71244f9b",
                "df8728b2-7773-486b-aa93-47627bdd0c54"
            ]
        },
        {
            "id": "d1eed8e6-c1f0-4f09-a235-2d459bb33cbb",
            "name": "Sabores",
            "externalCode": "sabores_code",
            "status": "AVAILABLE",
            "index": 0,
            "optionGroupType": "TOPPING",
            "optionIds": [
                "0d58a046-1871-433d-bd8d-2b33abfbfa70",
                "a4eb62d0-ca33-459e-82b1-4de25997ba9e"
            ]
        }
    ],
    "options": [
        {
            "id": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
            "status": "AVAILABLE",
            "productId": "27fa98cd-e119-432d-9b0a-8f99a65be1b7",
            "fractions": [
                1
            ],
            "externalCode": "medio_option_code"
        },
        {
            "id": "2587c76e-3aa3-45e6-95d9-35c21ac19f9d",
            "status": "AVAILABLE",
            "productId": "932e18a2-396d-40d2-8de4-da0cf8f95faf",
            "fractions": [
                1,
                2
            ],
            "externalCode": "grande_option_code"
        },
        {
            "id": "0d58a046-1871-433d-bd8d-2b33abfbfa70",
            "status": "AVAILABLE",
            "index": 0,
            "productId": "d6ae0c15-4db9-454e-868b-a9ec7719da5e",
            "contextModifiers": [
                {
                    "parentOptionId": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
                    "catalogContext": "WHITELABEL",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 26,
                        "originalValue": 30
                    },
                    "externalCode": "calabresa_medio_whitelabel_code"
                },
                {
                    "parentOptionId": "2587c76e-3aa3-45e6-95d9-35c21ac19f9d",
                    "catalogContext": "WHITELABEL",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 25,
                        "originalValue": 29
                    },
                    "externalCode": "calabresa_grande_whitelabel_code"
                },
                {
                    "parentOptionId": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
                    "catalogContext": "DEFAULT",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 24,
                        "originalValue": 28
                    },
                    "externalCode": "calabresa_medio_default_code"
                },
                {
                    "parentOptionId": "2587c76e-3aa3-45e6-95d9-35c21ac19f9d",
                    "catalogContext": "DEFAULT",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 23,
                        "originalValue": 27
                    },
                    "externalCode": "calabresa_grande_default_code"
                }
            ],
            "externalCode": "calabresa_option_code"
        },
        {
            "id": "a4eb62d0-ca33-459e-82b1-4de25997ba9e",
            "status": "AVAILABLE",
            "index": 0,
            "productId": "b4a093cc-7e4a-49d2-909a-fed1cc58c572",
            "contextModifiers": [
                {
                    "parentOptionId": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
                    "catalogContext": "WHITELABEL",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 23,
                        "originalValue": 28
                    },
                    "externalCode": "marguerita_medio_whitelabel_code"
                },
                {
                    "parentOptionId": "2587c76e-3aa3-45e6-95d9-35c21ac19f9d",
                    "catalogContext": "WHITELABEL",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 20,
                        "originalValue": 25
                    },
                    "externalCode": "marguerita_grande_whitelabel_code"
                },
                {
                    "parentOptionId": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
                    "catalogContext": "DEFAULT",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 22,
                        "originalValue": 27
                    },
                    "externalCode": "marguerita_medio_default_code"
                },
                {
                    "parentOptionId": "2587c76e-3aa3-45e6-95d9-35c21ac19f9d",
                    "catalogContext": "DEFAULT",
                    "status": "AVAILABLE",
                    "price": {
                        "value": 24,
                        "originalValue": 26
                    },
                    "externalCode": "marguerita_grande_default_code"
                }
            ],
            "externalCode": "marguerita_option_ec"
        },
        {
            "id": "cc71b438-523f-49ac-918a-82df71244f9b",
            "status": "AVAILABLE",
            "productId": "e4ac0247-33ed-476a-ae69-363f27fe0df7",
            "price": {
                "value": 0,
                "originalValue": 0
            },
            "externalCode": "borda_trad_option_code"
        },
        {
            "id": "df8728b2-7773-486b-aa93-47627bdd0c54",
            "status": "AVAILABLE",
            "productId": "eb021b00-0fef-434b-9da5-77e4dbca047e",
            "price": {
                "value": 4,
                "originalValue": 5
            },
            "externalCode": "borda_rec_option_code"
        },
        {
            "id": "7fb0eac3-43e5-41c6-860e-a38793db4988",
            "status": "AVAILABLE",
            "productId": "9f72cd07-4463-4bfc-8fc1-97129c775e21",
            "price": {
                "value": 2,
                "originalValue": 3
            },
            "externalCode": "massa_trad_option_code"
        },
        {
            "id": "d0d0df88-b276-4a21-ab14-063e8f0c3c5d",
            "status": "AVAILABLE",
            "productId": "c8eff6c6-f3c5-48ec-9a5b-aa5b3eeec582",
            "price": {
                "value": 2,
                "originalValue": 3
            },
            "externalCode": "massa_fin_option_code"
        }
    ]
}'
Através do endpoint PATCH Option Price é possível editar globalmente o preço de um complemento ao passar o campo de price com o valor desejado, como também para alterá-lo em um cardápio específico, o campo priceByCatalog deve ser preenchido respectivamente com seus valores e o contexto do cardápio alterado. Para alterar o preço de um sabor em determinado tamanho, basta informar o parentCustomizationOptionId.
curl --location --request PATCH 'https://merchant-api.ifood.com.br/catalog/v2.0/merchants/21131c93-0398-4818-aad3-762cab309a26/options/price' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "optionId": "a4eb62d0-ca33-459e-82b1-4de25997ba9e",
  "parentCustomizationOptionId": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
  "priceByCatalog": [
    {
      "value": 5,
      "originalValue": 7,
      "catalogContext": "WHITELABEL"
    }
  ]
}'
Com comportamento semelhante à alteração de preço, é possível editar globalmente o status de um complemento com o PATCH Option Status ao passar o campo de status com a condição desejada, como também para alterá-lo em um cardápio específico, o campo statusByCatalog deve ser preenchido respectivamente com o estado e o contexto do cardápio alterado. Para alterar o preço de um sabor em determinado tamanho, basta informar o parentCustomizationOptionId.
curl --location --request PATCH 'https://merchant-api.ifood.com.br/catalog/v2.0/merchants/21131c93-0398-4818-aad3-762cab309a26/options/status' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "optionId": "a4eb62d0-ca33-459e-82b1-4de25997ba9e",
  "status": "AVAILABLE",
  "parentCustomizationOptionId": "945ef3bc-7741-4bec-a0ce-4660c09a564f",
  "statusByCatalog": [
    {
      "status": "UNAVAILABLE",
      "catalogContext": "WHITELABEL"
    }
  ]
}'
Utilizando o PATCH Option External Code é possível editar globalmente o código externo de um complemento da pizza ao passar o campo externalCode com o código desejado, como também para alterá-lo em um cardápio específico, o campo externalCodeByCatalog deve ser preenchido respectivamente com o código e o contexto do cardápio alterado. Para alterar o código de um sabor em determinado tamanho, basta informar o parentCustomizationOptionId.
curl --location --request PATCH 'https://merchant-api.ifood.com.br/catalog/v2.0/merchants/21131c93-0398-4818-aad3-762cab309a26/options/externalCode' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "optionId": "d3e31829-a215-47e3-9576-3fddec9417ec",
  "externalCode": "tst-external-code",
  "parentCustomizationOptionId": null,
  "externalCodeByCatalog": [
    {
      "externalCode": "tst-external-code2",
      "catalogContext": "WHITELABEL"
    }
  ]
}'
Esta página foi útil?
Avalie sua experiência no novo Developer portal: