Billiecart API

<back to all web services

CreateCustomerRequest

Requires Authentication
Requires the role:manager
The following routes are available for this service:
POST/customers
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Infrastructure.Api.Interfaces.ServiceOperations.Customers
Imports Infrastructure.Api.Interfaces.ServiceOperations
Imports Application.Interfaces.Resources

Namespace Global

    Namespace Application.Interfaces.Resources

        Public Partial Class BankAccount
            Public Overridable Property BsbNumber As String
            Public Overridable Property AccountNumber As String
        End Class

        Public Partial Class Customer
            Implements IIdentifiableResource
            Public Overridable Property Id As String
            Public Overridable Property FirstName As String
            Public Overridable Property LastName As String
            Public Overridable Property DateOfBirth As Date
            Public Overridable Property DriversLicenceNo As String
            Public Overridable Property Email As String
            Public Overridable Property Phone As String
            Public Overridable Property PreferredContactMethod As String
            Public Overridable Property AddressLine1 As String
            Public Overridable Property AddressLine2 As String
            Public Overridable Property Suburb As String
            Public Overridable Property StateTerritory As String
            Public Overridable Property Postcode As String
            Public Overridable Property BankAccount As BankAccount
            Public Overridable Property UserAccountId As String
        End Class
    End Namespace

    Namespace Infrastructure.Api.Interfaces.ServiceOperations

        Public Partial Class PostOperationTenanted(Of TResponse)
            Inherits PostOperationUnTenanted(Of TResponse)
            Implements ITenantedRequest
            Public Overridable Property OrganisationId As String
        End Class

        Public Partial Class PostOperationUnTenanted(Of TResponse)
            Implements IPost
        End Class
    End Namespace

    Namespace Infrastructure.Api.Interfaces.ServiceOperations.Customers

        Public Partial Class CreateCustomerRequest
            Inherits PostOperationTenanted(Of CreateCustomerResponse)
            Public Overridable Property Email As String
        End Class

        Public Partial Class CreateCustomerResponse
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property Customer As Customer
        End Class
    End Namespace
End Namespace

VB.NET CreateCustomerRequest 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.

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

<CreateCustomerRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations.Customers">
  <OrganisationId xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations">String</OrganisationId>
  <Email>String</Email>
</CreateCustomerRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateCustomerResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Infrastructure.Api.Interfaces.ServiceOperations.Customers">
  <Customer xmlns:d2p1="http://schemas.datacontract.org/2004/07/Application.Interfaces.Resources">
    <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>
  </Customer>
  <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>
</CreateCustomerResponse>