API Ventas/Documentos
Descripción: PENDIENTE
Autorización: PENDIENTE
Beneficio: PENDIENTE
Tipos de peticiones: PENDIENTE
¿Cómo funciona? PENDIENTE
Métodos
<Tabs> <Tab name = "API Consulta (GET) ">
EndPoint: https://www.apis.serpi.com.co/api/v1/TipoDocumento
EndPoint con parámetros: https://www.apis.serpi.com.co/api/v1/TipoDocumento?limite=50&pagina=1
| Header | Descripción |
|---|---|
| secretkey | Secretkey proporcionada al cliente para consumos de las APIs |
Authorization:
Usar Bearer. Ejemplo “bearer {{token}}”.
{{token}} Token de autorizacion generado por SerpiERP| Parámetro | Tipo de dato | Requerido | Descripción |
|---|---|---|---|
| Límite | int | No | Este parámetro indica la cantidad de resultados que se deben devolver en una sola página |
| Página | int | No | Este parámetro indica el número de la página que se debe devolver. Por ejemplo, si se establece en 3, se devolverán los resultados de la tercera página |
Response
{
"success": true,
"code": 200,
"errors": null,
"message": "1 registro(s) encontrados",
"result": [
{
"id": 1,
"id_centro_operacion": 1,
"descripcion_centro_operacion": "DESCRIPCIÓN DEL CENTRO DE OPERACIÓN",
"categoria_doc": "NC",
"prefijo_tipo_doc": "RCA",
"descripcion": "RECIBO DE CAJA",
"numero": 2,
"num_digitos_decimal": 2,
"mensaje_factura1": "MENSAJE DE LA FACTURA 1",
"mensaje_factura2": "MENSAJE DE LA FACTURA 2",
"numero_resolucion_dian": "1234567",
"formato_doc": "PDF",
"catflujocaja": null,
"prefijo_factura": "PF",
"activo": true,
"cuenta_costo": null,
"cuenta_devolucion": null,
"cuenta_ingreso": null,
"sub_costo_venta": 1,
"descripcion_sub_costo_venta": "ADMINISTRACION",
"sub_ingreso_venta": 4,
"descripcion_sub_ingreso_venta": "VENTAS",
"sub_devolucion_venta": 1,
"descripcion_sub_devolucion_venta": "ADMINISTRACION",
"aplica_solo_alterna": false,
"mensaje_factura3": "MENSAJE DE LA FACTURA 3",
"aplica_COLGAAP": true,
"aplica_NIIF": true,
"predeterminado": false,
"aplica_restringe_orden_cronologico": false,
"aplica_fecha_primer_documento": false,
"mensaje_factura4": "MENSAJE DE LA FACTURA 4",
"resolucion_desde": 1234567,
"resolucion_hasta": 1234567,
"res_fecha_desde": "2023-06-01",
"resnumero": null,
"aplica_doc_recurrente": true,
"aplica_intereses_venta": true,
"id_documento_electronico": 6,
"aplica_gestiona_tarea": true,
"aplica_adjuntar_formato_facturaSerpi": true,
"res_fecha_hasta": "2023-06-01",
"aplica_creaautodeq": false,
"gdttipodocpadreid": 1,
"descripcion_gdttipodocpadreid": "DESCRIPCIÓN DEL CAMPO gdttipodocpadreid",
"gdttipodocpadrenotaid": 1,
"descripcion_gdttipodocpadrenotaid": "DESCRIPCIÓN DEL CAMPO gdttipodocpadrenotaid",
"id_bodega_pos": 2,
"descripcion_bodega_pos": "DESCRIPCIÓN DE LA BODEGA",
"id_tercero_pos": 1234,
"nit_tercero_pos": "1234567",
"descripcion_tercero_pos": "DESCRIPCIÓN DEL TERCERO",
"aplica_asignar_recepcion_electronico": true,
"fecha_recepcion_electronica": "2023-06-01"
}
]
}
{
"success": true
"code": 201,
"message": "No se encontraron registros",
"result": []
}| Campo | Tipo de dato | Descripción |
|---|---|---|
| id | int | Identificador del grupo contable |
| id_centro_operacion | int | Identificador del centro de operación |
| descripcion_centro_operacion | string | Descripción del centro de operación |
| categoria_doc | string | Categoría del documento |
| prefijo_tipo_doc | string | Prefijo del tipo de documento |
| descripcion | string | Descripción |
| numero | int | Número |
| num_digitos_decimal | int | Número de dígitos decimales |
| mensaje_factura1 | string | Mensaje de factura 1 |
| mensaje_factura2 | string | Mensaje de factura 2 |
| numero_resolucion_dian | string | Número de resolución DIAN |
| formato_doc | string | Formato del documento |
| catflujocaja | string | Categoría de flujo de caja |
| prefijo_factura | string | Prefijo de la factura |
| activo | bool | Activo |
| cuenta_costo | int | Cuenta de costo |
| cuenta_devolucion | int | Cuenta de devolución |
| cuenta_ingreso | int | Cuenta de ingreso |
| sub_costo_venta | int | Subcuenta de costo de venta |
| sub_ingreso_venta | int | Subcuenta de ingreso de venta |
| sub_devolucion_venta | int | Subcuenta de devolución de venta |
| aplica_solo_alterna | bool | Aplica solo alterna |
| mensaje_factura3 | string | Mensaje de factura 3 |
| aplica_COLGAAP | bool | Aplica COLGAAP |
| aplica_NIIF | bool | Aplica NIIF |
| predeterminado | bool | Predeterminado |
| aplica_restringe_orden_cronologico | bool | Aplica restringe orden cronológico |
| aplica_fecha_primer_documento | bool | Aplica fecha primer documento |
| mensaje_factura4 | string | Mensaje de factura 4 |
| resolucion_desde | int | Resolución desde |
| resolucion_hasta | int | Resolución hasta |
| res_fecha_desde | string | Resolución fecha desde |
| resnumero | string | Número de resolución |
| aplica_doc_recurrente | bool | Aplica documento recurrente |
| aplica_intereses_venta | bool | Aplica intereses de venta |
| id_documento_electronico | int | Identificador del documento electrónico |
| aplica_gestiona_tarea | bool | Aplica gestión de tarea |
| aplica_adjuntar_formato_facturaSerpi | bool | Aplica adjuntar formato facturaSerpi |
| res_fecha_hasta | string | Resolución fecha hasta |
| aplica_creaautodeq | bool | Aplica crea autodeq |
| gdttipodocpadreid | int | Identificador del tipo de documento padre |
| gdttipodocpadrenotaid | int | Identificador del tipo de documento padre nota |
| id_bodega_pos | int | Identificador de la bodega POS |
| descripcion_bodega_pos | string | Descripción de la bodega POS |
| id_tercero_pos | int | Identificador del tercero POS |
| nit_tercero_pos | string | NIT del tercero POS |
| descripcion_tercero_pos | string | Descripción del tercero POS |
| aplica_asignar_recepcion_electronico | bool | Aplica asignar recepción electrónica |
| fecha_recepcion_electronica | string | Fecha de recepción electrónica |
</Tab>
<Tab name = "API Creación (POST) "> EndPoint: https://www.apis.serpi.com.co/api/v1/TipoDocumento
| Header | Descripción |
|---|---|
| secretkey | Secretkey proporcionada al cliente para consumos de las APIs |
Authorization:
Usar Bearer. Ejemplo “bearer {{token}}”.
{{token}} Token de autorizacion generado por SerpiERP
Request
{
"id_centro_operacion": 1,
"categoria_doc": "NC",
"prefijo_tipo_doc": "RCA",
"descripcion": "RECIBO DE CAJA",
"numero": 2,
"num_digitos_decimal": 2,
"mensaje_factura1": "MENSAJE DE LA FACTURA 1",
"mensaje_factura2": "MENSAJE DE LA FACTURA 2",
"numero_resolucion_dian": "1234567",
"formato_doc": "PDF",
"prefijo_factura": "PF",
"activo": true,
"sub_costo_venta": 1,
"sub_ingreso_venta": 4,
"sub_devolucion_venta": 1,
"aplica_solo_alterna": false,
"mensaje_factura3": "MENSAJE DE LA FACTURA 3",
"aplica_COLGAAP": true,
"aplica_NIIF": true,
"predeterminado": false,
"aplica_restringe_orden_cronologico": false,
"aplica_fecha_primer_documento": false,
"mensaje_factura4": "MENSAJE DE LA FACTURA 4",
"resolucion_desde": 1234567,
"resolucion_hasta": 1234567,
"res_fecha_desde": "2023-06-01",
"aplica_doc_recurrente": true,
"aplica_intereses_venta": true,
"id_documento_electronico": 6,
"aplica_gestiona_tarea": true,
"aplica_adjuntar_formato_facturaSerpi": true,
"res_fecha_hasta": "2023-06-01",
"gdttipodocpadreid": 1,
"gdttipodocpadrenotaid": 1,
"id_bodega_pos": 2,
"nit_tercero_pos": "1234567",
"aplica_asignar_recepcion_electronico": true,
"fecha_recepcion_electronica": "2023-06-01"
}
| Campo | Tipo de dato | Longitud | Requerido | Descripción |
|---|---|---|---|---|
| id_centro_operacion | int | Si | Identificador del centro de operación | |
| categoria_doc | string | Si | Categoría del documento | |
| prefijo_tipo_doc | string | Si | Prefijo del tipo de documento | |
| descripcion | string | Si | Descripción del documento | |
| numero | int | No | Número del documento | |
| num_digitos_decimal | int | No | Número de dígitos decimales | |
| mensaje_factura1 | string | No | Mensaje de la factura 1 | |
| mensaje_factura2 | string | No | Mensaje de la factura 2 | |
| numero_resolucion_dian | string | No | Número de resolución DIAN | |
| formato_doc | string | No | Formato del documento | |
| prefijo_factura | string | No | Prefijo de la factura | |
| activo | bool | No | Indicador de activo | |
| sub_costo_venta | int | No | Subcosto de venta | |
| sub_ingreso_venta | int | No | Subingreso de venta | |
| sub_devolucion_venta | int | No | Subdevolución de venta | |
| aplica_solo_alterna | bool | No | Indicador de aplicación solo para alterna | |
| mensaje_factura3 | string | No | Mensaje de la factura 3 | |
| aplica_COLGAAP | bool | No | Indicador de aplicación de COLGAAP | |
| aplica_NIIF | bool | No | Indicador de aplicación de NIIF | |
| predeterminado | bool | No | Indicador de predeterminado | |
| aplica_restringe_orden_cronologico | bool | No | Indicador de aplicación de restricción de orden cronológico | |
| aplica_fecha_primer_documento | bool | No | Indicador de aplicación de fecha de primer documento | |
| mensaje_factura4 | string | No | Mensaje de la factura 4 | |
| resolucion_desde | int | No | Resolución desde | |
| resolucion_hasta | int | No | Resolución hasta | |
| res_fecha_desde | string | No | Fecha de la resolución desde | |
| aplica_doc_recurrente | bool | No | Indicador de aplicación de documento recurrente | |
| aplica_intereses_venta | bool | No | Indicador de aplicación de intereses de venta | |
| id_documento_electronico | int | No | Identificador del documento electrónico | |
| aplica_gestiona_tarea | bool | No | Indicador de aplicación de gestión de tarea | |
| aplica_adjuntar_formato_facturaSerpi | bool | No | Indicador de aplicación de adjuntar formato de factura Serpi | |
| res_fecha_hasta | string | No | Fecha de la resolución hasta | |
| gdttipodocpadreid | int | No | Identificador del tipo de documento padre | |
| gdttipodocpadrenotaid | int | No | Identificador del tipo de documento padre nota | |
| id_bodega_pos | int | No | Identificador de la bodega POS | |
| nit_tercero_pos | string | No | NIT del tercero POS | |
| aplica_asignar_recepcion_electronico | bool | No | Indicador de aplicación de asignar recepción electrónica | |
| fecha_recepcion_electronica | string | No | Fecha de recepción electrónica |
AVISO IMPORTANTE:
Digite null o 0 (si es un campo del tipo double o int), para aquellos valores donde los campos no sean obligatorios y donde no se va a asignar algún valor.
Response
{
"success": true,
"code": 201,
"errors": [],
"message": "Validaciones exitosas. Registro creado exitosamente"
}Validaciones
{
"success": false,
"code": 400,
"errors": [
"El centro de operacion 1 no existe",
"El prefijo_tipo_doc gfqt ya existe",
"El campo descripcion es obligatorio",
"El campo sub_costo_venta debe ser 1 (ADMINISTRACION), 4 (VENTAS) o 0 (si no aplica)",
"El campo sub_ingreso_venta debe ser 1 (ADMINISTRACION), 4 (VENTAS) o 0 (si no aplica)",
"El campo sub_devolucion_venta debe ser 1 (ADMINISTRACION), 4 (VENTAS) o 0 (si no aplica)",
"El campo res_fecha_desde es inválido. Formato esperado: yyyy-MM-dd",
"El campo fecha_recepcion_electronica es inválido. Formato esperado: yyyy-MM-dd",
"El gdttipodocpadreid 1 no existe",
"El gdttipodocpadrenotaid 1 no existe",
"El id_bodega_pos 2 no existe",
"El nit_tercero_pos 1234567 no existe",
"El campo categoria_doc con la categoría NC no coincide con alguna de las nomenclaturas especificadas",
"El campo id_documento_electronico debe ser un valor del 0 al 7"
],
"message": "Problemas de validaciones. Se presentaron errores al crear el registro"
}</Tab>
<Tab name = "API Modificar(PUT) "> EndPoint: https://www.apis.serpi.com.co/api/v1/TipoDocumento
| Header | Descripción |
|---|---|
| secretkey | Secretkey proporcionada al cliente para consumos de las APIs |
Authorization:
Usar Bearer. Ejemplo “bearer {{token}}”.
{{token}} Token de autorizacion generado por SerpiERP
Request
{
"id": 1,
"id_centro_operacion": 1,
"categoria_doc": "NC",
"prefijo_tipo_doc": "RCA",
"descripcion": "RECIBO DE CAJA",
"numero": 2,
"num_digitos_decimal": 2,
"mensaje_factura1": "MENSAJE DE LA FACTURA 1",
"mensaje_factura2": "MENSAJE DE LA FACTURA 2",
"numero_resolucion_dian": "1234567",
"formato_doc": "PDF",
"prefijo_factura": "PF",
"activo": true,
"sub_costo_venta": 1,
"sub_ingreso_venta": 4,
"sub_devolucion_venta": 1,
"aplica_solo_alterna": false,
"mensaje_factura3": "MENSAJE DE LA FACTURA 3",
"aplica_COLGAAP": true,
"aplica_NIIF": true,
"predeterminado": false,
"aplica_restringe_orden_cronologico": false,
"aplica_fecha_primer_documento": false,
"mensaje_factura4": "MENSAJE DE LA FACTURA 4",
"resolucion_desde": 1234567,
"resolucion_hasta": 1234567,
"res_fecha_desde": "2023-06-01",
"aplica_doc_recurrente": true,
"aplica_intereses_venta": true,
"id_documento_electronico": 6,
"aplica_gestiona_tarea": true,
"aplica_adjuntar_formato_facturaSerpi": true,
"res_fecha_hasta": "2023-06-01",
"gdttipodocpadreid": 1,
"gdttipodocpadrenotaid": 1,
"id_bodega_pos": 2,
"nit_tercero_pos": "1234567",
"aplica_asignar_recepcion_electronico": true,
"fecha_recepcion_electronica": "2023-06-01"
}
| Campo | Tipo de dato | Longitud | Requerido | Descripción |
|---|---|---|---|---|
| id | int | 11 | Si | Identificador del tipo de documento |
| id_centro_operacion | int | Si | Identificador del centro de operación | |
| categoria_doc | string | Si | Categoría del documento | |
| prefijo_tipo_doc | string | Si | Prefijo del tipo de documento | |
| descripcion | string | Si | Descripción del documento | |
| numero | int | No | Número del documento | |
| num_digitos_decimal | int | No | Número de dígitos decimales | |
| mensaje_factura1 | string | No | Mensaje de la factura 1 | |
| mensaje_factura2 | string | No | Mensaje de la factura 2 | |
| numero_resolucion_dian | string | No | Número de resolución DIAN | |
| formato_doc | string | No | Formato del documento | |
| prefijo_factura | string | No | Prefijo de la factura | |
| activo | bool | No | Indicador de activo | |
| sub_costo_venta | int | No | Subcosto de venta | |
| sub_ingreso_venta | int | No | Subingreso de venta | |
| sub_devolucion_venta | int | No | Subdevolución de venta | |
| aplica_solo_alterna | bool | No | Indicador de aplicación solo para alterna | |
| mensaje_factura3 | string | No | Mensaje de la factura 3 | |
| aplica_COLGAAP | bool | No | Indicador de aplicación de COLGAAP | |
| aplica_NIIF | bool | No | Indicador de aplicación de NIIF | |
| predeterminado | bool | No | Indicador de predeterminado | |
| aplica_restringe_orden_cronologico | bool | No | Indicador de aplicación de restricción de orden cronológico | |
| aplica_fecha_primer_documento | bool | No | Indicador de aplicación de fecha de primer documento | |
| mensaje_factura4 | string | No | Mensaje de la factura 4 | |
| resolucion_desde | int | No | Resolución desde | |
| resolucion_hasta | int | No | Resolución hasta | |
| res_fecha_desde | string | No | Fecha de la resolución desde | |
| aplica_doc_recurrente | bool | No | Indicador de aplicación de documento recurrente | |
| aplica_intereses_venta | bool | No | Indicador de aplicación de intereses de venta | |
| id_documento_electronico | int | No | Identificador del documento electrónico | |
| aplica_gestiona_tarea | bool | No | Indicador de aplicación de gestión de tarea | |
| aplica_adjuntar_formato_facturaSerpi | bool | No | Indicador de aplicación de adjuntar formato de factura Serpi | |
| res_fecha_hasta | string | No | Fecha de la resolución hasta | |
| gdttipodocpadreid | int | No | Identificador del tipo de documento padre | |
| gdttipodocpadrenotaid | int | No | Identificador del tipo de documento padre nota | |
| id_bodega_pos | int | No | Identificador de la bodega POS | |
| nit_tercero_pos | string | No | NIT del tercero POS | |
| aplica_asignar_recepcion_electronico | bool | No | Indicador de aplicación de asignar recepción electrónica | |
| fecha_recepcion_electronica | string | No | Fecha de recepción electrónica |
AVISO IMPORTANTE:
Digite null o 0 (si es un campo del tipo double o int), para aquellos valores donde los campos no sean obligatorios y donde no se va a asignar algún valor.
Response
{
"success": true,
"code": 200,
"errors": [],
"message": "Validaciones exitosas. Registro modificado exitosamente"
}
{
"success": false,
"code": 204,
"errors": null,
"message": "No se encontraron registros con el id 1"
}Validaciones
{
"success": false,
"code": 400,
"errors": [
"El centro de operacion 1 no existe",
"El prefijo_tipo_doc RCA ya esta asociado al id x",
"El campo descripcion es obligatorio",
"El campo sub_costo_venta debe ser 1 (ADMINISTRACION), 4 (VENTAS) o 0 (si no aplica)",
"El campo sub_ingreso_venta debe ser 1 (ADMINISTRACION), 4 (VENTAS) o 0 (si no aplica)",
"El campo sub_devolucion_venta debe ser 1 (ADMINISTRACION), 4 (VENTAS) o 0 (si no aplica)",
"El campo res_fecha_desde es inválido. Formato esperado: yyyy-MM-dd",
"El campo fecha_recepcion_electronica es inválido. Formato esperado: yyyy-MM-dd",
"El gdttipodocpadreid 1 no existe",
"El gdttipodocpadrenotaid 1 no existe",
"El id_bodega_pos 2 no existe",
"El nit_tercero_pos 1234567 no existe",
"El campo categoria_doc con la categoría NC no coincide con alguna de las nomenclaturas especificadas",
"El campo id_documento_electronico debe ser un valor del 0 al 7"
],
"message": "Problemas de validaciones. Se presentaron errores al crear el registro"
}</Tab> </Tabs>
Códigos de estado HTTP
| Código | Descripción |
|---|---|
| 200 | La solicitud ha sido exitosa |
| 201 | La solicitud ha tenido éxito y ha llevado a la creación de un recurso |
| 204 | La solicitud se ha completado correctamente, pero no hay contenido para devolver en la respuesta |
| 400 | El servidor no puede o no procesará la petición debido a algo que es percibido como un error del cliente |
| 401 | La solicitud requiere autenticación, pero el cliente no ha proporcionado credenciales válidas o no está autorizado para acceder al recurso |
| 403 | El servidor ha entendido la solicitud, pero se niega a cumplirla debido a que el cliente no tiene permisos para acceder al recurso |
| 404 | El recurso solicitado no se ha encontrado en el servidor |
| 500 | Internal Server Error |
| 503 | El servidor no está disponible actualmente debido a una sobrecarga o mantenimiento temporal |
¿Cómo consumir la API?
<Tabs>
<Tab name = "Java"> Request
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://localhost:44305/api/v1/TipoDocumento")
.method("GET", body)
.addHeader("secretkey", "{{secret key}}")
.addHeader("Authorization", "Bearer{{token}}")
.build();
Response response = client.newCall(request).execute();</Tab>
<Tab name = "C#"> Request
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://localhost:44305/api/v1/TipoDocumento");
request.Headers.Add("secretkey", "{{secret key}}");
request.Headers.Add("Authorization", "Bearer{{token}}");
var content = new StringContent("", null, "text/plain");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());</Tab>
<Tab name = "PHP"> Request
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://localhost:44305/api/v1/TipoDocumento');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'secretkey' => '{{secret key}}',
'Authorization' => 'Bearer {{token}}'
));
$request->setBody('');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}</Tab>
</Tabs>