Pular para o conteúdo

Confirma a retirada

POST/api/parcels/parcels/{parcelId}/pickup

Auth
Exige token
Quem pode:
owner
admin
moderator
finance
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

**Equipe** (owner, admin, moderador, financeiro): `method: STAFF` (padrão; `pickedUpByName` é quem veio buscar, padrão o destinatário) ou `THIRD_PARTY` (exige `pickedUpByName`). **O próprio destinatário**: `method: SELF`, só se o space **não** exige confirmação da equipe (`requireStaffConfirmation`; ligado, 403); na encomenda de outro membro: 404. Guarda `pickedUpAt`, `pickupMethod`, quem retirou e quem confirmou, e **apaga o código de retirada**. **Atômica e idempotente:** dois pedidos ao mesmo tempo fecham uma vez; o outro recebe `200` com `alreadyClosed: true` e `closedBy`.

Parâmetros

NomeOndeTipoDescrição
parcelIdobrigatóriopathstring (uuid)

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
methodopcionalSTAFF | SELF | THIRD_PARTY
pickedUpByNameopcionalstringAté 120 caracteres.

Respostas

CódigoDescrição
200Retirada registrada (ou já registrada, `alreadyClosed: true`).
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.
500Erro interno do servidor.

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/parcels/parcels/<parcelId>/pickup" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'