Webhooks de BrickControl

¿Qué son los webhooks?

Los webhooks son notificaciones que envía BrickControl a programas externos para avisarles de los eventos que ocurren en BrickControl (ejemplo: se ha guardado la factura x, se ha borrado el cliente x…).

¿Cómo funcionan los webhooks?

Debes suscribirte a un evento de BrickControl. Para suscribirte debes indicar el nombre del evento al que te quieres suscribir (por ejemplo customer.save) y la url donde quieres recibir la notificación. BrickControl cuanto se ejecute ese evento (por ejemplo que un cliente se guarde), te enviará un JSON a la url que has indicado al suscribirte a ese evento.

En tu url debes tener preparado tu web service REST que sea capaz de recibir un POST y leer el objeto JSON que te enviamos, y una vez recibido realizar en tu desarrollo las acciones que consideres oportunas, como por ejemplo guardar ese cliente en otro software.

¿Cómo me suscribo a un evento?

Si aún no has llamado a ningún método de nuestra API, lo primero de todo lee la siguiente información:

Primeros pasos con la API de BrickControl

Para suscribirte a un evento debes llamar al siguiente método de la API:

Method: POST

URL: https://brickcontrol.com/api/v5/Hooks/subscribe

Payload:

Ver formato de un JSON para suscribirte a un evento

Ejemplo Payload:

Ver formato de un JSON para suscribirte a un evento

Nota: El TargetUrl debes sustituirlo por tu URL que debes tener preparada para recibir las notificaciones.

¿Cómo me doy de baja de un evento?

Para darte de baja de un evento debes llamar al siguiente método de la API:

Method: DELETE

URL: https://brickcontrol.com/api/v5/Hooks/unsubscribe

Payload:

Ver formato de un JSON para darte de baja de un evento

Ejemplo Payload:

Ver formato de un JSON para darte de baja de un evento

¿Cómo veo todos los eventos a los que estoy suscrito?

Para ver todos los eventos a los que estas suscrito debes llamar al siguiente método de la API:

Method: GET

URL: https://brickcontrol.com/api/v5/Hooks/getList

¿Cómo veo si estoy suscrito a un evento?

Para ver si estás suscrito a un evento con un código determinado debes llamar al siguiente método de la API:

Method: GET

URL: https://brickcontrol.com/api/v5/Hooks/get?id=1

Donde “id” es el código del evento que quieres obtener

¿Cómo puedo probar si el webhook me está enviando la notificación correctamente?

Para que podáis probar si os habéis suscrito bien a un evento de BrickControl, hemos creado una serie de urls que cuando os suscribís al evento a través de esa URL os envía un email con el JSON cada vez que ocurre ese evento.

URL de ejemplo: https://brickcontrol.com/api/v5/Hooks/Test/Customer?email=tuemail@gmail.com

Ejemplo Payload:

Ver ejemplo de un JSON para suscribirte a un evento con la URL de prueba

Si os suscribís a un evento con este payload, cada vez que se guarde un cliente en BrickControl, se enviará un email a “tuemail@gmail.com” (modificar ese email por el vuestro) con el JSON que está enviando a la URL.

Esto es sólo para que probéis los webhook, cuando lo uséis vosotros debéis tener una URL que sea capaz de recibir ese JSON y procesarlo.

¿A qué eventos me puedo suscribir?

Cliente

Evento: customer.save

Evento: customer.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/Customer?email=tuemail@gmail.com

Proveedor

Evento: supplier.save

Evento: supplier.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/Supplier?email=tuemail@gmail.com

Trabajador

Evento: employee.save

Evento: employee.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/Employee?email=tuemail@gmail.com

Proyecto

Evento: project.save

Evento: project.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/Project?email=tuemail@gmail.com

Factura de compra

Evento: purchase-invoice.save

Evento: purchase-invoice.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/PurchaseInvoice?email=tuemail@gmail.com

Recepción de materiales

Evento: reception-of-materials.save

Evento: reception-of-materials.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/ReceptionOfMaterials?email=tuemail@gmail.com

Parte de trabajo

Evento: timesheet.save

Evento: timesheet.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/TimeSheet?email=tuemail@gmail.com

Factura de venta

Evento: sale-invoice.save

Evento: sale-invoice.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/SaleInvoice?email=tuemail@gmail.com

Artículo

Evento: item.save

Evento: item.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/Item?email=tuemail@gmail.com

Pedido

Evento: purchase-order.save

Evento: purchase-order.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/PurchaseOrder?email=tuemail@gmail.com

Traspaso de material

Evento: material-transfer.save

Evento: material-transfer.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/MaterialTransfer?email=tuemail@gmail.com

Usuario

Evento: user.save

Evento: user.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/User?email=tuemail@gmail.com

Forma de pago

Evento: payment-method.save

Evento: payment-method.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/PaymentMethod?email=tuemail@gmail.com

Unidad de medida

Evento: measurement-unit.save

Evento: measurement-unit.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/MeasurementUnit?email=tuemail@gmail.com

Iva

Evento: tax.save

Evento: tax.delete

URL prueba: https://brickcontrol.com/api/v5/Hooks/Test/Tax?email=tuemail@gmail.com

Otros eventos

Si necesitas un evento que no está en este listado, solicítanoslo en nuestra web de soporte