Diferencia entre revisiones de «API Terceros/Notas Tercero»
Página creada con «'''Descripción:''' PENDIENTE '''Autorización:''' Se requiere autenticación para todas las solicitudes. Las credenciales de autenticación deben ser incluidas en la cabecera de todas las solicitudes a través del campo Authorization utilizando el token de acceso entregado SERPI ERP. '''Beneficio:''' PENDIENTE '''Tipos de peticiones:''' GET, POST, PUT '''¿Cómo funciona?''' PENDIENTE == Métodos == <Tabs> <!-- ***************************************************…» |
|||
| Línea 23: | Línea 23: | ||
'''EndPoint con parámetros:''' | '''EndPoint con parámetros:''' | ||
<nowiki>https://www.apis.serpi.com.co/api/v1/NotaTercero? | <nowiki>https://www.apis.serpi.com.co/api/v1/NotaTercero?nitTercero=1075229539</nowiki> | ||
{| class="wikitable" | {| class="wikitable" | ||
| Línea 47: | Línea 47: | ||
|- | |- | ||
| 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 | | 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 | ||
|- | |||
| nitTercero || int || No || Este parámetro indica el NIT del tercero. Se devolverán las notas relacionadas a ese tercero | |||
|} | |} | ||
Revisión del 10:15 20 jun 2023
Descripción: PENDIENTE
Autorización: Se requiere autenticación para todas las solicitudes. Las credenciales de autenticación deben ser incluidas en la cabecera de todas las solicitudes a través del campo Authorization utilizando el token de acceso entregado SERPI ERP.
Beneficio: PENDIENTE
Tipos de peticiones: GET, POST, PUT
¿Cómo funciona? PENDIENTE
Métodos
<Tabs> <Tab name = "API Consulta (GET) ">
EndPoint: https://www.apis.serpi.com.co/api/v1/NotaTercero
EndPoint con parámetros: https://www.apis.serpi.com.co/api/v1/NotaTercero?nitTercero=1075229539
| 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 |
| nitTercero | int | No | Este parámetro indica el NIT del tercero. Se devolverán las notas relacionadas a ese tercero |
Response
{
"success": true,
"code": 200,
"errors": null,
"message": "1 registro(s) encontrados",
"result": [
{
"id": 1,
"descripcion": "LISTA DE PRECIO DEMO",
"fechavigencia": "2019-05-21",
"codigo": "0",
"lista_predeterminada": true,
"permiso_especial": true
}
]
}
{
"success": true
"code": 201,
"message": "No se encontraron registros",
"result": []
}| Campo | Tipo de dato | Descripción |
|---|---|---|
| id | int | Corresponde al identificador de la lista de precio |
| descripcion | string | Descripción de la lista de precio |
| fechavigencia | Date | Fecha Vigencia |
| codigo | string | Código |
| lista_predeterminada | bool | Lista Predeterminada |
| permiso_especial | bool | Permiso especial para Ver |
</Tab>
<Tab name = "API Creación (POST) "> EndPoint: https://www.apis.serpi.com.co/api/v1/NotaTercero
| 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
{
"descripcion": "LISTA DE PRECIO DEMO",
"fechavigencia": "2023-06-19",
"codigo": "4",
"lista_predeterminada": true,
"permiso_especial": true
}
| Campo | Tipo de dato | Longitud | Requerido | Descripción |
|---|---|---|---|---|
| descripcion | string | 100 | Si | Descripción de la lista de precio |
| fechavigencia | Date | YYYY-MM-DD | Si | Fecha Vigencia |
| codigo | string | 30 | Si | Código único de la lista de precio |
| lista_predeterminada | bool | 1 | No | Lista Predeterminada |
| permiso_especial | bool | 1 | No | Permiso especial para Ver |
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 codigo 1 ya existe",
"El campo descripcion es obligatorio",
"El campo de fechavigencia es inválido. Formato esperado: yyyy-MM-dd"
],
"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/NotaTercero
| 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,
"descripcion": "LISTA DE PRECIO DEMO MODIFICADA",
"fechavigencia": "2022-05-21",
"codigo": "5",
"lista_predeterminada": false,
"permiso_especial": false
}
| Campo | Tipo de dato | Longitud | Requerido | Descripción |
|---|---|---|---|---|
| id | int | 11 | Si | Corresponde al identificador de la lista de precio |
| descripcion | string | 100 | Si | Descripción de la lista de precio |
| fechavigencia | Date | YYYY-MM-DD | Si | Fecha Vigencia |
| codigo | string | 30 | Si | Código único de la lista de precio |
| lista_predeterminada | bool | 1 | No | Lista Predeterminada |
| permiso_especial | bool | 1 | No | Permiso especial para Ver |
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 campo id es obligatorio",
"El codigo 1 ya esta asociado a otro id",
"El campo descripcion es obligatorio",
"El campo fechavigencia es obligatorio",
"El campo de fechavigencia es inválido. Formato esperado: yyyy-MM-dd"
],
"message": "Problemas de validaciones. Se presentaron errores al modificar 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/NotaTercero")
.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/NotaTercero");
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/NotaTercero');
$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>