Saltar para o conteúdo

Confirma vários envios de uma vez

POST/api/media/confirm-batch

Auth
Exige token
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

O mesmo que `POST /api/media/confirm`, para **1 a 50 envios** do mesmo space. Cada item é confirmado sozinho e volta como `{ index, asset }` ou `{ index, error }` (código, parâmetros e mensagem traduzida). Só finalidades confirmadas sem decodificar a imagem na requisição: vídeos e `galleryImage`. As outras imagens (`classifiedImage`, `parcelPhoto`, `supportPhoto`) voltam com `error.code: batchNotSupported`: use `POST /api/media/confirm`. **Idempotente:** confirmar de novo a mesma `key` (repetição, duas abas ao mesmo tempo) devolve a mesma mídia, contada uma vez no uso da comunidade. O uso é contado na confirmação (nunca na URL); a imagem que falha no processamento o devolve.

**Imagem de galeria (`galleryImage`) não é processada na confirmação:** a API confere tipo, tamanho e primeiros bytes, guarda o arquivo fora do alcance da URL de envio e devolve o `asset` com `processingStatus: queued`. Uma fila (uma por vez em cada processo) gira pela orientação, remove os metadados (GPS incluído), reduz para no máximo 4096 px e gera a miniatura: `queued` → `processing` → `ready` (ou `failed`, com `processingError`). Pode criar a imagem da galeria (`POST /api/gallery/images` com o `mediaId`) logo em seguida, sem esperar. Enquanto não estiver `ready`, `GET /api/media/{id}/url` e `POST /api/media/urls` devolvem `url: null` com o `processingStatus`, e a listagem da galeria traz `processingStatus` em cada imagem: consulte de novo (`GET /api/media/{id}` ou `POST /api/media/urls`) a cada poucos segundos até `ready`. Costuma levar de 1 a 3 segundos por foto. Limite: 20 lotes por hora por perfil.

Headers

NomeTipoDescrição
X-CommunityIdopcionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Corpo da requisição application/json

NomeTipoDescrição
spaceIdobrigatóriostring (uuid)
itemsobrigatórioobject[]
items[].keyobrigatóriostring
items[].nameobrigatóriostringmax 255
items[].sizeopcionalintegerOpcional: se vier e diferir do objeto, o item volta com erro.

Respostas

CódigoDescrição
200Resultado de cada item.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
429Mais de 20 lotes por hora para este perfil.
500Erro interno do servidor.

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/media/confirm-batch" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"spaceId":"00000000-0000-0000-0000-000000000000","items":[{}]}'