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 .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	customers: 
	[
		{
			id: String,
			firstName: String,
			lastName: String,
			driversLicenceNo: String,
			email: String,
			phone: String,
			preferredContactMethod: String,
			addressLine1: String,
			addressLine2: String,
			suburb: String,
			stateTerritory: String,
			postcode: String,
			bankAccount: 
			{
				bsbNumber: String,
				accountNumber: String
			},
			userAccountId: String
		}
	],
	metadata: 
	{
		total: 0,
		limit: 0,
		offset: 0,
		sort: 
		{
			by: String,
			direction: Ascending
		},
		filter: 
		{
			fields: 
			[
				String
			],
			search: String
		}
	}
}