Ir al contenido

POST /api/documentos/documento/{id}/respuesta-validado/

POST /api/documentos/documento/{id}/respuesta-validado/

Avisa la validación a los webhooks del emisor y, con un 200, la da por respondida.

POST /api/documentos/documento/{id}/respuesta-validado/. El documento tiene que estar aceptado y sin respuesta_validado. Se manda el aviso de validación a cada webhook del emisor con estado_validado, esperando la respuesta, y si alguno contesta 200 el documento queda con respuesta_validado = true.

Si el emisor no tiene ninguno, no hay a quién avisar: el documento se marca igual, sin enviar nada, y avisos sale vacío.

Es lo mismo que se hace solo cuando la DIAN acepta el documento; este endpoint recupera los que allí se quedaron sin marcar. Si ninguno responde 200 es un 502: el documento sigue igual y se puede volver a llamar. Cada envío deja su aviso en /api/emisores/webhook-aviso/, con el código y el error.

operationId: documentos_documento_respuesta_validado_create

Cualquiera de estas credenciales:

  • LlaveApi — Llave de API de una integración. El valor completo es Api-Key <prefijo>.<secreto>, tal como lo imprime manage.py crear_llave_api. La llave alcanza exactamente los mismos emisores que la persona a cuyo nombre se creó.
NombreEnTipoObligatorioDescripción
idpathstring (uuid)síUn Cadena UUID que identifique este documento electrónico.
Ventana de terminal
curl -X POST "https://api.rededoc.uk/api/documentos/documento/<id>/respuesta-validado/" \
-H "Authorization: <llaveapi>"
CódigoDescripción
200
400
401Error
404Error
429Error
502
CampoTipoDescripción
respuesta_validadoboolean
avisosarray<WebhookAviso>
{
"respuesta_validado": true,
"avisos": [
{
"id": 1,
"webhook": 1,
"documento": "00000000-0000-0000-0000-000000000000",
"tipo": null,
"estado": null,
"codigo_http": 1,
"error": "texto",
"cuerpo": "texto",
"creado_en": "2026-01-31T10:00:00-05:00",
"enviado_en": "2026-01-31T10:00:00-05:00"
}
]
}
CampoTipoDescripción
detailstringMensaje para mostrar a la persona.
erroresarray<object>Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio.
{
"detail": "texto",
"errores": [
{
"codigo": "texto",
"mensaje": "texto"
}
]
}
CampoTipoDescripción
detailstringMensaje para mostrar a la persona.
erroresarray<object>Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio.
{
"detail": "texto",
"errores": [
{
"codigo": "texto",
"mensaje": "texto"
}
]
}
CampoTipoDescripción
detailstringMensaje para mostrar a la persona.
erroresarray<object>Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio.
{
"detail": "texto",
"errores": [
{
"codigo": "texto",
"mensaje": "texto"
}
]
}
CampoTipoDescripción
detailstringMensaje para mostrar a la persona.
erroresarray<object>Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio.
{
"detail": "texto",
"errores": [
{
"codigo": "texto",
"mensaje": "texto"
}
]
}
CampoTipoDescripción
detailstringMensaje para mostrar a la persona.
erroresarray<object>Nunca vacía. Cada error trae codigo, que es lo que el cliente mapea —los de DRF tal cual (required, invalid, does_not_exist, not_found…) y los propios en español (campo_desconocido, solicitud_invalida…)—, y mensaje, para la persona. Si el error es de un campo, su ruta va delante del mensaje: detalles[0].impuestos[0].tributo: Este campo es obligatorio.
{
"detail": "texto",
"errores": [
{
"codigo": "texto",
"mensaje": "texto"
}
]
}

RedEDoc es un servicio de Semántica Digital S.A.S.