Este endpoint permite sincronizar manualmente uma validação KYC com o provedor de verificação para obter o status e os dados de decisão mais recentes. Quando você sincroniza:
Busca os dados mais recentes do provedor KYC em tempo real
Atualiza URLs de imagens expiradas (URLs do provedor expiram após ~4 horas)
Atualiza o status da validação se o provedor tomou uma decisão
Preserva decisões manuais - não sobrescreve validações aprovadas/rejeitadas/canceladas manualmente
Retorna dados de verificação atualizados incluindo documentos, biometria e avaliação de risco
A sincronização é útil quando você precisa de dados atualizados imediatamente sem esperar por webhooks, ou quando as URLs de imagens expiraram e você precisa visualizar os documentos de verificação.
As validações são sincronizadas automaticamente ao serem consultadas via GET se as imagens tiverem mais de 3.5 horas. A sincronização manual é útil quando você precisa de atualizações imediatas.
Decisões Manuais São Protegidas
Se uma validação foi aprovada, rejeitada ou cancelada manualmente, a sincronização NÃO sobrescreverá essa decisão. Decisões manuais são preservadas para manter trilhas de auditoria.
Atualização de URLs de Imagens
URLs de imagens do provedor (fotos de documentos, selfies) expiram após ~4 horas. A sincronização busca URLs atualizadas para que você possa visualizar os documentos novamente.
Atualizações de Status
Se o provedor tomou uma decisão desde a última sincronização, o status da validação será atualizado automaticamente (a menos que tenha um status manual).
Cobrança de Créditos
A sincronização NÃO cobra créditos. Os créditos são cobrados apenas quando uma validação atinge um estado final (aprovada/rejeitada) pela primeira vez.
// Sincronizar antes de tomar uma decisão de aprovação manualconst synced = await fetch( `https://api.gu1.ai/api/kyc/validations/${validationId}/sync`, { method: 'POST', headers: { 'Authorization': 'Bearer SUA_API_KEY' } });const data = await synced.json();// Revisar dados mais recentes do provedorconsole.log('Status do provedor:', data.status);console.log('Nível de risco:', data.riskAssessment?.riskLevel);console.log('Avisos:', data.warnings);// Então aprovar se satisfeitoif (data.status === 'in_progress' && data.warnings.length === 0) { await approveValidation(validationId, 'Todas as verificações passaram');}
// Se você suspeita que os webhooks não foram entreguesconst validations = await getValidationsWithStatus('in_progress');for (const validation of validations) { // Sincronizar cada uma para obter o status mais recente await fetch( `https://api.gu1.ai/api/kyc/validations/${validation.id}/sync`, { method: 'POST', headers: { 'Authorization': 'Bearer SUA_API_KEY' }, body: JSON.stringify({ force: true }) } );}