ServiceStack Home (Live)

<back to all web services

QueryCustomers

Admin
Requires Authentication
Required role:Admin
The following routes are available for this service:
All Verbs/query/customers
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
{

    @ValidateRequest(Validator="IsAdmin")
    @AutoQueryViewer(DefaultFields="Id,Name,Email,DisplayName,FirstName,LastName,Company,CreatedDate,Plan,IsReferrer", DefaultSearchField="Email", DefaultSearchType="Contains", IconUrl="material-icons:person", Title="Customers")
    public static class QueryCustomers extends QueryDb<Customer>
    {
        
    }

    public static class QueryDb<T> extends QueryBase
    {
        
    }

    @DataContract
    public static class QueryBase
    {
        @DataMember(Order=1)
        public Integer skip = null;

        @DataMember(Order=2)
        public Integer take = null;

        @DataMember(Order=3)
        public String orderBy = null;

        @DataMember(Order=4)
        public String orderByDesc = null;

        @DataMember(Order=5)
        public String include = null;

        @DataMember(Order=6)
        public String fields = null;

        @DataMember(Order=7)
        public HashMap<String,String> meta = null;
        
        public Integer getSkip() { return skip; }
        public QueryBase setSkip(Integer value) { this.skip = value; return this; }
        public Integer getTake() { return take; }
        public QueryBase setTake(Integer value) { this.take = value; return this; }
        public String getOrderBy() { return orderBy; }
        public QueryBase setOrderBy(String value) { this.orderBy = value; return this; }
        public String getOrderByDesc() { return orderByDesc; }
        public QueryBase setOrderByDesc(String value) { this.orderByDesc = value; return this; }
        public String getInclude() { return include; }
        public QueryBase setInclude(String value) { this.include = value; return this; }
        public String getFields() { return fields; }
        public QueryBase setFields(String value) { this.fields = value; return this; }
        public HashMap<String,String> getMeta() { return meta; }
        public QueryBase setMeta(HashMap<String,String> value) { this.meta = value; return this; }
    }

    public static class Customer implements IAddress
    {
        public Integer id = null;
        public String email = null;
        public String displayName = null;
        public String firstName = null;
        public String lastName = null;
        public String company = null;
        public String phoneNumber = null;
        public String addressLine1 = null;
        public String addressLine2 = null;
        public String addressCity = null;
        public String addressZip = null;
        public String addressState = null;
        public String addressCountry = null;
        public String stripeCustomerId = null;
        public String stripeCouponId = null;
        public String plan = null;
        public Date createdDate = null;
        public Boolean isReferrer = null;
        public ArrayList<Order> orders = null;
        public ArrayList<Subscription> subscriptions = null;
        
        public Integer getId() { return id; }
        public Customer setId(Integer value) { this.id = value; return this; }
        public String getEmail() { return email; }
        public Customer setEmail(String value) { this.email = value; return this; }
        public String getDisplayName() { return displayName; }
        public Customer setDisplayName(String value) { this.displayName = value; return this; }
        public String getFirstName() { return firstName; }
        public Customer setFirstName(String value) { this.firstName = value; return this; }
        public String getLastName() { return lastName; }
        public Customer setLastName(String value) { this.lastName = value; return this; }
        public String getCompany() { return company; }
        public Customer setCompany(String value) { this.company = value; return this; }
        public String getPhoneNumber() { return phoneNumber; }
        public Customer setPhoneNumber(String value) { this.phoneNumber = value; return this; }
        public String getAddressLine1() { return addressLine1; }
        public Customer setAddressLine1(String value) { this.addressLine1 = value; return this; }
        public String getAddressLine2() { return addressLine2; }
        public Customer setAddressLine2(String value) { this.addressLine2 = value; return this; }
        public String getAddressCity() { return addressCity; }
        public Customer setAddressCity(String value) { this.addressCity = value; return this; }
        public String getAddressZip() { return addressZip; }
        public Customer setAddressZip(String value) { this.addressZip = value; return this; }
        public String getAddressState() { return addressState; }
        public Customer setAddressState(String value) { this.addressState = value; return this; }
        public String getAddressCountry() { return addressCountry; }
        public Customer setAddressCountry(String value) { this.addressCountry = value; return this; }
        public String getStripeCustomerId() { return stripeCustomerId; }
        public Customer setStripeCustomerId(String value) { this.stripeCustomerId = value; return this; }
        public String getStripeCouponId() { return stripeCouponId; }
        public Customer setStripeCouponId(String value) { this.stripeCouponId = value; return this; }
        public String getPlan() { return plan; }
        public Customer setPlan(String value) { this.plan = value; return this; }
        public Date getCreatedDate() { return createdDate; }
        public Customer setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Boolean getIsReferrer() { return isReferrer; }
        public Customer setIsReferrer(Boolean value) { this.isReferrer = value; return this; }
        public ArrayList<Order> getOrders() { return orders; }
        public Customer setOrders(ArrayList<Order> value) { this.orders = value; return this; }
        public ArrayList<Subscription> getSubscriptions() { return subscriptions; }
        public Customer setSubscriptions(ArrayList<Subscription> value) { this.subscriptions = value; return this; }
    }

    public static class Order implements IAddress
    {
        public Integer id = null;
        public Integer customerId = null;
        public String productName = null;
        public String firstName = null;
        public String lastName = null;
        public String email = null;
        public String company = null;
        public String phoneNumber = null;
        public String addressLine1 = null;
        public String addressLine2 = null;
        public String addressCity = null;
        public String addressZip = null;
        public String addressState = null;
        public String addressCountry = null;
        public Boolean agreeTerms = null;
        public String notes = null;
        public String last4 = null;
        public Integer subTotal = null;
        public String couponId = null;
        public Integer discount = null;
        public Integer tax = null;
        public Integer total = null;
        public Integer itemQuantity = null;
        public Integer authorizedQuantity = null;
        public Integer subscriptionId = null;
        public String licenseRef = null;
        public Integer paymentId = null;
        public Integer emailId = null;
        public Boolean paid = null;
        public Date createdDate = null;
        public Date modifiedDate = null;
        public String modifiedBy = null;
        public Date cancelledDate = null;
        public String cancelledReason = null;
        public String ipAddress = null;
        public ArrayList<OrderDetail> orderDetails = null;
        
        public Integer getId() { return id; }
        public Order setId(Integer value) { this.id = value; return this; }
        public Integer getCustomerId() { return customerId; }
        public Order setCustomerId(Integer value) { this.customerId = value; return this; }
        public String getProductName() { return productName; }
        public Order setProductName(String value) { this.productName = value; return this; }
        public String getFirstName() { return firstName; }
        public Order setFirstName(String value) { this.firstName = value; return this; }
        public String getLastName() { return lastName; }
        public Order setLastName(String value) { this.lastName = value; return this; }
        public String getEmail() { return email; }
        public Order setEmail(String value) { this.email = value; return this; }
        public String getCompany() { return company; }
        public Order setCompany(String value) { this.company = value; return this; }
        public String getPhoneNumber() { return phoneNumber; }
        public Order setPhoneNumber(String value) { this.phoneNumber = value; return this; }
        public String getAddressLine1() { return addressLine1; }
        public Order setAddressLine1(String value) { this.addressLine1 = value; return this; }
        public String getAddressLine2() { return addressLine2; }
        public Order setAddressLine2(String value) { this.addressLine2 = value; return this; }
        public String getAddressCity() { return addressCity; }
        public Order setAddressCity(String value) { this.addressCity = value; return this; }
        public String getAddressZip() { return addressZip; }
        public Order setAddressZip(String value) { this.addressZip = value; return this; }
        public String getAddressState() { return addressState; }
        public Order setAddressState(String value) { this.addressState = value; return this; }
        public String getAddressCountry() { return addressCountry; }
        public Order setAddressCountry(String value) { this.addressCountry = value; return this; }
        public Boolean isAgreeTerms() { return agreeTerms; }
        public Order setAgreeTerms(Boolean value) { this.agreeTerms = value; return this; }
        public String getNotes() { return notes; }
        public Order setNotes(String value) { this.notes = value; return this; }
        public String getLast4() { return last4; }
        public Order setLast4(String value) { this.last4 = value; return this; }
        public Integer getSubTotal() { return subTotal; }
        public Order setSubTotal(Integer value) { this.subTotal = value; return this; }
        public String getCouponId() { return couponId; }
        public Order setCouponId(String value) { this.couponId = value; return this; }
        public Integer getDiscount() { return discount; }
        public Order setDiscount(Integer value) { this.discount = value; return this; }
        public Integer getTax() { return tax; }
        public Order setTax(Integer value) { this.tax = value; return this; }
        public Integer getTotal() { return total; }
        public Order setTotal(Integer value) { this.total = value; return this; }
        public Integer getItemQuantity() { return itemQuantity; }
        public Order setItemQuantity(Integer value) { this.itemQuantity = value; return this; }
        public Integer getAuthorizedQuantity() { return authorizedQuantity; }
        public Order setAuthorizedQuantity(Integer value) { this.authorizedQuantity = value; return this; }
        public Integer getSubscriptionId() { return subscriptionId; }
        public Order setSubscriptionId(Integer value) { this.subscriptionId = value; return this; }
        public String getLicenseRef() { return licenseRef; }
        public Order setLicenseRef(String value) { this.licenseRef = value; return this; }
        public Integer getPaymentId() { return paymentId; }
        public Order setPaymentId(Integer value) { this.paymentId = value; return this; }
        public Integer getEmailId() { return emailId; }
        public Order setEmailId(Integer value) { this.emailId = value; return this; }
        public Boolean isPaid() { return paid; }
        public Order setPaid(Boolean value) { this.paid = value; return this; }
        public Date getCreatedDate() { return createdDate; }
        public Order setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Date getModifiedDate() { return modifiedDate; }
        public Order setModifiedDate(Date value) { this.modifiedDate = value; return this; }
        public String getModifiedBy() { return modifiedBy; }
        public Order setModifiedBy(String value) { this.modifiedBy = value; return this; }
        public Date getCancelledDate() { return cancelledDate; }
        public Order setCancelledDate(Date value) { this.cancelledDate = value; return this; }
        public String getCancelledReason() { return cancelledReason; }
        public Order setCancelledReason(String value) { this.cancelledReason = value; return this; }
        public String getIpAddress() { return ipAddress; }
        public Order setIpAddress(String value) { this.ipAddress = value; return this; }
        public ArrayList<OrderDetail> getOrderDetails() { return orderDetails; }
        public Order setOrderDetails(ArrayList<OrderDetail> value) { this.orderDetails = value; return this; }
    }

    public static class OrderDetail
    {
        public Integer id = null;
        public Integer orderId = null;
        public Integer skuId = null;
        public SkuType skuType = null;
        public Integer price = null;
        public String description = null;
        public Integer quantity = null;
        public Integer total = null;
        
        public Integer getId() { return id; }
        public OrderDetail setId(Integer value) { this.id = value; return this; }
        public Integer getOrderId() { return orderId; }
        public OrderDetail setOrderId(Integer value) { this.orderId = value; return this; }
        public Integer getSkuId() { return skuId; }
        public OrderDetail setSkuId(Integer value) { this.skuId = value; return this; }
        public SkuType getSkuType() { return skuType; }
        public OrderDetail setSkuType(SkuType value) { this.skuType = value; return this; }
        public Integer getPrice() { return price; }
        public OrderDetail setPrice(Integer value) { this.price = value; return this; }
        public String getDescription() { return description; }
        public OrderDetail setDescription(String value) { this.description = value; return this; }
        public Integer getQuantity() { return quantity; }
        public OrderDetail setQuantity(Integer value) { this.quantity = value; return this; }
        public Integer getTotal() { return total; }
        public OrderDetail setTotal(Integer value) { this.total = value; return this; }
    }

    public static enum SkuType
    {
        Product,
        PerDev,
        PerCore,
        Site,
        Support,
        Training,
        Register,
        Payment;
    }

    public static class Subscription
    {
        public Integer id = null;
        public Integer customerId = null;
        public String email = null;
        public Integer skuId = null;
        public String skuName = null;
        public SkuType skuType = null;
        public String code = null;
        public Integer quantity = null;
        public Integer supportQuantity = null;
        public Integer total = null;
        public Boolean isPlan = null;
        public Boolean isRenewal = null;
        public Integer subscriptionDurationDays = null;
        public Date renewalDate = null;
        public String licenseRef = null;
        public String licenseName = null;
        public String licenseAddress = null;
        public LicenseType licenseType = null;
        public Date expiryDate = null;
        public LicenseKey licenseKey = null;
        public String licenseKeyText = null;
        public Date createdDate = null;
        public Date modifiedDate = null;
        public Date cancelledDate = null;
        public String stripeSubscriptionId = null;
        public Integer emailId = null;
        public Integer emailRenewalId = null;
        public Integer emailExpiredId = null;
        public Integer renewalSubscriptionId = null;
        public String externalRef = null;
        public String notes = null;
        public String error = null;
        
        public Integer getId() { return id; }
        public Subscription setId(Integer value) { this.id = value; return this; }
        public Integer getCustomerId() { return customerId; }
        public Subscription setCustomerId(Integer value) { this.customerId = value; return this; }
        public String getEmail() { return email; }
        public Subscription setEmail(String value) { this.email = value; return this; }
        public Integer getSkuId() { return skuId; }
        public Subscription setSkuId(Integer value) { this.skuId = value; return this; }
        public String getSkuName() { return skuName; }
        public Subscription setSkuName(String value) { this.skuName = value; return this; }
        public SkuType getSkuType() { return skuType; }
        public Subscription setSkuType(SkuType value) { this.skuType = value; return this; }
        public String getCode() { return code; }
        public Subscription setCode(String value) { this.code = value; return this; }
        public Integer getQuantity() { return quantity; }
        public Subscription setQuantity(Integer value) { this.quantity = value; return this; }
        public Integer getSupportQuantity() { return supportQuantity; }
        public Subscription setSupportQuantity(Integer value) { this.supportQuantity = value; return this; }
        public Integer getTotal() { return total; }
        public Subscription setTotal(Integer value) { this.total = value; return this; }
        public Boolean getIsPlan() { return isPlan; }
        public Subscription setIsPlan(Boolean value) { this.isPlan = value; return this; }
        public Boolean getIsRenewal() { return isRenewal; }
        public Subscription setIsRenewal(Boolean value) { this.isRenewal = value; return this; }
        public Integer getSubscriptionDurationDays() { return subscriptionDurationDays; }
        public Subscription setSubscriptionDurationDays(Integer value) { this.subscriptionDurationDays = value; return this; }
        public Date getRenewalDate() { return renewalDate; }
        public Subscription setRenewalDate(Date value) { this.renewalDate = value; return this; }
        public String getLicenseRef() { return licenseRef; }
        public Subscription setLicenseRef(String value) { this.licenseRef = value; return this; }
        public String getLicenseName() { return licenseName; }
        public Subscription setLicenseName(String value) { this.licenseName = value; return this; }
        public String getLicenseAddress() { return licenseAddress; }
        public Subscription setLicenseAddress(String value) { this.licenseAddress = value; return this; }
        public LicenseType getLicenseType() { return licenseType; }
        public Subscription setLicenseType(LicenseType value) { this.licenseType = value; return this; }
        public Date getExpiryDate() { return expiryDate; }
        public Subscription setExpiryDate(Date value) { this.expiryDate = value; return this; }
        public LicenseKey getLicenseKey() { return licenseKey; }
        public Subscription setLicenseKey(LicenseKey value) { this.licenseKey = value; return this; }
        public String getLicenseKeyText() { return licenseKeyText; }
        public Subscription setLicenseKeyText(String value) { this.licenseKeyText = value; return this; }
        public Date getCreatedDate() { return createdDate; }
        public Subscription setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Date getModifiedDate() { return modifiedDate; }
        public Subscription setModifiedDate(Date value) { this.modifiedDate = value; return this; }
        public Date getCancelledDate() { return cancelledDate; }
        public Subscription setCancelledDate(Date value) { this.cancelledDate = value; return this; }
        public String getStripeSubscriptionId() { return stripeSubscriptionId; }
        public Subscription setStripeSubscriptionId(String value) { this.stripeSubscriptionId = value; return this; }
        public Integer getEmailId() { return emailId; }
        public Subscription setEmailId(Integer value) { this.emailId = value; return this; }
        public Integer getEmailRenewalId() { return emailRenewalId; }
        public Subscription setEmailRenewalId(Integer value) { this.emailRenewalId = value; return this; }
        public Integer getEmailExpiredId() { return emailExpiredId; }
        public Subscription setEmailExpiredId(Integer value) { this.emailExpiredId = value; return this; }
        public Integer getRenewalSubscriptionId() { return renewalSubscriptionId; }
        public Subscription setRenewalSubscriptionId(Integer value) { this.renewalSubscriptionId = value; return this; }
        public String getExternalRef() { return externalRef; }
        public Subscription setExternalRef(String value) { this.externalRef = value; return this; }
        public String getNotes() { return notes; }
        public Subscription setNotes(String value) { this.notes = value; return this; }
        public String getError() { return error; }
        public Subscription setError(String value) { this.error = value; return this; }
    }

    public static enum LicenseType
    {
        Free,
        FreeIndividual,
        FreeOpenSource,
        Indie,
        Business,
        Enterprise,
        TextIndie,
        TextBusiness,
        OrmLiteIndie,
        OrmLiteBusiness,
        RedisIndie,
        RedisBusiness,
        AwsIndie,
        AwsBusiness,
        Trial,
        Site,
        TextSite,
        RedisSite,
        OrmLiteSite;
    }

    public static class LicenseKey
    {
        public String ref = null;
        public String name = null;
        public LicenseType type = null;
        public Long meta = null;
        public String hash = null;
        public String halg = null;
        public Date expiry = null;
        
        public String getRef() { return ref; }
        public LicenseKey setRef(String value) { this.ref = value; return this; }
        public String getName() { return name; }
        public LicenseKey setName(String value) { this.name = value; return this; }
        public LicenseType getType() { return type; }
        public LicenseKey setType(LicenseType value) { this.type = value; return this; }
        public Long getMeta() { return meta; }
        public LicenseKey setMeta(Long value) { this.meta = value; return this; }
        public String getHash() { return hash; }
        public LicenseKey setHash(String value) { this.hash = value; return this; }
        public String getHalg() { return halg; }
        public LicenseKey setHalg(String value) { this.halg = value; return this; }
        public Date getExpiry() { return expiry; }
        public LicenseKey setExpiry(Date value) { this.expiry = value; return this; }
    }

    @DataContract
    public static class QueryResponse<T>
    {
        @DataMember(Order=1)
        public Integer offset = null;

        @DataMember(Order=2)
        public Integer total = null;

        @DataMember(Order=3)
        public ArrayList<Customer> results = new ArrayList<Customer>();

        @DataMember(Order=4)
        public HashMap<String,String> meta = null;

        @DataMember(Order=5)
        public ResponseStatus responseStatus = null;
        
        public Integer getOffset() { return offset; }
        public QueryResponse<T> setOffset(Integer value) { this.offset = value; return this; }
        public Integer getTotal() { return total; }
        public QueryResponse<T> setTotal(Integer value) { this.total = value; return this; }
        public ArrayList<Customer> getResults() { return results; }
        public QueryResponse<T> setResults(ArrayList<Customer> value) { this.results = value; return this; }
        public HashMap<String,String> getMeta() { return meta; }
        public QueryResponse<T> setMeta(HashMap<String,String> value) { this.meta = value; return this; }
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public QueryResponse<T> setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

}

Java QueryCustomers 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 /query/customers HTTP/1.1 
Host: account.servicestack.net 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"skip":0,"take":0,"orderBy":"String","orderByDesc":"String","include":"String","fields":"String","meta":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"offset":0,"total":0,"results":[{"id":0,"email":"String","displayName":"String","firstName":"String","lastName":"String","company":"String","phoneNumber":"String","addressLine1":"String","addressLine2":"String","addressCity":"String","addressZip":"String","addressState":"String","addressCountry":"String","stripeCustomerId":"String","stripeCouponId":"String","plan":"String","createdDate":"\/Date(-62135596800000-0000)\/","isReferrer":false,"orders":[{"id":0,"customerId":0,"productName":"String","firstName":"String","lastName":"String","email":"String","company":"String","phoneNumber":"String","addressLine1":"String","addressLine2":"String","addressCity":"String","addressZip":"String","addressState":"String","addressCountry":"String","agreeTerms":false,"notes":"String","last4":"String","subTotal":0,"couponId":"String","discount":0,"tax":0,"total":0,"itemQuantity":0,"authorizedQuantity":0,"subscriptionId":0,"licenseRef":"String","paymentId":0,"emailId":0,"paid":false,"createdDate":"\/Date(-62135596800000-0000)\/","modifiedDate":"\/Date(-62135596800000-0000)\/","modifiedBy":"String","cancelledDate":"\/Date(-62135596800000-0000)\/","cancelledReason":"String","ipAddress":"String","orderDetails":[{"id":0,"orderId":0,"skuId":0,"skuType":"Product","price":0,"description":"String","quantity":0,"total":0}]}],"subscriptions":[{"id":0,"customerId":0,"email":"String","skuId":0,"skuName":"String","skuType":"Product","code":"String","quantity":0,"supportQuantity":0,"total":0,"isPlan":false,"isRenewal":false,"subscriptionDurationDays":0,"renewalDate":"\/Date(-62135596800000-0000)\/","licenseRef":"String","licenseName":"String","licenseAddress":"String","licenseType":"Free","expiryDate":"\/Date(-62135596800000-0000)\/","licenseKey":{"ref":"String","name":"String","type":"Free","meta":0,"hash":"String","halg":"String","expiry":"\/Date(-62135596800000-0000)\/"},"licenseKeyText":"String","createdDate":"\/Date(-62135596800000-0000)\/","modifiedDate":"\/Date(-62135596800000-0000)\/","cancelledDate":"\/Date(-62135596800000-0000)\/","stripeSubscriptionId":"String","emailId":0,"emailRenewalId":0,"emailExpiredId":0,"renewalSubscriptionId":0,"externalRef":"String","notes":"String","error":"String"}]}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}