| 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.*;
public class dtos
{
@DataContract
public static class QboWebhooksRequest
{
@DataMember(Name="eventNotifications")
@SerializedName("eventNotifications")
public ArrayList<QBOEventNotification> EventNotifications = null;
public ArrayList<QBOEventNotification> getEventNotifications() { return EventNotifications; }
public QboWebhooksRequest setEventNotifications(ArrayList<QBOEventNotification> value) { this.EventNotifications = value; return this; }
}
public static class QBOEventNotification
{
@DataMember(Name="realmId")
@SerializedName("realmId")
public String RealmId = null;
@DataMember(Name="dataChangeEvent")
@SerializedName("dataChangeEvent")
public QBODataChangeEvent DataChangeEvent = null;
public String getRealmId() { return RealmId; }
public QBOEventNotification setRealmId(String value) { this.RealmId = value; return this; }
public QBODataChangeEvent getDataChangeEvent() { return DataChangeEvent; }
public QBOEventNotification setDataChangeEvent(QBODataChangeEvent value) { this.DataChangeEvent = value; return this; }
}
public static class QBODataChangeEvent
{
@DataMember(Name="entities")
@SerializedName("entities")
public ArrayList<QBOEntity> Entities = null;
public ArrayList<QBOEntity> getEntities() { return Entities; }
public QBODataChangeEvent setEntities(ArrayList<QBOEntity> value) { this.Entities = value; return this; }
}
public static class QBOEntity
{
@DataMember(Name="name")
@SerializedName("name")
public QBOEntityName Name = null;
@DataMember(Name="id")
@SerializedName("id")
public String Id = null;
@DataMember(Name="operation")
@SerializedName("operation")
public QBOOperation Operation = null;
@DataMember(Name="lastUpdated")
@SerializedName("lastUpdated")
public Date LastUpdated = null;
@DataMember(Name="deletedId")
@SerializedName("deletedId")
public String DeletedId = null;
public QBOEntityName getName() { return Name; }
public QBOEntity setName(QBOEntityName value) { this.Name = value; return this; }
public String getId() { return Id; }
public QBOEntity setId(String value) { this.Id = value; return this; }
public QBOOperation getOperation() { return Operation; }
public QBOEntity setOperation(QBOOperation value) { this.Operation = value; return this; }
public Date getLastUpdated() { return LastUpdated; }
public QBOEntity setLastUpdated(Date value) { this.LastUpdated = value; return this; }
public String getDeletedId() { return DeletedId; }
public QBOEntity setDeletedId(String value) { this.DeletedId = value; return this; }
}
public static 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);
private final int value;
QBOEntityName(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static enum QBOOperation
{
Update,
Create,
Merge,
Delete,
Emailed,
Void;
}
}
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
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)