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/v3/BrickControlRest.svc/Hooks/subscribe
- Payload:
Ver formato de un JSON para suscribirte a un evento
Ejemplo Payload:
Ver ejemplo 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/v3/BrickControlRest.svc/Hooks/unsubscribe
- Payload:
Ver formato de un JSON para darte de baja de un evento
Ejemplo Payload:
Ver ejemplo 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/v3/BrickControlRest.svc/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/v3/BrickControlRest.svc/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/v3/BrickControlRest.svc/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?
A continuación os listamos los eventos a los que podéis suscribiros:
Cliente
- Evento: customer.save
- Evento: customer.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/Customer?email=tuemail@gmail.com
Proveedor
- Evento: supplier.save
- Evento: supplier.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/Supplier?email=tuemail@gmail.com
Trabajador
- Evento: employee.save
- Evento: employee.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/Employee?email=tuemail@gmail.com
Proyecto
- Evento: project.save
- Evento: project.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/Project?email=tuemail@gmail.com
Factura de compra
- Evento: purchase-invoice.save
- Evento: purchase-invoice.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/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/v3/BrickControlRest.svc/Hooks/Test/ReceptionOfMaterials?email=tuemail@gmail.com
Parte de trabajo
- Evento: timesheet.save
- Evento: timesheet.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/TimeSheet?email=tuemail@gmail.com
Factura de venta
- Evento: sale-invoice.save
- Evento: sale-invoice.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/SaleInvoice?email=tuemail@gmail.com
Artículo
- Evento: item.save
- Evento: item.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/Item?email=tuemail@gmail.com
Pedido
- Evento: purchase-order.save
- Evento: purchase-order.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/PurchaseOrder?email=tuemail@gmail.com
Traspaso de material
- Evento: material-transfer.save
- Evento: material-transfer.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/MaterialTransfer?email=tuemail@gmail.com
Usuario
- Evento: user.save
- Evento: user.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/User?email=tuemail@gmail.com
Forma de pago
- Evento: payment-method.save
- Evento: payment-method.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/PaymentMethod?email=tuemail@gmail.com
Unidad de medida
- Evento: measurement-unit.save
- Evento: measurement-unit.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/Hooks/Test/MeasurementUnit?email=tuemail@gmail.com
Iva
- Evento: tax.save
- Evento: tax.delete
URL prueba: https://brickcontrol.com/api/v3/BrickControlRest.svc/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