User Manual

2.4 Customers

Updated on

1. Create a Customer Company

Compatibility: from Durst Workflow v1.7.3

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Create a Customer Company with contact information and address.

A customer company has to contain a Company Name, a Contact Number (No.), an E-Mail and a Default Billing Address (INVOICE_ADDRESS) at least, to meet the required fields in the Durst Workflow Frontend. Example:

{
  "companyName": "API Test Company",
  "contactNumber": "123456",
  "email": "[email protected]",
  "addresses": [
    {
      "address1": "Street 1",
      "addressType": "INVOICE_ADDRESS",
      "defaultAddress": true
    }
  ]
}
POST /api/v1/customers/companies/create

1.1. Parameters

Type
Name
Description
Schema
Body
customerCompanyApi required
customerCompanyApi
customerCompanyApi
Body
CustomerCompanyContactApi optional
CustomerCompanyContactApi
CustomerCompanyContactApi
Body
AddressApi required
AddressApi
AddressApi

1.2. Responses

HTTP Code Description Schema
201 Created customerCompanyApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

1.3. Consumes

application/json

1.4. Produces

*/*

1.5. Tags

Customer Company Controller Api

1.6. Example HTTP request

Request path

/api/v1/customers/companies/create

Request body

{
    "externalId": "EXT-123",
    "companyName": "Company Corporation",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "contacts": [
        {
            "externalId": "EXT-123",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string"
        }
    ],
    "addresses": [
        {
            "externalId": "EXT-123",
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}

1.7. Example HTTP response

Response 201

{
    "id": 1445,
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "companyName": "Company Corporation",
    "contacts": [
        {
            "id": 1446,
            "externalId": "EXT-123",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO"
        }
    ],
    "addresses": [
        {
            "id": 1035,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}
2. Validate a Customer Company

Compatibility: from Durst Workflow v1.7.3

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Validates if parameters for creating a Customer Company are correct. Validation throws no exception (must be handled by the calling service). Validation checks if:

  • All required fields are set
  • All enum fields contain an allowed value
  • All required methods are returning a non-null value, use that annotation
  • A validation is also been made when a Customer Company is created
POST /api/v1/customers/companies/validate

2.1. Parameters

Type
Name
Description
Schema
Body
customerCompanyApi required
customerCompanyApi
customerCompanyApi
Body
CustomerCompanyContactApi optional
CustomerCompanyContactApi
CustomerCompanyContactApi
Body
AddressApi optional
AddressApi
AddressApi

2.2. Responses

HTTP Code Description Schema
201 Created customerCompanyApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

2.3. Consumes

application/json

2.4. Produces

*/*

2.5. Tags

Customer Company Controller Api

2.6. Example HTTP request

Request path

/api/v1/customers/companies/validate

Request body

