| 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 .xml suffix or ?format=xml
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/xml
Content-Type: application/xml
Content-Length: length
<QboWebhooksRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ESI.Service.QBOWebhooksListener">
<eventNotifications>
<QBOEventNotification>
<DataChangeEvent>
<Entities>
<QBOEntity>
<DeletedId>String</DeletedId>
<Id>String</Id>
<LastUpdated>0001-01-01T00:00:00</LastUpdated>
<Name>Customer</Name>
<Operation>Update</Operation>
</QBOEntity>
</Entities>
</DataChangeEvent>
<RealmId>String</RealmId>
</QBOEventNotification>
</eventNotifications>
</QboWebhooksRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length (string)