Método: POST
EndPoint:
Producción
https://servicios.afacturar.com/api/notificacion/recepcion_correo
Seguridad SSL: Afacturar cuenta en sus endpoint con certificados de seguridad (DigiCert SHA2 Extended Validation Server CA), su aplicación debe ser capaz de negociar y validar dicho certificado.
Accept: application/json
Authorization: Bearer Token asignado a cada cliente
documento_obligado |
DescripciónNúmero de identificación del OFE - Obligado a facturar electronicamente. Tipo de datoNúmerico. EspecificacionesDebe estar registrado en servicios.afacturar.com ObligatorioSi |
uniqid |
DescripciónIdentificador de la transaccion del documento (id_transaccion) facturas, notas credito, notas debito, DSA, notas de ajuste DSA, Eventos, DEE Tipo de datoString EspecificacionesTexto minimo de 30 caracteres ObligatorioSi |
para |
DescripciónDirección de correo ala cual se va a enviar el documento Tipo de datoEspecificacionesxxx@yyy.zzz ObligatorioSi |
datos_adicionales |
DescripciónInformación acerca de quien solicita el envio del correo Tipo de datoJson Especificaciones{"integrador":{"nombre":"","tipo":""},"datos_usuario":{"usuario":"","nombre":"","id":""}}
ObligatorioSi |
con_copia |
DescripciónDirección para en viar en CC Tipo de datoEspecificacionesxxx@yyy.zzz ObligatorioNo |
observaciones |
DescripciónTexto que se envia en el cuerpo del correo Tipo de datoString EspecificacionesTexto con datos adicionales al correo ObligatorioNo |
archivo_adjunto |
DescripciónArchivos adjuntos Tipo de datoArray Especificaciones[["","",""],["","",""]] En cada array debe ir el Tipo de documento (ZIP, DOC, PDF), URL del documento donde se pueda descargar, Nombre del archivo ObligatorioNo |
{
"codigo_error": 0,
"descripcion_error": "Notificación registrada. \n",
"tiempo_ejecucion": 0.45966887474060059,
"transaccion": "6827b284c8c1a"
}
{
"codigo_error": 400,
"descripcion_error": "Hay un problema con la información entregada",
"tiempo_ejecucion": 0.0062899589538574219,
"resultado": [
"The para must be a valid email address."
]
}
{
"codigo_error": 11,
"descripcion_error": "El token no esta asociado al documento del obligado",
"tiempo_ejecucion": 0.0034811496734619141,
"transaccion": "5ea9b79777e59"
}
Cuando usted hace un llamado a la API, puede recibir los siguientes mensajes de error en la respuesta. Puede que haya algo mal con su solicitud o puede que algo esté mal de nuestra parte. Los errores responden con un código de error y JSON que contiene un mensaje, una descripción y un código API más preciso.
Código | Estado | Descripción | Acción sugerida |
---|---|---|---|
28 | Timeout | La operación duro más de 60 seg | |
15 | Error retornado por la DIAN | La información enviada no cumple con el estandar del XML o los valores no estan bien calculados | |
400 | Solicitud incorrecta | Hay un problema con su solicitud | Compruebe que su solicitud sigue la documentación de la API y utiliza la sintaxis correcta. |
401 | No autorizado | No tiene la autorización necesaria para realizar la solicitud. | Asegúrese de estar utilizando una clave API válida con los permisos necesarios para su solicitud. |
403 | Prohibido | El servidor entendió la solicitud, pero se negó a cumplirla. | Vea si su plan en Afacturar.com incluye el recurso que está solicitando y su clave API tiene las autorizaciones necesarias. |
404 | No encontrado | El servidor no pudo encontrar el recurso solicitado. | Cambie su URL de solicitud para que coincida con un punto final API válido. |
405 | Método no permitido | El recurso no tiene el método especificado. (por ejemplo, PUT en las transmisiones) | Cambie el método para seguir la documentación del recurso. |
409 | Conflicto | Un conflicto surgió de su solicitud. (por ejemplo, el OFE no esta asociado al código de autorización) | Modificar la carga útil para eliminar el conflicto.. |
415 | Tipo de medio no admitido | La solicitud no está en un formato compatible. | Verifique que su encabezado Content-Type sea compatible y que su solicitud cumpla con la documentación. |
422 | Entidad no procesable | La solicitud fue sintácticamente correcta pero falló debido a errores semánticos. | Asegúrese de que su solicitud incluya todos los campos obligatorios y que sus datos sean válidos. |
429 | Exceder el límite de envío | Se excede el numero de transacciones permitido (120 por minuto). | Verifique que se encuentra dentro de los límites acordados con Afacturar. |
500 | Error de servidor interno | Algo salió mal de nuestro lado. | Pruebe la solicitud nuevamente más tarde. Si el error no se resuelve, póngase en contacto con el soporte técnico soporte@afacturar.com. |
503 | Servicio no disponible | Estamos experimentando niveles de tráfico más altos de lo normal. | Prueba la solicitud nuevamente, ya estamos enterado del problema para aumentar la capacidad. |
IN
--form 'documento_obligado="830020470"' \
--form 'uniqid="ODMwMDIwNDcw147104357468274194d80400"' \
--form 'para="pruebas@teleinte.com"' \
--form 'datos_adicionales="{
\"integrador\": {
\"nombre\": \"WEB\",
\"tipo\": \"WEB\"
},
\"datos_usuario\": {
\"usuario\": \"PRUEBAS@AFACTURAR.COM\",
\"nombre\": \"Usuario de pruebas Afacturar.com\",
\"id\": \"9999\"
}
}
OUT
{
"codigo_error": 0,
"descripcion_error": "Notificación registrada. \n",
"tiempo_ejecucion": 0.53120207786560059,
"transaccion": "6827c663248ad"
}
IN
--form 'documento_obligado="830020470"' \
--form 'uniqid="ODMwMDIwNDcw147104357468274194d80400"' \
--form 'para="pruebas@teleinte.com"' \
--form 'datos_adicionales="{
\"integrador\": {
\"nombre\": \"WEB\",
\"tipo\": \"WEB\"
},
\"datos_usuario\": {
\"usuario\": \"PRUEBAS@AFACTURAR.COM\",
\"nombre\": \"Usuario de pruebas Afacturar.com\",
\"id\": \"9999\"
}
}
--form 'archivo_adjunto="[[\"ZIP\",\"https://afacturar.archivamos.com/310c4707/34567898755343/tmp/pruebas.zip\",\"Pruebas\"]]"'
OUT
{
"codigo_error": 0,
"descripcion_error": "Notificación registrada. \n",
"tiempo_ejecucion": 0.53120207786560059,
"transaccion": "6827c663248ad"
}
curl --location 'https://servicios-pruebas.afacturar.com/api/vp_des/recepcion_correo' \
--header 'accept: application/json' \
--header 'authorization: Bearer token_obligado' \
--form 'documento_obligado="830020470"' \
--form 'uniqid="ODMwMDIwNDcw147104357468274194d0000"' \
--form 'para="pruebas@teleinte.com"' \
--form 'datos_adicionales="{
\"integrador\": {
\"nombre\": \"WEB\",
\"tipo\": \"WEB\"
},
\"datos_usuario\": {
\"usuario\": \"PRUEBAS@TELEINTE.COM\",
\"nombre\": \"Usuario de pruebas \",
\"id\": \"9999\"
}
}
"' \
--form 'archivo_adjunto="[[\"ZIP\",\"https://afacturar.archivamos.com/310c4707/tmp/pruebas.zip\",\"pruebas\"]]"'
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://servicios-pruebas.afacturar.com/api/vp_des/recepcion_correo");
request.Headers.Add("accept", "application/json");
request.Headers.Add("authorization", "Bearer token_cliente");
var content = new MultipartFormDataContent();
content.Add(new StringContent("830020470"), "documento_obligado");
content.Add(new StringContent("ODMwMDIwNDcw147104357468274194d0000"), "uniqid");
content.Add(new StringContent("pruebas@teleinte.com"), "para");
content.Add(new StringContent("{
\"integrador\": {
\"nombre\": \"WEB\",
\"tipo\": \"WEB\"
},
\"datos_usuario\": {
\"usuario\": \"PRUEBAS@TELEINTE.COM\",
\"nombre\": \"Uusario de pruebas\",
\"id\": \"9999\"
}
}
"), "datos_adicionales");
content.Add(new StringContent("[[\"ZIP\",\"https://afacturar.archivamos.com/310c4707/tmp/pruebas.zip\",\"pruebas\"]]"), "archivo_adjunto");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Versión | Cambios | Fecha de liberación |
---|---|---|
1 | Publicar la documentación del API | 16 de Mayo de 2025 |
1 | Crear API | 20 de Diciembre de 2018 |