API Saldos Inventario
Descripción: Esta API permite la sincronización de los tipos de presentación de productos entre SERPI y la plataforma que lo requiera.
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.
Tipos de peticiones: GET, POST, PUT
Métodos
<Tabs> <Tab name = "API Consulta (GET) "> GET
EndPoint: https://www.apis.serpi.com.co/api/v1/TipoPresentacion
EndPoint con parámetros: https://www.apis.serpi.com.co/api/v1/TipoPresentacion?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,
"codigo": "1",
"descripcion": "TIPO PRESENTACION DEMO"
}
]
}
{
"success": true
"code": 201,
"message": "No se encontraron registros",
"result": []
}
Campo de resultados
| Campo | Tipo de dato | Descripción | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | int | Corresponde al identificador del tipo de presentacion | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| codigo | string | Corresponde al código del tipo de presentacion | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description | string | Descripción del tipo de presentacion
</Tab> <Tab name = "API Creación (POST) "> POST EndPoint: https://www.apis.serpi.com.co/api/v1/TipoPresentacion
Authorization: Usar Bearer. Ejemplo “bearer {{token}}”.
{{token}} Token de autorizacion generado por SerpiERPRequest {
"codigo": "1",
"descripcion": "TIPO PRESENTACION DEMO"
}Campos del request
Response {
"success": true,
"code": 201,
"errors": [],
"message": "Validaciones exitosas. Registro creado exitosamente"
}
{
"success": false,
"code": 400,
"errors": [
"El codigo 1 ya existe"
],
"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/TipoPresentacion
Authorization: Usar Bearer. Ejemplo “bearer {{token}}”.
{{token}} Token de autorizacion generado por SerpiERP
{
"id": 1,
"codigo": "1",
"descripcion": "TIPO PRESENTACION DEMO"
}Campos del request
{
"success": true,
"code": 200,
"errors": [],
"message": "registro modificado exitosamente"
}Validaciones {
"success": false,
"code": 400,
"errors": [
"El campo id es obligatorio",
"El campo descripcion es obligatorio",
"La codigo 1 ya esta asociado al id X"
],
"message": "Se presentaron errores al modificar el registro"
}</Tab> </Tabs> Códigos de estado HTTP
¿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/TipoPresentacion")
.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/TipoPresentacion");
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/TipoPresentacion');
$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> |