The Sales Invoice Header API can create a sales invoice id with a master id, corresponding to workshop id based on region/country.

Overview

Http Method

POST

Authentication

Basic Auth.

Http Status Codes

200 - OK with data in response body

400 - In case your request is malformed or contains insufficient information - Bad Request (Validation error)

401 - Wrong or missing auth header

403 - In case of Invalid User trying to access the information

50x - Internal Server Error

Versioning

The initial API version is v1.0, and is namespaced into endpoint route -
https://bosch-garage-management.com/WSMS_Q_SalesInvoiceHeaderTransactionAPI/api/SalesInvoiceHeader/CreateSalesInvoiceHeader
The API version will be increased due to a backwards-incompatible changes.v

Schema

All information is sent and received as JSON data interchange format over HTTPS. Timestamps in API responses will always include timezone (typically UTC). Always provide timezones in API requests (preferably UTC).

Http Path

https://bosch-garage-management.com/WSMS_Q_SalesInvoiceHeaderTransactionAPI/api/SalesInvoiceHeader/CreateSalesInvoiceHeader

Http Path Parameters

None

Header Parameters

None

Request Parameters

None

Request Fields
FieldName DataType Mandatory Description DataLength Remarks

Workshop ID

Int

Yes

Unique Workshop Identifier

Primary Key

Customer Id

varchar

Yes

unique Customer identifier

20

vehicle Id

varchar

Yes

Vehicle Identifier

20

Invoice ID

varchar

Yes

Unique Invoice ID

20

Primary Key

Posting date

Date

Yes

Invoice Posting Date

Total Amount

Float

Yes

Total Invoice Amount

Labor Total

Float

No

Total Labor Amount

Parts Total

Float

No

Total Parts Amount

Mileage

Float

Yes

Mileage of the vehicle at the time of service

Job type

varchar

No

Invoice Type

50

Type

varchar

Yes

Invoice/credit memo

50

Order ID

varchar

No

Sales order ID

20

Order Date

Date

No

Sales Order Dated

Request Body
{
    "InvoiceId": "PBSINV-000222",
    "WorkshopId": 5160211957,
    "CustomerId": "401/009449",
    "VehicleID": "V001",
    "PostingDate": "18/01/2023",
    "TotalAmount": 0,
    "LaborTotal": 0,
    "PartsTotal": 0,
    "Mileage": 0,
    "JobType": "TypeTest001",
    "Type": "Type001",
    "OrderId": "Order001",
    "OrderDate": "18/01/2023"
  }
Response Headers

None

Responses

201 OK

{
    "message": "All record(s) failed to process.",
    "totalRecords": 2,
    "failedRecords": 1,
    "successRecords": 1,
    "processedSalesInvoiceHeaderFailedRecords": [
    {
    "invoiceId": "PBSINV-000480",
    "workshopId": "5160211957",
    "customerId": "401/010833",
    "vehicleId": null,
    "postingDate": "2023-04-14T00:00:00",
    "totalAmount": 0,
    "laborTotal": 0,
    "partsTotal": 0,
    "mileage": 0,
    "jobType": "TypeTest171",
    "type": "Type171",
    "orderId": "Order171",
    "orderDate": "2023-04-14T00:00:00",
    "errorMessage": "VehicleId should not be null and lenght should not greater than 20. "
    }
   }

Authentication

Authorization

The API endpoint requires client authorization. Every request must select Basic Auth mode from Authorization section if using Postman Application and provide the username and password.

Content type of request payload

All information is sent and received as JSON data interchange format over HTTPS. Every request must select raw json as a data format for the request payload from the body section if using Postman Application and specify the content accordingly.

API Specification

Steps to use Postman Application to send the API Post Http Request

1. Open Postman:
• Launch the Postman application.

2. Create a New Request:
• In the Postman app, click on the "New" button (usually located at the top-left corner) to create a new request.

3. Choose the Request Type:
• In the request editor, you will see a dropdown menu next to the URL field. Select "POST" from this dropdown.

4. Enter the Request URL:
• In the URL field (located next to the request type dropdown), enter the URL of the endpoint where you want to send the POST request. Make sure it's the correct URL for the API or service you are working with.

5. Authentication:
• As the API requires authentication, you can set it up in the "Authorization" tab.Click on the "Basic Auth" from dropdown, and enter the username and password.

6. Configure the Request Body:
• In the "Body" tab, select "raw" and choose "JSON (application/json)" as the data format. Enter your JSON data in the provided text field.

7. Send the Request:
• Once you've configured all the necessary details for your POST request, click the "Send" button (usually a blue "Send" button located at the top-right corner). Postman will send the POST request to the specified URL with the provided headers and payload.

8. View the Response:
• Postman will display the response from the server, including the status code, headers, and response body. You can review the response to ensure that your request was successful

Postman call request payload
[
    {
    "InvoiceId": "PBSINV-000222",
    "WorkshopId": 5160211957,
    "CustomerId": "401/009449",
    "VehicleID": "V001",
    "PostingDate": "18/01/2023",
    "TotalAmount": 0,
    "LaborTotal": 0,
    "PartsTotal": 0,
    "Mileage": 0,
    "JobType": "TypeTest001",
    "Type": "Type001",
    "OrderId": "Order001",
    "OrderDate": "18/01/2023"
    }
  ]
Postman HTTP response body

    HTTP/1.1 200 OK
    {
    "message": "One record(s) failed to process.",
    "totalRecords": 2,
    "failedRecords": 1,
    "successRecords": 1,
    "processedSalesInvoiceHeaderFailedRecords": [
    {
    "invoiceId": "PBSINV-000480",
    "workshopId": "5160211957",
    "customerId": "401/010833",
    "vehicleId": null,
    "postingDate": "2023-04-14T00:00:00",
    "totalAmount": 0,
    "laborTotal": 0,
    "partsTotal": 0,
    "mileage": 0,
    "jobType": "TypeTest171",
    "type": "Type171",
    "orderId": "Order171",
    "orderDate": "2023-04-14T00:00:00",
    "errorMessage": "VehicleId should not be null and lenght should not greater than 20. "
    }
   ]
  }