Criar, alterar e excluir grupo
Cria, renomeia e remove um grupo de promoções.
Crie um grupo para dar um nome a um conjunto de promoções que serão limitadas juntas. O PUT troca o nome (e o dono) do grupo; ele substitui os dois campos, então reenvie vendor_id se não quiser que o grupo vire da loja.
Criar um grupo
/api/v1/admin/promotion-groupsAdminCria um grupo de promoções
Corpo da requisição
namestringobrigatórioNome do grupo.
vendor_iduuidSeller dono. Omita para grupo da loja.
Exemplo de requisição: criar
bash
curl -X POST "$BASE_URL/api/v1/admin/promotion-groups" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Campanha de verão"
}'Resposta: criar
201Grupo criado
json
{
"id": "7af8cfda-fbbc-4a75-b266-fb90ad2d11fb",
"name": "Campanha de verão",
"created_at": "2026-07-20T00:54:48.258916Z"
}Campos da resposta
iduuidIdentificador do grupo.
namestringNome do grupo.
vendor_iduuid | omittedSeller dono do grupo. Ausente = grupo da loja.
created_atstring (RFC 3339)Criação.
Erros: criar
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"authentication required"} |
| 403 | O módulo promotions está desligado na loja. | {"error":"module_disabled","module":"promotions"} |
| 403 | Falta o privilégio: view_promotions para ler, manage_promotions para gravar. | {"error":"insufficient privileges","required":"manage_promotions"} |
| 400 | name vazio ou corpo inválido. | {"error":"failed to create promotion group","detail":"promotion budget validation: name is required"} |
Renomear um grupo
/api/v1/admin/promotion-groups/{id}AdminRenomeia um grupo
Parâmetros de caminho
iduuidobrigatórioId do grupo.
Corpo da requisição
namestringobrigatórioNovo nome.
vendor_iduuidDono. Se omitido, o grupo passa a ser da loja.
Exemplo de requisição: renomear
bash
curl -X PUT "$BASE_URL/api/v1/admin/promotion-groups/7af8cfda-fbbc-4a75-b266-fb90ad2d11fb" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Campanha de verão 2027"
}'Resposta: renomear
200Grupo alterado
json
{
"id": "7af8cfda-fbbc-4a75-b266-fb90ad2d11fb",
"name": "Campanha de verão 2027",
"created_at": "2026-07-20T00:54:48.258916Z"
}Campos da resposta
iduuidIdentificador do grupo.
namestringNome do grupo.
vendor_iduuid | omittedSeller dono do grupo. Ausente = grupo da loja.
created_atstring (RFC 3339)Criação.
Erros: renomear
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"authentication required"} |
| 403 | O módulo promotions está desligado na loja. | {"error":"module_disabled","module":"promotions"} |
| 403 | Falta o privilégio: view_promotions para ler, manage_promotions para gravar. | {"error":"insufficient privileges","required":"manage_promotions"} |
| 400 | name vazio ou corpo inválido. | {"error":"failed to update promotion group","detail":"promotion budget validation: name is required"} |
| 404 | Não existe grupo com esse id. | {"error":"failed to get promotion group","detail":"promotion budget not found"} |
Excluir um grupo
/api/v1/admin/promotion-groups/{id}AdminExclui um grupo de promoções
Parâmetros de caminho
iduuidobrigatórioId do grupo.
Exemplo de requisição: excluir
bash
curl -X DELETE "$BASE_URL/api/v1/admin/promotion-groups/7af8cfda-fbbc-4a75-b266-fb90ad2d11fb" \
-H "Authorization: Bearer $TOKEN"Resposta: excluir
200Grupo excluído
json
{
"deleted": true
}Erros: excluir
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"authentication required"} |
| 403 | O módulo promotions está desligado na loja. | {"error":"module_disabled","module":"promotions"} |
| 403 | Falta o privilégio: view_promotions para ler, manage_promotions para gravar. | {"error":"insufficient privileges","required":"manage_promotions"} |
| 404 | Não existe grupo com esse id. | {"error":"failed to get promotion group","detail":"promotion budget not found"} |
| 500 | O id não é um UUID válido. | {"error":"failed to delete promotion group","detail":"..."} |