QBO Webhooks Listener

<back to all web services

QboWebhooksRequest

The following routes are available for this service:
POST/qbowebhook
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


@DataContract
open class QboWebhooksRequest
{
    @DataMember(Name="eventNotifications")
    @SerializedName("eventNotifications")
    open var EventNotifications:ArrayList<QBOEventNotification>? = null
}

open class QBOEventNotification
{
    @DataMember(Name="realmId")
    @SerializedName("realmId")
    open var RealmId:String? = null

    @DataMember(Name="dataChangeEvent")
    @SerializedName("dataChangeEvent")
    open var DataChangeEvent:QBODataChangeEvent? = null
}

open class QBODataChangeEvent
{
    @DataMember(Name="entities")
    @SerializedName("entities")
    open var Entities:ArrayList<QBOEntity>? = null
}

open class QBOEntity
{
    @DataMember(Name="name")
    @SerializedName("name")
    open var Name:QBOEntityName? = null

    @DataMember(Name="id")
    @SerializedName("id")
    open var Id:String? = null

    @DataMember(Name="operation")
    @SerializedName("operation")
    open var Operation:QBOOperation? = null

    @DataMember(Name="lastUpdated")
    @SerializedName("lastUpdated")
    open var LastUpdated:Date? = null

    @DataMember(Name="deletedId")
    @SerializedName("deletedId")
    open var DeletedId:String? = null
}

enum class QBOEntityName(val value:Int)
{
    Customer(20),
    Department(21),
    Vendor(21),
    Deposit(22),
    Invoice(23),
    Bill(24),
    Item(24),
    JournalCode(25),
    PurchaseOrder(25),
    JournalEntry(26),
    Estimate(26),
    RefundReceipt(26),
    Employee(27),
    SalesReceipt(27),
    TaxAgency(28),
    Term(29),
    TimeActivity(30),
    Account(30),
    Transfer(31),
    VendorCredit(31),
    CreditMemo(32),
    Purchase(33),
    Currency(33),
    Payment(35),
    PaymentMethod(36),
    BillPayment(36),
    Preferences(37),
    Budget(37),
    Class(38),
}

enum class QBOOperation
{
    Update,
    Create,
    Merge,
    Delete,
    Emailed,
    Void,
}

Kotlin QboWebhooksRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /qbowebhook HTTP/1.1 
Host: wh.entersecurity.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"eventNotifications":[{"realmId":"String","dataChangeEvent":{"entities":[{"name":"Customer","id":"String","operation":"Update","lastUpdated":"\/Date(-62135596800000-0000)\/","deletedId":"String"}]}}]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

(string)