Skip to main content

All-in-one Inspections

La implementación más simple y rápida de Autoinspector.

Intro

Esta guía te proporcionará los pasos a seguir para implementar Autoinspector en tu sistema de la manera más simple y rápida. La única interacción que tu sistema tendrá con Autoinspector será para la creación de una inspección y recibir los eventos de actualización.

Obtener x-api-key

Permisos

Para obtener la x-api-key se necesita que un rol apto. Comunícate con el administrador propietario de tu empresa en caso de que no lo tengas.

Toda interacción con Autoinspector API requiere de un código secreto de autenticación. Para encontrar el tuyo, puedes seguir los siguientes pasos:

1. Dirígite al dashboard de Autoinspector
2. Haz click en el ícono de tu perfil y luego haz click en Configuración
3. Dirígite a la sección de developers
4. Encuentra tu API token en esta página

Creando la aplicación / Server

La aplicación que se comunicará con Autoinspector tiene que ser de tipo backend, es decir, no puede correr dentro del browser de algún cliente debido a que estarías exponiendo credenciales sensibles como x-api-key.

npm init -y

Luego debes instalar algunas dependencias para poder crear el servicio:

npm i express autoinspector dotenv

Por último, debes crear un archivo con el nombre .env en donde guardarás las credenciales:

.env
AUTOINSPECTOR_API_KEY=YOUR_X_API_KEY

Con las credenciales ya guardadas en un archivo, necesitarás cargarlas en la aplicación para poder utilizarlas:

/src/main.js
const dotenv = require('dotenv')

dotenv.config({
path: '.env',
})

Ya estás en condiciones de empezar a usar Autoinspector SDK, instalada anteriormente como dependencia. Para eso, debes crear una instancia pasando las credenciales:

/src/main.js
const Autoinspector = require('autoinspector')

const autoinspector = new Autoinspector({
apikey: process.env.AUTOINSPECTOR_API_KEY,
})

Pedido de inspección

El primer paso es crear el servidor HTTP para poder interactuar con él y crear inspecciones

/src/main.js
const express = require("express");

const app = express();

app.post("/inspection/:product", (req, res) => {
switch (req.params.product) {
case "car":
autoinspector.inspections.car
.create({
metadata:{
product_type: req.params.product
},
delivery:{
channel: 'email',
destination: "johndoe@gmail.com",
disabled: false,
}
locale: 'es_AR',
consumer: {
firstName: "John",
lastName: "Doe",
identification: "44188219",
email:"johndoe@gmail.com",
},
producer: {
internalId: "123",
},
car: {
plate: "AB705SU",
},
templateId: "easy" // Here we use built-in alias, but if you want to create an inspection using custom template, you need to send template id instead,
})
.then((inspection) => {
res.status(201).json(inspection);
})
.catch((err) => {
console.error(err);
res.status(500).json({ message: "Something went wrong" });
});
break;

//anothers product inspections implementations...

default:
res
.status(400)
.json({ message: "This product inspection does not exist" });
break;
}
});

app.listen(3000, () => {
console.log("HTTP server listening on port 3000");
});

Correr la aplicación

Una vez que ya tienes el servidor conectado a Autoinspector, puedes levantarlo corriendo el siguiente comando:

Antes de levantar el servidor, necesitas agregar lo siguiente en el package.json:

package.json
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start":"node ./src/main.js"
}

Finalmente, ya puedes correr el siguiente comando:

npm run start

Ahora que tu aplicación ya se encuentra levantada y lista para responder, puedes realizar una http request:

curl -X POST http://localhost:3000/inspection/car

Si todo salió como se esperaba, deberías recibir una respuesta del tipo:

{"inspectionId":"60f021d61234567890000000","productId":"60f021d6123456789000000","message":"Car inspection created!"}