Decidir um item
Aprova, rejeita, sinaliza ou escala um item da fila de moderação de mídias.
Cada decisão é uma rota POST própria, com o mesmo corpo opcional (notes e tags). A resposta confirma o id e o novo estado.
Aprovar
Marca o item como approved. Use quando a mídia foi conferida e está tudo certo.
/api/v1/admin/whatsapp/media-moderation/{id}/approveAdminMarca a mídia como aprovada
Parâmetros de caminho
iduuidobrigatórioId do item da fila.
Corpo da requisição
notesstringObservação livre sobre a decisão. Opcional.
tagsarrayLista de etiquetas de texto, por exemplo
["resolvido"]. Opcional.Exemplo de requisição (Aprovar um item)
bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/media-moderation/3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11/approve" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"notes": "Conferido com o cliente.",
"tags": [
"conferido"
]
}'Resposta (Aprovar um item)
200Decisão registrada
json
{
"id": "3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11",
"status": "approved"
}Campos da resposta
iduuidO mesmo id da URL.
statusstringapprovedNovo estado do item: sempre
approved.Erros (Aprovar um item)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo presente que não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} (ou manage_orders) ou {"error":"admin access required"} |
| 404 | Nenhum item com esse id. | {"error":"moderation row not found"} |
| 500 | O id não é um UUID válido, ou falha ao gravar. | {"error":"Failed to record decision: ..."} |
Rejeitar
Marca o item como rejected. Use quando a mídia não deve ser aceita, por exemplo conteúdo impróprio ou sem relação com o pedido.
/api/v1/admin/whatsapp/media-moderation/{id}/rejectAdminMarca a mídia como rejeitada
Parâmetros de caminho
iduuidobrigatórioId do item da fila.
Corpo da requisição
notesstringObservação livre sobre a decisão. Opcional.
tagsarrayLista de etiquetas de texto, por exemplo
["resolvido"]. Opcional.Exemplo de requisição (Rejeitar um item)
bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/media-moderation/3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11/reject" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"notes": "Não confere com o pedido.",
"tags": [
"conferido"
]
}'Resposta (Rejeitar um item)
200Decisão registrada
json
{
"id": "3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11",
"status": "rejected"
}Campos da resposta
iduuidO mesmo id da URL.
statusstringrejectedNovo estado do item: sempre
rejected.Erros (Rejeitar um item)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo presente que não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} (ou manage_orders) ou {"error":"admin access required"} |
| 404 | Nenhum item com esse id. | {"error":"moderation row not found"} |
| 500 | O id não é um UUID válido, ou falha ao gravar. | {"error":"Failed to record decision: ..."} |
Sinalizar
Marca o item como flagged. Serve para chamar a atenção de outra equipe (jurídico, antifraude) sem encerrar a moderação.
/api/v1/admin/whatsapp/media-moderation/{id}/flagAdminMarca a mídia como sinalizada
Parâmetros de caminho
iduuidobrigatórioId do item da fila.
Corpo da requisição
notesstringObservação livre sobre a decisão. Opcional.
tagsarrayLista de etiquetas de texto, por exemplo
["resolvido"]. Opcional.Exemplo de requisição (Sinalizar um item)
bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/media-moderation/3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11/flag" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"notes": "Precisa de análise jurídica.",
"tags": [
"conferido"
]
}'Resposta (Sinalizar um item)
200Decisão registrada
json
{
"id": "3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11",
"status": "flagged"
}Campos da resposta
iduuidO mesmo id da URL.
statusstringflaggedNovo estado do item: sempre
flagged.Erros (Sinalizar um item)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo presente que não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} (ou manage_orders) ou {"error":"admin access required"} |
| 404 | Nenhum item com esse id. | {"error":"moderation row not found"} |
| 500 | O id não é um UUID válido, ou falha ao gravar. | {"error":"Failed to record decision: ..."} |
Escalar
Marca o item como escalated. Use quando quem moderou não consegue decidir e precisa de um superior.
/api/v1/admin/whatsapp/media-moderation/{id}/escalateAdminMarca a mídia como escalada
Parâmetros de caminho
iduuidobrigatórioId do item da fila.
Corpo da requisição
notesstringObservação livre sobre a decisão. Opcional.
tagsarrayLista de etiquetas de texto, por exemplo
["resolvido"]. Opcional.Exemplo de requisição (Escalar um item)
bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/media-moderation/3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11/escalate" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"notes": "Não consegui decidir, preciso de um gerente.",
"tags": [
"conferido"
]
}'Resposta (Escalar um item)
200Decisão registrada
json
{
"id": "3f6c1d2a-8b44-4e0a-9c1e-5d7a2b9f0e11",
"status": "escalated"
}Campos da resposta
iduuidO mesmo id da URL.
statusstringescalatedNovo estado do item: sempre
escalated.Erros (Escalar um item)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo presente que não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} (ou manage_orders) ou {"error":"admin access required"} |
| 404 | Nenhum item com esse id. | {"error":"moderation row not found"} |
| 500 | O id não é um UUID válido, ou falha ao gravar. | {"error":"Failed to record decision: ..."} |