Pular para o conteúdo principal

POST /api/material-requests

Cria uma solicitação de material e a encaminha para processamento.

Autenticação

Requer header Authorization: Bearer <access_token> emitido pelo endpoint POST /api/external-auth/token.

Request

Headers

HeaderValor
Content-Typeapplication/json
AuthorizationBearer <access_token>

Body

{
"id": 123,
"shop_code": "SHOP001",
"comment": "Necessidade urgente de reposição de materiais",
"materials": [
{
"material_id": 33,
"material": "c. Banner-Moldura Extra (Aumento TM)",
"material_variant_id": 5,
"material_variant": "Banner",
"sku": "33-5",
"width": 10,
"height": 10,
"depth": 1,
"quantity": 3
},
{
"material_id": 19,
"material": "k. Adesivo Esgotado",
"material_variant_id": null,
"material_variant": null,
"sku": "19",
"width": 10,
"height": 10,
"depth": 1,
"quantity": 10
}
]
}

Descrição dos campos

CampoTipoObrigatórioDescrição
idintIdentificador da solicitação
shop_codestringCódigo da loja
commentstringComentário/observação da solicitação
materialsarrayLista de materiais solicitados (mín. 1 item)
materials[].material_idintID do material
materials[].materialstringNome do material
materials[].material_variant_idint|nullID da variante do material
materials[].material_variantstring|nullNome da variante do material
materials[].skustringSKU do material
materials[].widthfloatLargura
materials[].heightfloatAltura
materials[].depthfloatProfundidade
materials[].quantityintQuantidade solicitada (mín. 1)
curl -s -X POST https://servicos.ifollowtech.com.br/api/material-requests \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-d '{
"id": 123,
"shop_code": "SHOP001",
"comment": "Reposição urgente",
"materials": [
{
"material_id": 33,
"material": "c. Banner-Moldura Extra (Aumento TM)",
"material_variant_id": 5,
"material_variant": "Banner",
"sku": "33-5",
"width": 10,
"height": 10,
"depth": 1,
"quantity": 3
}
]
}'

Response

201 Created

{
"status": "enqueued",
"id": 123
}

A solicitação foi recebida e encaminhada para processamento. As estimativas de entrega disponíveis serão enviadas via webhook para o endpoint POST /api/material-requests/{id}/delivery-estimates.

400 Bad Request

Body inválido ou campos obrigatórios ausentes.

401 Unauthorized

Token ausente, expirado ou inválido.

422 Unprocessable Entity

Itens duplicados na lista de materiais (mesmo material_id + material_variant_id + sku).

{
"message": "Duplicate material items are not allowed.",
"duplicates": [
{ "materialId": 33, "materialVariantId": 5, "sku": "33-5" }
]
}