Pular para o conteúdo

Referência do payload do webhook

O corpo JSON que o Timemark envia via POST para um evento de Nova foto, campo por campo.


Você está escrevendo o endpoint que recebe os webhooks do Timemark e precisa saber o formato exato do corpo da requisição para conseguir fazer o parsing.

Cada entrega é um POST HTTP com um corpo JSON. O corpo carrega o evento e a foto à qual ele se refere. Seu endpoint deve retornar uma resposta 2xx dentro do tempo limite; qualquer outra coisa conta como uma entrega com falha e é reenviada.

Este é o corpo enviado para um evento de Nova foto (event_type: "photo.uploaded"):

{
"event_type": "photo.uploaded",
"event_id": "3f4566da-938d-4e11-834b-ba9e3faec98c",
"group_name": "Group Scenery",
"project_name": "Project Sunrise",
"photo_code": "A1BCDEFGHIJ23K",
"photo_name": "2025-12-11 13.45.00_1388 Central Park, New York, example.jpg",
"photo_url": "https://example.com/uploads/photos/123456.jpg",
"thumbnail_url": "https://example.com/uploads/photos/123456.jpg",
"photo_timestamp": "2025-12-11T13:45:00Z",
"photo_location": {
"location_name": "Central Park, New York, USA",
"location_latitude": "40.785091",
"location_longitude": "-73.968285"
},
"member": {
"member_name": "Alice Chen",
"member_short_name": "Alice",
"member_profile_picture_url": "https://example.com/user/profile_photo/123456.jpg",
"member_contact": "alice.chen@example.com"
},
"device_model": "Apple iPhone 14 Pro Max",
"custom_notes": [
{
"title": "custom_note_title_1",
"content": "custom_note_content_1"
},
{
"title": "custom_note_title_2",
"content": "custom_note_content_2"
}
]
}
CampoTipoDescrição
event_typestringO evento que foi disparado. photo.uploaded para um evento de Nova foto.
event_idstringID único desta entrega. Use-o para eliminar duplicatas em novas tentativas.
group_namestringA equipe à qual a foto pertence.
project_namestringO projeto ao qual a foto pertence.
photo_codestringO código de verificação da foto, também usado na Central de Verificação de Fotos.
photo_namestringO nome do arquivo da foto, incluindo o horário e o local da captura.
photo_urlstringURL da imagem em tamanho completo.
thumbnail_urlstringURL da imagem em miniatura.
photo_timestampstringHorário da captura em ISO 8601 (UTC).
photo_locationobjectLocal da captura. Veja abaixo.
photo_location.location_namestringNome do local ou endereço legível para humanos.
photo_location.location_latitudestringLatitude, como uma string.
photo_location.location_longitudestringLongitude, como uma string.
memberobjectO membro que capturou a foto. Veja abaixo.
member.member_namestringNome completo de exibição.
member.member_short_namestringNome curto.
member.member_profile_picture_urlstringURL da foto de perfil do membro.
member.member_contactstringO contato do membro, como um e-mail.
device_modelstringO dispositivo que capturou a foto.
custom_notesarrayNotas personalizadas na foto. Cada item tem um title e um content.
  • Latitude e longitude são strings, não números. Converta-as antes de fazer cálculos.
  • Elimine duplicatas usando event_id. Uma entrega reenviada repete o mesmo event_id, então armazene-o e ignore duplicatas.
  • Confirme rápido, processe depois. Retorne 2xx primeiro e só depois faça o processamento pesado, ou a entrega será tratada como falha e reenviada.

Última atualização: