1. Help Center
  2. API
  3. Customer Information API

Customer API

Create Customer Create Customer
URL /Customer/Create
Method POST
Body
{
"DisplayName": "customer display name",
"CustomerTypeId": 28,
"TierNumber": 1,
"CompanyName": "company name",
"CustomId": "custId12",
"Notes": "Some value",
"QuickBooksNumber": 4445,
"QuickBooksDesktopListId": "80000001-1390562257",
"SourceTypeId": 11,

"TaxCodeId": null,
"TaxNameId": 1,
"TaxRate": 0.77000,

    "Contacts": [
{
"Phone": "1231230011",
"MobilePhone": "1231230011",
"Fax": "1231230011",
"FirstName": "first name",
"LastName": "last name",
"NotifyViaEmail": true,
"NotifyViaSms": true,
"Email": "examplemail@gmail.com",
"CarrierId": 5,
"ContactTypeId": 21
}
],
"Addresses": [
{
"AddressLine1": "adl1",
"AddressLine2": "adl2",
"AddressTypeId": 31,
"Description": "Descr"
}
]
}
Response
HTTP/1.1 400 DisplayName should be unique
HTTP/1.1 200 OK
{
"Addresses": [
{
"AVSChecked": false,
"AddressLine1": "adl1",
"AddressLine2": "adl2",
"AddressName": true,
"AddressTypeId": true,
"CustomerId": 3,
"Description": "Descr",
"Id": 26,
"LastChangeDate": "\/Date(1484936325530)\/"
}
],
"CompanyName": "company name",
"Contacts": [
{
"CarrierId": 5,
"ContactTypeId": true,
"CustomerId": 3,
"Email": "examplemail@gmail.com",
"Fax": "1231230011",
"FirstName": "first name",
"Id": 5,
"LastChangeDate": "\/Date(1484936325514)\/",
"LastName": "last name",
"MobilePhone": "1231230011",
"NotifyViaEmail": true,
"NotifyViaSms": true,
"Phone": "1231230011"
}
],
"CreateDate": "\/Date(1484936325468)\/",
"CustomId": "custId12",
"CustomerTypeId": true,
"DisplayName": "customer display name",
"Id": 3,
"IsTaxable": false,
"LastChangeDate": "\/Date(1484936325530)\/",
"Notes": "Some value",
"QuickBooksDesktopListId": true,
"QuickBooksNumber": 4445,
"SourceTypeId": true,
"TaxCodeId": null,
"TaxNameId": 1,
"TaxRate": 0.77000,
    "TierNumber": 1
}
Comments

Use "Notes" filled like customer description

 
  Update Customer
URL /Customer
Method PUT
Body

{
"CompanyName": "RazorSync",
"CustomId": null,
"CustomerTypeId": 2,
"DisplayName": "Customer Support",
"Id": 1,
"IsTaxable": true,
"Notes": "This is an example.",
"QuickBooksDesktopListId": "80000001-1390562257",
"QuickBooksNumber": 12,
"SourceTypeId": 1,
"TaxCodeId": null,
"TaxNameId": 1,
"TaxRate": null,
"TierNumber": 1
}

Response

{
"Addresses": [
{
"AVSChecked": false,
"AddressLine1": "5801 Clearwater Drive",
"AddressLine2": "Minnetonka, MN 55343",
"AddressName": null,
"AddressTypeId": null,
"AppartmentNumber": null,
"CustomerId": 1,
"Description": null,
"Id": 1,
"LastChangeDate": "/Date(1475478139207+0300)/",
"SalespersonId": null
}
],
"CompanyName": "RazorSync",
"Contacts": [
{
"CarrierId": null,
"ContactTypeId": 1,
"CustomerId": 1,
"Email": "support@razorsync.com",
"Fax": null,
"FirstName": "Customer",
"Id": 1,
"LastChangeDate": "/Date(1548238817940+0300)/",
"LastName": "Support",
"MobilePhone": null,
"NotifyViaEmail": true,
"NotifyViaSms": false,
"Phone": "(877) 675-4395"
}
],
"CreateDate": "/Date(1475478139207+0300)/",
"CustomId": null,
"CustomerTypeId": 2,
"DisplayName": "Customer Support",
"Id": 1,
"IsTaxable": true,
"LastChangeDate": "/Date(1548337155499)/",
"Notes": "This is an example.",
"QuickBooksDesktopListId": "80000001-1390562257",
"QuickBooksNumber": 12,
"SourceTypeId": 1,
"TaxCodeId": null,
"TaxNameId": 1,
"TaxRate": null,
"TierNumber": 1
}

Comments

 

  Delete Customer
URL /Customer/{id}
Method DELETE
Body

 