{
    "externalId": "EXT-123",
    "companyName": "Company Corporation",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "contacts": [
        {
            "externalId": "EXT-123",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string"
        }
    ],
    "addresses": [
        {
            "externalId": "EXT-123",
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "DELIVERY_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}

2.7. Example HTTP response

Response 201

{
    "ok": true,
    "validationFailures": []
}
3. Get Customer Company by ID

Compatibility: from Durst Workflow v1.7.6

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Get Company Customer and all stored information on the entity by ID

GET /api/v1/customers/companies/{id}

3.1. Parameters

Type
Name
Description
Schema
Path id required
id

string

3.2. Responses

HTTP Code Description Schema
200 OK customerCompanyApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

3.3. Consumes

application/json

3.4. Produces

*/*

3.5. Tags

Customer Company Controller Api

3.6. Example HTTP request

Request path

/api/v1/customers/companies/{id}

3.7. Example HTTP response

Response 200

{
    "id": 1445,
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "companyName": "Company Corporation",
    "contacts": [
        {
            "id": 1446,
            "externalId": "EXT-123",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO"
        }
    ],
    "addresses": [
        {
            "id": 1035,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}
4. Update a Customer Company

Compatibility: from Durst Workflow v1.7.6

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Update Customer Company information.
Changed values are overwritten.
Unchanged values stay untouched.

PUT /api/v1/customers/companies/{id}

4.1. Parameters

Type
Name
Description
Schema
Body
customerCompanyApi required
customerCompanyApi
customerCompanyApi
Body
CustomerCompanyContactApi optional
CustomerCompanyContactApi
CustomerCompanyContactApi
Body
AddressApi required
AddressApi
AddressApi

4.2. Responses

HTTP Code Description Schema
200 OK customerCompanyApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

4.3. Consumes

application/json

4.4. Produces

*/*

4.5. Tags

Customer Company Controller Api

4.6. Example HTTP request

Request path

/api/v1/customers/companies/{id}

Request body

{
    "id": 1445,   
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "companyName": "Company Corporation 2",
    "contacts": [
        {
            "id": 1446,
            "externalId": "EXT-123",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO"
        }
    ],
    "addresses": [
        {
            "id": 1035,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}

4.7. Example HTTP response

Response 201

{
    "id": 1445,
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "companyName": "Company Corporation 2",
    "contacts": [
        {
            "id": 1446,
            "externalId": "EXT-123",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO"
        }
    ],
    "addresses": [
        {
            "id": 1035,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}
5. Create an Individual Customer

Compatibility: from Durst Workflow v1.7.5

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Create an Individual Customer.

A customer individual has to contain a Last Name, a Contact Number (No.), an E-Mail and a Default Billing Address (INVOICE_ADDRESS) at least, to meet the required fields in the Durst Workflow Frontend. Example:

{ "lastname": "Doe", "contactNumber": "123456", "email": "[email protected]", "addresses": [ { "address1": "Street 1", "addressType": "INVOICE_ADDRESS", "defaultAddress": true } ] }
POST /api/v1/customers/individuals/create

5.1. Parameters

Type
Name
Description
Schema
Body
CustomerIndividualApi required
CustomerIndividualApi
CustomerIndividualApi
Body
AddressApi required
AddressApi
AddressApi

5.2. Responses

HTTP Code Description Schema
201 Created CustomerIndividualApi; AddressApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

5.3. Consumes

application/json

5.4. Produces

*/*

5.5. Tags

Customer Individual Controller Api

5.6. Example HTTP request

Request path

/api/v1/customers/individuals/create

Request body

{
    "externalId": "EXT-123",
    "salutation": "Mr.",
    "title": "Dr.",
    "firstname": "John",
    "lastname": "Doe",
    "position": "string",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 12345678",
    "mobileNumber": "+43 123456789",
    "email": "[email protected]",
    "fax": "+43 12345678",
    "url": "example.com",
    "addresses": [
        {
            "externalId": "EXT-123",
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}

5.7. Example HTTP response

Response 201

{
    "id": 1448,
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 12345678",
    "mobileNumber": "+43 123456789",
    "email": "[email protected]",
    "fax": "+43 12345678",
    "url": "example.com",
    "salutation": "Mr.",
    "title": "Dr.",
    "firstname": "John",
    "lastname": "Doe",
    "position": "string",
    "addresses": [
        {
            "id": 1037,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}
6. Validate an Individual Customer

Compatibility: from Durst Workflow v1.7.5

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

This function enables you to check whether all parameters are correct without transferring the data directly into the system. Of course, this validation is also done automatically when creating Individual Customers. An alternative possibility is to check everything in advance during the development of an API integration.

POST /api/v1/customers/individuals/validate

6.1. Parameters

Type
Name
Description
Schema
Body
CustomerIndividualApi required
CustomerIndividualApi
CustomerIndividualApi
Body
AddressApi required
AddressApi
AddressApi

6.2. Responses

HTTP Code Description Schema
201 Created CustomerIndividualApi; AddressApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

6.3. Consumes

application/json

6.4. Produces

*/*

6.5. Tags

Customer Individual Controller Api

6.6. Example HTTP request

Request path

/api/v1/customers/individuals/validate

Request body

{
  "externalId": "EXT-123",
  "salutation": "Mr.",
  "title": "Dr.",
  "firstname": "John",
  "lastname": "Doe",
  "position": "string",
  "contactNumber": "ABC-123",
  "telephoneNumber": "+43 12345678",
  "mobileNumber": "+43 123456789",
  "email": "[email protected]",
  "fax": "+43 12345678",
  "url": "example.com",
  "addresses": [
    {
      "externalId": "EXT-123",
      "id": 1446,
      "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
    }
  ]
}

6.7. Example HTTP response

Response 201

{
    "ok": true,
    "validationFailures": []
}
7. Get Individual Customer by ID

Compatibility: from Durst Workflow v1.7.6

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Get all information on Individual Customers by ID

GET /api/v1/customers/individuals/{id}

7.1. Parameters

Type
Name
Description
Schema
Path id required
id

string

7.2. Responses

HTTP Code Description Schema
200 OK CustomerIndividualApi, AddressApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

7.3. Consumes

application/json

7.4. Produces

*/*

7.5. Tags

Customer Individual Controller Api

7.6. Example HTTP request

Request path

/api/v1/customers/individuals/{id}

7.7. Example HTTP response

Response 200

{
    "id": 1454,
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 12345678",
    "mobileNumber": "+43 123456789",
    "email": "[email protected]",
    "fax": "+43 12345678",
    "url": "example.com",
    "salutation": "Mr.",
    "title": "Dr.",
    "firstname": "John",
    "lastname": "Doe",
    "position": "string",
    "addresses": [
        {
            "id": 1043,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}
8. Update an Individual Customer

Compatibility: from Durst Workflow v1.7.6

Available in
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Update Individual Customer information.
Changed values are overwritten.
Unchanged values stay untouched.

PUT /api/v1/customers/individuals/{id}

8.1. Parameters

Type
Name
Description
Schema
Body
CustomerIndividualApi required
CustomerIndividualApi
CustomerIndividualApi
Body
AddressApi required
AddressApi
AddressApi

8.2. Responses

HTTP Code Description Schema
200 OK CustomerIndividualApi; AddressApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

8.3. Consumes

application/json

8.4. Produces

*/*

8.5. Tags

Customer Individual Controller Api

8.6. Example HTTP request

Request path

/api/v1/customers/individuals/{id}

Request body

{
    "id": 1448
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 12345678",
    "mobileNumber": "+43 123456789",
    "email": "[email protected]",
    "fax": "+43 12345678",
    "url": "example.com",
    "salutation": "Mr.",
    "title": "Dr.",
    "firstname": "John",
    "lastname": "Doe",
    "position": "string",
    "addresses": [
        {
            "id": 1043,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}

8.7. Example HTTP response

Response 200

{
    "id": 1445,
    "externalId": "EXT-123",
    "contactNumber": "ABC-123",
    "telephoneNumber": "+43 1 2345678",
    "mobileNumber": "+43 1 23456780",
    "email": "[email protected]",
    "fax": "+43 1 2345678",
    "url": "+43 1 2345678",
    "companyName": "Company Corporation 2",
    "contacts": [
        {
            "id": 1446,
            "externalId": "EXT-123",
            "contactNumber": "+43 1 23456789",
            "telephoneNumber": "ABC-123",
            "mobileNumber": "+43 1 23456789",
            "email": "[email protected]",
            "fax": "[email protected]",
            "url": "string",
            "salutation": "Mr.",
            "title": "Dr.",
            "firstname": "John",
            "lastname": "Doe",
            "position": "CEO"
        }
    ],
    "addresses": [
        {
            "id": 1035,
            "address1": "Street 1",
            "address2": "additional information",
            "address3": "additional information",
            "address4": "additional information",
            "addressType": "INVOICE_ADDRESS",
            "zipCode": "10000",
            "place": "City",
            "state": "State",
            "defaultAddress": true
        }
    ]
}
Previous Article 2.3 Articles
Next Article 2.5 Print Orders, Print Order Items and Print Items
Still Need Help? Contact Us