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:
¿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