Reference data
GET /api/v3/manufacturers
Get manufacturers (brands).
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| originatorType* | Originator | Originator type |
| bookingType* | BookingType | |
| serviceType | Int | Service type Id |
| manufacturer | Int|String | Manufacturer Id or alias |
| productType | Int|String | Product type Id or alias |
| clientPostalCode | String |
Output
[
{
"id": 1006,
"name": "Acer",
"externalData": null
},
{
"id": 1012,
"name": "LG",
"externalData": null
}
]
GET /api/v3/service-types
Get service types.
Access
Partner
Input:
| Name | Type | Description |
|---|---|---|
| originatorType* | Originator | Originator type |
| bookingType* | BookingType | |
| serviceType | Int | Service type Id |
| manufacturer | Int|String | Manufacturer Id or alias |
| productType | Int|String | Product type Id or alias |
| clientPostalCode | String |
Output
[
{
"id": 1,
"name": "Garanti",
"properties": {
"requirePurchaseDate": true
},
"externalData": null
},
{
"id": 2,
"name": "Försäkringsreparation",
"properties": {
"requireInsuranceNumber": true
},
"externalData": null
}
]
Field properties contains info about required fields
GET /api/v3/product-types
Get product types.
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| originatorType* | Originator | Originator type |
| bookingType* | BookingType | |
| serviceType | Int | Service type Id |
| manufacturer* | Int|String | Manufacturer Id or alias |
| productType | Int|String | Product type Id or alias |
| clientPostalCode | String |
Output
[
{
"id": 1009,
"name": "All-in-one desktop",
"properties": {
"requireSerial": true,
"withLocations": true
},
"externalData": null
},
{
"id": 1004,
"name": "Mobile phone",
"properties": {
"requireSerial": true,
"requireImei": true
},
"externalData": null
}
]
Field properties contains info about required fields.
GET /api/v3/service-locations
Get service locations.
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| originatorType* | Originator | Originator type |
| bookingType* | BookingType | Booking type |
| serviceType* | Int | Service type Id |
| manufacturer* | Int|String | Manufacturer Id or alias |
| productType* | Int|String | Product type Id or alias |
| clientPostalCode | String |
Output
[
{
"id": 2,
"name": "På plats reparation",
"externalData": null
},
{
"id": 1,
"name": "Verkstadsreparation",
"externalData": null
}
]
GET /api/v3/accessory
Get accessory.
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| productType* | Int | Product type Id |
Output
[
{
"id": 1106,
"name": "Tangentbord"
},
{
"id": 1107,
"name": "Mus"
},
{
"id": 1108,
"name": "Strömkabel"
}
]
GET /api/v3/shipping-methods
Get allowed shipping methods.
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| originatorType* | Originator | Originator type |
| bookingType* | BookingType | Booking type |
| serviceType* | Int | Service type Id |
| manufacturer* | Int|String | Manufacturer Id or alias |
| productType* | Int|String | Product type Id or alias |
| clientPostalCode | String | |
| serviceLocation* | Int | Service location Id |
Output
[
{
"id": 3,
"name": "PostNord Växjö Pallet",
"properties": {
"requirePickupDate": false,
"goodsTypeList": null
}
},
{
"id": 2,
"name": "PostNord Växjö Parcel",
"properties": {
"requirePickupDate": false,
"goodsTypeList": ['X', 'Y', 'Z'],
}
}
]
If requirePickupDate of the properties object is not false, the parameter order.pickupDate becomes mandatory for case/create and case/validate endpoints!
If goodsTypeList of the properties object is not null, the parameter order.goodsType becomes mandatory for case/create and case/validate endpoints!
GET /api/v3/shipping/pickup-dates
Get allowed pickup dates for this shipping methods.
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| shippingMethod* | Int | id from shipping-methods endpoint |
| postalCode* | String | Postal code (3-10) chars |
Output:
[
"2017-05-23T00:00:00.000Z",
"2017-05-26T00:00:00.000Z",
"2017-06-08T00:00:00.000Z",
"2017-06-09T00:00:00.000Z",
"2017-06-21T00:00:00.000Z",
"2017-06-22T00:00:00.000Z"
]
GET /api/v3/shipping/pickup-dates-extended
Get allowed pickup dates with eventual comments for each date. Usually it includes info about pick up time
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| shippingMethod* | Int | id from shipping-methods endpoint |
| postalCode* | String | Postal code (3-10) chars |
Output
[
{
"date": "2019-02-01",
"comment": "Mondays/Tuesdays between 12-16, Thursdays/Wednesdays/Fridays between 8-12"
},
{
"date": "2019-02-04",
"comment": "Mondays/Tuesdays between 12-16, Thursdays/Wednesdays/Fridays between 8-12"
}
]
GET /api/v3/partner
Get partner by id
Access
Any
Input
| Name | Type | Description |
|---|---|---|
| id* | Int | Id |
Output
{
"id": 1,
"name": "Workshop",
"contactData": {
"id": 30347,
"name": null,
"firstName": null,
"lastName": null,
"organizationName": "Workshop",
"organizationNumber": null,
"addName": null,
"address": "Teststreet, 123",
"postalCode": "123 45",
"city": "Testcity",
"countryCode": null,
"phone": "1234567890",
"mobile": null,
"email": "test@example.com",
"floor": null,
"entrance": null,
"doorCode": null,
"createdAt": "2017-08-01T14:01:24.083Z"
}
}
GET /api/v3/provider
Get provider by id
Access
Any
Input
| Name | Type | Description |
|---|---|---|
| id* | Int | Id |
Output
{
"id": 1003,
"name": "Provider",
"contactData": {
"id": 30348,
"name": null,
"firstName": "John",
"lastName": "Smith",
"organizationName": Provider",
"organizationNumber": 123456-1234",
"addName": null,
"address": "Teststreet, 42",
"postalCode": "12345",
"city": "Testcity",
"countryCode": "SE",
"phone": "0123456789",
"mobile": "0123456789",
"email": "test@example.com",
"floor": null,
"entrance": null,
"doorCode": null,
"createdAt": "2017-08-01T14:02:57.172Z"
}
}
GET /api/v3/providers
Get list of providers, optionally filtered by list of ids
Access
Any
Input
| Name | Type | Description |
|---|---|---|
| ids | String | Comma separated list of id |
Example
/api/v2/providers?ids=1001,1002,1003
Output
[{
"id": 1003,
"name": "Provider",
"contactData": {
"id": 30348,
"name": null,
"firstName": "John",
"lastName": "Smith",
"organizationName": Provider",
"organizationNumber": 123456-1234",
"addName": null,
"address": "Teststreet, 42",
"postalCode": "12345",
"city": "Testcity",
"countryCode": "SE",
"phone": "0123456789",
"mobile": "0123456789",
"email": "test@example.com",
"floor": null,
"entrance": null,
"doorCode": null,
"createdAt": "2017-08-01T14:02:57.172Z"
}
}]
GET /api/v3/department
Get department by id
Access
Any
Input
| Name | Type | Description |
|---|---|---|
| id* | Int | Id |
Output
{
"data": {
"id": 1,
"name": "Test Workshop",
"externalData": null,
"contactData": {
"id": 30356,
"name": null,
"firstName": "John",
"lastName": "Smith",
"organizationName": Provider",
"organizationNumber": 123456-1234",
"addName": null,
"address": "Teststreet, 42",
"postalCode": "12345",
"city": "Testcity",
"countryCode": "SE",
"phone": "0123456789",
"mobile": "0123456789",
"email": "test@example.com",
"floor": null,
"entrance": null,
"doorCode": null,
"createdAt": "2017-08-01T14:02:57.172Z"
}
}
}
GET /api/v3/routing
Find service provider, shipping methods and business rules by case parameters
Access
Partner
Input
| Name | Type | Description |
|---|---|---|
| originatorType | Originator | Originator type |
| bookingType | Originator | Originator type |
| serviceType | Int | Service type Id |
| manufacturer | Int|String | Manufacturer Id or alias |
| productType | Int|String | Product type Id or alias |
| clientPostalCode | String | |
| serviceLocation | Int | Service location Id |
| model | String | Model name |
Output
{
"servicePartner": {
"id": 1,
"name": "Partner"
},
"servicePartnerCompetence": {
// Any specific data extracted from partner's business rules
},
"serviceProvider": {
"contactData": {
"addName": null,
"address": "Teststreet 1",
"city": "Testcity",
"countryCode": "SE",
"createdAt": "2017-08-01T14:02:57.172Z",
"doorCode": null,
"email": "test@test.com",
"entrance": null,
"firstName": "John",
"floor": null,
"id": 30348,
"lastName": "Smith",
"mobile": "1234567890",
"name": null,
"organizationName": "Workshop",
"organizationNumber": "123456",
"phone": "1234567890",
"postalCode": "1234"
},
"id": 1,
"name": "Workshop"
},
"serviceProviderCompetence": {
// Any specific data extracted from service provider's business rules
},
"shippingMethods": [
// All available shipment methods
]
}
GET /api/v3/models
Find models
Access
any
Input
| Name | Type | Description |
|---|---|---|
| manufacturer | Int|String | Manufacturer Id or alias |
| productType | Int|String | Product type Id or alias |
| model1 | String | Model name |
| mpn2 | String | Manufacturer part name |
| limit | Int | Number of results (10 by default) |
1 For non-strict search using name, mpn and aliases.
2 For strict search using mpn only.
If no filters specified, we will return an empty list.
Example
/api/v3/models?manufacturer=acer&model=aspire&limit=1
/api/v3/models?mpn=XYZ1234
Output
[
{
"createdAt": "2019-05-21T09:45:04.000Z",
"id": 845,
"manufacturer": {
"externalData": null,
"id": 1006,
"name": "Acer"
},
"manufacturerId": 1006,
"name": "aspire",
"aliases": ["abcd"],
"mpn": "XYZ1234",
"productType": {
"externalData": null,
"id": 1004,
"name": "Notebook",
"properties": {
"allowPassword": true,
"requireSerial": true
}
},
"productTypeId": 1004,
"tags": [],
"countryOfOrigin": null,
"value": "1234.00",
"weight": "20.00",
"taricSE": "ABC12",
"taricNO": "XYZ12",
"createdAt": "2019-05-21T09:26:31.000Z",
"updatedAt": "2019-05-21T09:45:04.000Z"
}
]
POST /api/v3/models
Update models
Access
any
Input
Array of model objects:
| Name | Type | Description |
|---|---|---|
| manufacturer* | Int|String | Manufacturer Id or alias |
| productType* | Int|String | Product type Id or alias |
| name* | String | Model name |
| mpn* | String | Manufacturer part name |
| id | Int | Id in the model registry |
| tags | Array |
Assigned tags |
| countryOfOrigin | String | Country name (e.g. China) |
| taricSE | String | taricSE |
| taricNO | String | taricNO |
| value | Decimal (#.##) | Price in EUR, converted to string |
| weight | Decimal (#.##) | Weight in kg, converted to string |
| aliases | Array |
List of alias names |
If you omit "id" key then the model from the request will be matched with all existing models using the name field and a new record will be created if necessary.
Any combination of name and manufacturer must be unique as well as the combination of mpn and manufacturer, otherwise a validation error will be triggered.
We don't currently enforce uniqueness of aliases
To change name you should always pass "id" key.
Output
List of modified models