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