Response
HTTP/1.1 400 Customer with 386 id not found
HTTP/1.1 200 OK
Comments

 

  Get Customers
URL /Customer/List
Method Post
Body

{
"FromModifiedDate":"\/Date(1342705616670)\/",
"ToModifiedDate":"\/Date(1347290758)\/"
}

Response
[
{
"Addresses": [
{
"AVSChecked": false,
"AddressLine1": "adl1",
"AddressLine2": "adl2",
"AddressName": true,
"AddressTypeId": true,
"CustomerId": 3,
"Description": "Descr",
"Id": 26,
"LastChangeDate": "\/Date(1484925525530+0300)\/"
}
],
"CompanyName": "company name",
"Contacts": [
{
"CarrierId": 5,
"ContactTypeId": true,
"CustomerId": 3,
"Email": "examplemail@gmail.com",
"Fax": "1231230011",
"FirstName": "first name",
"Id": 5,
"LastChangeDate": "\/Date(1484925525517+0300)\/",
"LastName": "last name",
"MobilePhone": "1231230011",
"NotifyViaEmail": true,
"NotifyViaSms": true,
"Phone": "1231230011"
}
],
"CreateDate": "\/Date(1484925525467+0300)\/",
"CustomId": "custId12",
"CustomerTypeId": true,
"DisplayName": "customer display name",
"Id": 3,
"IsTaxable": false,
"LastChangeDate": "\/Date(1484925525530+0300)\/",
"Notes": "Some value",
"QuickBooksDesktopListId": true,
"QuickBooksNumber": 4445,
"SourceTypeId": true,
"TaxCodeId": null,
"TaxNameId": 1,
"TaxRate": 0.77000,
        "TierNumber": 1
}
]
Comments

 

  Get Customer By Customer ID
URL /Customer/{id}
Method GET
Body

 

Response

{
"Addresses": [
{
"AVSChecked": false,
"AddressLine1": "adl1",
"AddressLine2": "adl2",
"AddressName": true,
"AddressTypeId": true,
"CustomerId": 3,
"Description": "Descr",
"Id": 26,
"LastChangeDate": "/Date(1484925525530+0300)/"
}
],
"CompanyName": "company name",
"Contacts": [
{
"CarrierId": 5,
"ContactTypeId": true,
"CustomerId": 3,
"Email": "examplemail@gmail.com",
"Fax": "1231230011",
"FirstName": "first name",
"Id": 5,
"LastChangeDate": "/Date(1484925525517+0300)/",
"LastName": "last name",
"MobilePhone": "1231230011",
"NotifyViaEmail": true,
"NotifyViaSms": true,
"Phone": "1231230011"
}
],
"CreateDate": "/Date(1484925525467+0300)/",
"CustomId": "custId12",
"CustomerTypeId": true,
"DisplayName": "customer display name",
"Id": 3,
"IsTaxable": false,
"LastChangeDate": "/Date(1484925525530+0300)/",
"Notes": "Some value",
"QuickBooksDesktopListId": true,
"QuickBooksNumber": 4445,
"SourceTypeId": true,
"TaxCodeId": null,
"TaxNameId": 1,
"TaxRate": 0.77000,
"TierNumber": 1
}

Comments

 

  Get Customer By Customer Number
URL /Customer/CustomId/{Customer Number}
Method GET
Body

 

Response
the same response as for "By Id" request
Comments

Parameter should be URL-encoded

  Get Customer By Display Name
URL /Customer/DisplayName?q={displayName}
Method GET
Body

 

Response
the same response as for "By Id" request
Comments

Parameter should be URL-encoded

  Customer Search by multiple fields (as it is implemented on a portal)
URL /Customer/Search/{searchText}
Method GET
Body

 

Response
the same response as for "List" request
Comments

 if 'searchText' is empty then empty List will be returned;

 Parameter should be URL-encoded 

You can receive maximum of 50 entries. For receiving more results use request with pagination

 
Customer Search (as it is implemented on a portal) with pagination
URL
Customer/Search/{searchString}/{page}/{size}
Method GET
Body  
Response the same response as for "List" request
 
Customer Search (as it is implemented on a portal)
URL
Customer/Search
Method POST
Body  {

"SearchString": "ra",
"Page": "1",
"Size": "100"
}

Response the same response as for "List" request
Comments Page and Size are optional parameters. Without them you will receive 50 elements of first page.
 
Update QuickBooks IDs and numbers
URL /Customer/UpdateQuickBooksIds
Method POST
Body {
"QuickBooksIds":
[
{
"ServerId":1,
"QuickBooksId":"80000031-1314102902",
"QuickBooksNumber": 292
}
]
}
Response [{"Id":1,"IsSuccess":true,"Message":null}]