Skip to main content

Megaventory Webhooks

Written by Kostis Mamassis

There are two endpoints responsible for subscribing and unsubscribing to webhook events

  • EventSubscriptionAdd

  • EventSubscriptionDelete

EventSubscriptionAdd

Uses your “APIKEY” and an “mvEvent” object to subscribe an event to a "ListenerURL".

{
"APIKEY":"your_api_key",
"mvEvent":{
"EventID":"0",
"EventType":"your_event_type",
"Application":"customwebhooks",
"ListenerURL":"your_listener_url"
}
}

EventType

Valid event types are the following ones:

[
"ProductInsert",
"ProductUpdate",
"ProductDelete",
"CategoryInsert",
"CategoryUpdate",
"CategoryDelete",
"SupplierInsert",
"SupplierUpdate",
"SupplierDelete",
"ClientInsert",
"ClientUpdate",
"ClientDelete",
"CurrencyInsert",
"CurrencyUpdate",
"CurrencyDelete",
"DocumentTypeInsert",
"DocumentTypeUpdate",
"DocumentTypeDelete",
"TaxInsert",
"TaxUpdate",
"TaxDelete",
"DiscountInsert",
"DiscountUpdate",
"DiscountDelete",
"InventoryLocationInsert",
"InventoryLocationUpdate",
"InventoryLocationDelete",
"IntegrationLogInsert",
"IntegrationLogUpdate",
"ShippingProviderInsert",
"ShippingProviderUpdate",
"ShippingProviderDelete",
"InventoryStockAlert",
"PricingRuleInsert",
"PricingRuleUpdate",
"PricingRuleDelete",
"WeightUnitInsert",
"WeightUnitUpdate",
"WeightUnitDelete",
"DocumentInsert",
"DocumentUpdate",
"DocumentApproved",
"DocumentCancelled",
"DocumentDeleted",
"DocumentClosed",
"DocumentReOpened",
"GoodsTransferInsert",
"GoodsTransferUpdate",
"GoodsTransferItemsShipped",
"GoodsTransferItemsReceived",
"GoodsTransferCancelled",
"GoodsTransferClosed",
"GoodsTransferReOpened",
"GoodsTransferDeleted",
"SalesOrderInsert",
"SalesOrderUpdate",
"SalesOrderAcceptReverted",
"SalesOrderApproved",
"SalesOrderCancelled",
"SalesOrderClosed",
"SalesOrderReOpened",
"SalesOrderItemsShipped",
"SalesOrderItemsInvoiced",
"PurchaseOrderInsert",
"PurchaseOrderUpdate",
"PurchaseOrderApproved",
"PurchaseOrderAcceptReverted",
"PurchaseOrderCancelled",
"PurchaseOrderClosed",
"PurchaseOrderReOpened",
"PurchaseOrderItemsReceived",
"PurchaseOrderItemsInvoiced",
"SalesQuoteInsert",
"SalesQuoteApproved",
"SalesQuoteUpdate",
"SalesQuoteAcceptReverted",
"SalesQuoteCancelled",
"SalesQuoteClosed",
"WorkOrderInsert",
"WorkOrderUpdate",
"WorkOrderCancel",
"WorkOrderClose",
"WorkOrderAllocateMaterials",
"WorkOrderDeleteFinishedGoodReceipt",
"WorkOrderDelete",
"WorkOrderReOpen",
"WorkOrderReceiveFinishedGoods",
"WorkOrderReturnMaterials"
]

Application

This is an identifier of your application name. To create a custom application to use the Megaventory webhooks, one should set this to “customwebhooks”.

ListenerURL

Your webhook listener URL

Example Request for EventSubscriptionAdd

We are attempting to create a webhook for the “CurrencyInsert” event type. Every time a new currency is inserted, the listenerURL will be notified.

{
"APIKEY":"your_api_key",
"mvEvent":{
"EventType":"CurrencyInsert",
"Application":"customwebhooks",
"ListenerURL":"https://example-url-for-testing.com"
}
}

Response

The previous request will produce the following response.

{
"mvEvent": {
"EventID": 4980,
"EventType": "CurrencyInsert",
"Application": "customwebhooks",
"ListenerURL": "https://example-url-for-testing.com"
},
"ResponseStatus": {
"ErrorCode": "0"
},
"entityID": 4980
}

EventSubscriptionDelete

Uses your “APIKEY” and an “mvEventID” parameter to unsubscribe the event from the listener URL

Example Request for EventSubscriptionDelete

We are attempting to delete a specific webhook based on its “mvEventID”.

{
"APIKEY":"your_api_key",
"mvEventID":"the_event_id_to_delete"
}

Response

The previous request will produce the following result.

{
"result": true,
"ResponseStatus": {
"ErrorCode": "0"
}
}

Did this answer your question?