| POST | /qbowebhook |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ESI.Service.QBOWebhooksListener;
namespace ESI.Service.QBOWebhooksListener
{
public partial class QBODataChangeEvent
{
[DataMember(Name="entities")]
public virtual List<QBOEntity> Entities { get; set; }
}
public partial class QBOEntity
{
[DataMember(Name="name")]
public virtual QBOEntityName Name { get; set; }
[DataMember(Name="id")]
public virtual string Id { get; set; }
[DataMember(Name="operation")]
public virtual QBOOperation Operation { get; set; }
[DataMember(Name="lastUpdated")]
public virtual DateTime LastUpdated { get; set; }
[DataMember(Name="deletedId")]
public virtual string DeletedId { get; set; }
}
public enum QBOEntityName
{
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,
}
public partial class QBOEventNotification
{
[DataMember(Name="realmId")]
public virtual string RealmId { get; set; }
[DataMember(Name="dataChangeEvent")]
public virtual QBODataChangeEvent DataChangeEvent { get; set; }
}
public enum QBOOperation
{
Update,
Create,
Merge,
Delete,
Emailed,
Void,
}
[DataContract]
public partial class QboWebhooksRequest
{
[DataMember(Name="eventNotifications")]
public virtual List<QBOEventNotification> EventNotifications { get; set; }
}
}
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)