Billiecart API

<back to all web services

SearchAllCustomersRequest

Requires Authentication
Requires the role:manager
The following routes are available for this service:
GET/customers
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class SearchAllCustomersRequest extends SearchOperationTenanted<SearchAllCustomersResponse>
    {
        
    }

    public static class SearchOperationTenanted<TResponse> extends SearchOperationUnTenanted<TResponse> implements ITenantedRequest
    {
        public String organisationId = null;
        
        public String getOrganisationId() { return organisationId; }
        public SearchOperationTenanted<TResponse> setOrganisationId(String value) { this.organisationId = value; return this; }
    }

    public static class SearchOperationUnTenanted<TResponse> extends GetOperationUnTenanted<TResponse> implements IHasSearchOptions
    {
        public String distinct = null;
        public Integer limit = null;
        public Integer offset = null;
        public String sort = null;
        public String filter = null;
        public String search = null;
        
        public String getDistinct() { return distinct; }
        public SearchOperationUnTenanted<TResponse> setDistinct(String value) { this.distinct = value; return this; }
        public Integer getLimit() { return limit; }
        public SearchOperationUnTenanted<TResponse> setLimit(Integer value) { this.limit = value; return this; }
        public Integer getOffset() { return offset; }
        public SearchOperationUnTenanted<TResponse> setOffset(Integer value) { this.offset = value; return this; }
        public String getSort() { return sort; }
        public SearchOperationUnTenanted<TResponse> setSort(String value) { this.sort = value; return this; }
        public String getFilter() { return filter; }
        public SearchOperationUnTenanted<TResponse> setFilter(String value) { this.filter = value; return this; }
        public String getSearch() { return search; }
        public SearchOperationUnTenanted<TResponse> setSearch(String value) { this.search = value; return this; }
    }

    public static class GetOperationUnTenanted<TResponse> implements IHasGetOptions, IGet
    {
        public String embed = null;
        
        public String getEmbed() { return embed; }
        public GetOperationUnTenanted<TResponse> setEmbed(String value) { this.embed = value; return this; }
    }

    public static class SearchAllCustomersResponse
    {
        public ResponseStatus responseStatus = null;
        public ArrayList<Customer> customers = null;
        public SearchMetadata metadata = null;
        
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public SearchAllCustomersResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
        public ArrayList<Customer> getCustomers() { return customers; }
        public SearchAllCustomersResponse setCustomers(ArrayList<Customer> value) { this.customers = value; return this; }
        public SearchMetadata getMetadata() { return metadata; }
        public SearchAllCustomersResponse setMetadata(SearchMetadata value) { this.metadata = value; return this; }
    }

    public static class Customer implements IIdentifiableResource
    {
        public String id = null;
        public String firstName = null;
        public String lastName = null;
        public Date dateOfBirth = null;
        public String driversLicenceNo = null;
        public String email = null;
        public String phone = null;
        public String preferredContactMethod = null;
        public String addressLine1 = null;
        public String addressLine2 = null;
        public String suburb = null;
        public String stateTerritory = null;
        public String postcode = null;
        public BankAccount bankAccount = null;
        public String userAccountId = null;
        
        public String getId() { return id; }
        public Customer setId(String value) { this.id = 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 Date getDateOfBirth() { return dateOfBirth; }
        public Customer setDateOfBirth(Date value) { this.dateOfBirth = value; return this; }
        public String getDriversLicenceNo() { return driversLicenceNo; }
        public Customer setDriversLicenceNo(String value) { this.driversLicenceNo = value; return this; }
        public String getEmail() { return email; }
        public Customer setEmail(String value) { this.email = value; return this; }
        public String getPhone() { return phone; }
        public Customer setPhone(String value) { this.phone = value; return this; }
        public String getPreferredContactMethod() { return preferredContactMethod; }
        public Customer setPreferredContactMethod(String value) { this.preferredContactMethod = 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 getSuburb() { return suburb; }
        public Customer setSuburb(String value) { this.suburb = value; return this; }
        public String getStateTerritory() { return stateTerritory; }
        public Customer setStateTerritory(String value) { this.stateTerritory = value; return this; }
        public String getPostcode() { return postcode; }
        public Customer setPostcode(String value) { this.postcode = value; return this; }
        public BankAccount getBankAccount() { return bankAccount; }
        public Customer setBankAccount(BankAccount value) { this.bankAccount = value; return this; }
        public String getUserAccountId() { return userAccountId; }
        public Customer setUserAccountId(String value) { this.userAccountId = value; return this; }
    }

    public static class BankAccount
    {
        public String bsbNumber = null;
        public String accountNumber = null;
        
        public String getBsbNumber() { return bsbNumber; }
        public BankAccount setBsbNumber(String value) { this.bsbNumber = value; return this; }
        public String getAccountNumber() { return accountNumber; }
        public BankAccount setAccountNumber(String value) { this.accountNumber = value; return this; }
    }

    public static class SearchMetadata
    {
        public Integer total = null;
        public Integer limit = null;
        public Integer offset = null;
        public Sorting sort = null;
        public Filtering filter = null;
        
        public Integer getTotal() { return total; }
        public SearchMetadata setTotal(Integer value) { this.total = value; return this; }
        public Integer getLimit() { return limit; }
        public SearchMetadata setLimit(Integer value) { this.limit = value; return this; }
        public Integer getOffset() { return offset; }
        public SearchMetadata setOffset(Integer value) { this.offset = value; return this; }
        public Sorting getSort() { return sort; }
        public SearchMetadata setSort(Sorting value) { this.sort = value; return this; }
        public Filtering getFilter() { return filter; }
        public SearchMetadata setFilter(Filtering value) { this.filter = value; return this; }
    }

    public static class Sorting
    {
        public String by = null;
        public SortDirection direction = null;
        
        public String getBy() { return by; }
        public Sorting setBy(String value) { this.by = value; return this; }
        public SortDirection getDirection() { return direction; }
        public Sorting setDirection(SortDirection value) { this.direction = value; return this; }
    }

    public static enum SortDirection
    {
        Ascending,
        Descending;
    }

    public static class Filtering
    {
        public ArrayList<String> fields = null;
        public String search = null;
        
        public ArrayList<String> getFields() { return fields; }
        public Filtering setFields(ArrayList<String> value) { this.fields = value; return this; }
        public String getSearch() { return search; }
        public Filtering setSearch(String value) { this.search = value; return this; }
    }

}

Java SearchAllCustomersRequest DTOs

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

HTTP + XML

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

GET /customers HTTP/1.1 
Host: staging-api.billiecart.com.au 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SearchAllCustomersResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations.Customers">
  <Customers xmlns:d2p1="http://schemas.datacontract.org/2004/07/Application.Interfaces.Resources">
    <d2p1:Customer>
      <d2p1:AddressLine1>String</d2p1:AddressLine1>
      <d2p1:AddressLine2>String</d2p1:AddressLine2>
      <d2p1:BankAccount>
        <d2p1:AccountNumber>String</d2p1:AccountNumber>
        <d2p1:BsbNumber>String</d2p1:BsbNumber>
      </d2p1:BankAccount>
      <d2p1:DateOfBirth>0001-01-01T00:00:00</d2p1:DateOfBirth>
      <d2p1:DriversLicenceNo>String</d2p1:DriversLicenceNo>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:FirstName>String</d2p1:FirstName>
      <d2p1:Id>String</d2p1:Id>
      <d2p1:LastName>String</d2p1:LastName>
      <d2p1:Phone>String</d2p1:Phone>
      <d2p1:Postcode>String</d2p1:Postcode>
      <d2p1:PreferredContactMethod>String</d2p1:PreferredContactMethod>
      <d2p1:StateTerritory>String</d2p1:StateTerritory>
      <d2p1:Suburb>String</d2p1:Suburb>
      <d2p1:UserAccountId>String</d2p1:UserAccountId>
    </d2p1:Customer>
  </Customers>
  <Metadata xmlns:d2p1="http://schemas.datacontract.org/2004/07/Application.Interfaces">
    <d2p1:Filter>
      <d2p1:Fields xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d2p1:Fields>
      <d2p1:Search>String</d2p1:Search>
    </d2p1:Filter>
    <d2p1:Limit>0</d2p1:Limit>
    <d2p1:Offset>0</d2p1:Offset>
    <d2p1:Sort>
      <d2p1:By>String</d2p1:By>
      <d2p1:Direction>Ascending</d2p1:Direction>
    </d2p1:Sort>
    <d2p1:Total>0</d2p1:Total>
  </Metadata>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</SearchAllCustomersResponse>