openapi: 3.2.0 info: title: WMS Notification (DEMO) Inbound API description: Contract Logistics API - WMS Inbound Notification version: v1 servers: - url: https://api.dsv.com/cl-demo/inbound/v1 security: - apiKeyHeader: [] - apiKeyQuery: [] tags: - name: Inbound paths: /inboundNotification: post: tags: - Inbound summary: Create Inbound Notification(s) description: Create Inbound Notification Order(s) operationId: Inbound_Post parameters: - name: api-version in: header description: api-version schema: type: string example: 1 - name: Authorization in: header description: OAuth header schema: type: string requestBody: description: The request data containing list of InboundNotification. content: application/json: schema: $ref: '#/components/schemas/InboundNotificationDto' example: inboundNotifications: - warehouseId: wid1234567 inboundId: iid123456 inboundType: NORMAL expectedArrivalDate: '2025-03-25T12:30:00.0000000+00:00' incoterms: code: EXW location: Denmark transportDetails: carrierName: FedEx carrierReference: '#123456' modeOfTransport: Road containerType: 20FT containerNumber: '#123456' supplier: reference: ABC address: partyId: PId123456 companyName: DSV addressLine1: AddressLine1 addressLine2: AddressLine2 city: Copenhagen state: Capital Region of Denmark zipCode: '1000' countryCode: AF vatNumber: '#123456' contactName: Test contactPhone: '+1123456789' contactEmail: test@gmail.com contactMobile: '+1123456789' additionalInformations: numericFields: - sequence: 1 value: 999999999.999999 textFields: - sequence: 1 value: Value1 inboundNotes: - code: '#123456' text: This is Test lineDetails: - lineId: 1 productId: PId123456 quantity: 1 sscc: '123456789012345678' conditionOfProduct: OK1 origin: AF expirationDate: '2025-03-25' lotId: LId123456789 productValue: valueOfProduct: 999 currency: AED additionalInformations: numericFields: - sequence: 1 value: 999999999.999999 textFields: - sequence: 1 value: Value1 inboundNotes: - code: '#123456' text: This is Test serialNumbers: - SN1234567890 - SN1234567891 responses: '200': description: Success '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string put: tags: - Inbound summary: Update Inbound Notification(s) description: Update the data of the PreAdvice to be delivered to the DSV warehouse. operationId: Inbound_Put parameters: - name: api-version in: header description: api-version schema: type: string example: 1 - name: Authorization in: header description: OAuth header schema: type: string requestBody: description: The request data containing list of InboundNotification. content: application/json: schema: $ref: '#/components/schemas/InboundNotificationDto' example: inboundNotifications: - warehouseId: wid1234567 inboundId: iid123456 inboundType: NORMAL expectedArrivalDate: '2025-03-25T12:30:00.0000000+00:00' incoterms: code: EXW location: Denmark transportDetails: carrierName: FedEx carrierReference: '#123456' modeOfTransport: Road containerType: 20FT containerNumber: '#123456' supplier: reference: ABC address: partyId: PId123456 companyName: DSV addressLine1: AddressLine1 addressLine2: AddressLine2 city: Copenhagen state: Capital Region of Denmark zipCode: '1000' countryCode: AF vatNumber: '#123456' contactName: Test contactPhone: '+1123456789' contactEmail: test@gmail.com contactMobile: '+1123456789' additionalInformations: numericFields: - sequence: 1 value: 999999999.999999 textFields: - sequence: 1 value: Value1 inboundNotes: - code: '#123456' text: This is Test lineDetails: - lineId: 1 productId: PId123456 quantity: 1 sscc: '123456789012345678' conditionOfProduct: OK1 origin: AF expirationDate: '2025-03-25' lotId: LId123456789 productValue: valueOfProduct: 999 currency: AED additionalInformations: numericFields: - sequence: 1 value: 999999999.999999 textFields: - sequence: 1 value: Value1 inboundNotes: - code: '#123456' text: This is Test serialNumbers: - SN1234567890 - SN1234567891 responses: '200': description: Returns a success message with the received data. '400': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string components: schemas: CurrencyCode: enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNY - COP - COU - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MUR - MVR - MWK - MXN - MXV - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLE - SOS - SRD - SSP - STN - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - UYI - UYU - UZS - VED - VEF - VND - VUV - WST - XAF - XCD - XDR - XOF - XPF - XSU - XUA - YER - ZAR - ZMW - ZWL type: string description: 3-digit currency code (ISO 4217-3)
If valueOfProduct is provided, currency becomes mandatory NumericFieldDto: required: - sequence type: object properties: sequence: maximum: 4.0 minimum: 1.0 type: integer description: User Def Num 1-4 format: int32 example: 1 value: maximum: 999999999.999999 minimum: 0.0 type: number description: 'min: 0, max: 999999999.999999 (9.6)' example: 999999999.999999 description: User defined numeric fields IncotermsEnum: enum: - EXW - FCA - CPT - CIP - DAP - DPU - DDP - FAS - FOB - CFR - CIF - DDU type: string description: '' FieldDTO: type: object properties: name: type: string description: Error name example: field_name message: type: string description: Description of error example: validation error code: type: string description: Type of error example: ERR12345 TransportDetailsDto: type: object properties: carrierName: maxLength: 50 minLength: 0 type: string description: Carrier company transporting the goods example: FedEx carrierReference: maxLength: 20 minLength: 0 type: string description: Carrier Reference of the shipment example: '#123456' modeOfTransport: $ref: '#/components/schemas/ModeOfTransport' containerType: $ref: '#/components/schemas/ContainerType' containerNumber: maxLength: 35 minLength: 0 type: string description: Container number example: '#123456' description: TransportDetailsDto ProductValueDto: type: object properties: valueOfProduct: maximum: 999999999.999999 minimum: 0.0 type: number description: Selling price of the lowest track level of the product example: 999 currency: $ref: '#/components/schemas/CurrencyCode' description: Product Value AddressDto: type: object properties: partyId: maxLength: 15 minLength: 0 type: string description: Unique code identifying the address example: PId123456 companyName: maxLength: 50 minLength: 0 type: string description: Company name example: DSV addressLine1: maxLength: 60 minLength: 0 type: string description: Address line 1. example: AddressLine1 addressLine2: maxLength: 60 minLength: 0 type: string description: Address line 2. example: AddressLine2 city: maxLength: 60 minLength: 0 type: string description: Address town example: Copenhagen state: maxLength: 60 minLength: 0 type: string description: Address county or state example: Capital Region of Denmark zipCode: maxLength: 20 minLength: 0 type: string description: Postal Code example: '1000' countryCode: $ref: '#/components/schemas/CountryCode' vatNumber: maxLength: 20 minLength: 0 type: string description: Supplier VAT number example: '#123456' contactName: maxLength: 25 minLength: 0 type: string description: Contact name example: Test contactPhone: maxLength: 25 minLength: 0 type: string description: Phone number example: '+1123456789' contactEmail: maxLength: 70 minLength: 0 type: string description: Email format: email example: test@gmail.com contactMobile: maxLength: 15 minLength: 0 type: string description: Mobile number example: '+1123456789' description: Address ModeOfTransport: enum: - Road - Air - Sea - Rail type: string description: '' TextFieldDto: required: - sequence type: object properties: sequence: maximum: 8.0 minimum: 1.0 type: integer description: User Def Type 1-8 format: int32 example: 1 value: maxLength: 30 minLength: 0 type: string description: Max length 30 characters example: Value1 description: User defined text fields AdditionalInformationDto: type: object properties: numericFields: type: array items: $ref: '#/components/schemas/NumericFieldDto' description: User defined numeric fields textFields: type: array items: $ref: '#/components/schemas/TextFieldDto' description: User defined text fields description: Additional Information ConditionCode: enum: - OK1 - OK2 - DM1 - DM2 - HO1 - HO2 - QU1 - QU2 - RN1 - RN2 - SC1 - SC2 type: string description: '' InboundNotificationDto: type: object properties: inboundNotifications: type: array items: $ref: '#/components/schemas/InboundNotificationItemDto' description: Array of inbound notifications. description: InboundNotificationDto SupplierDto: type: object properties: reference: maxLength: 20 minLength: 0 type: string description: Supplier reference example: ABC address: $ref: '#/components/schemas/AddressDto' description: SupplierDto DevelopmentDTO: type: object properties: message: type: string description: Verbose, plain language description of the problem for the app developer with hints on how to fix it exception: type: string description: Dump from exception InboundNoteDto: required: - code type: object properties: code: maxLength: 20 minLength: 0 type: string description: Code of the inbound note. example: '#123456' text: maxLength: 180 minLength: 0 type: string description: Text of the inbound note. example: This is Test description: InboundNoteDto CountryCode: enum: - AF - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - BN - BG - BF - BI - CV - KH - CM - CA - KY - CF - TD - CL - CN - CX - CC - CO - KM - CD - CG - CK - CR - HR - CU - CW - CY - CZ - CI - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - SZ - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LR - LY - LI - LT - LU - MO - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - MP - 'NO' - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - MK - RU - RW - RE - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - GS - SS - ES - LK - SD - SR - SJ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - UM - US - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - ZM - ZW - AX type: string description: '' LineDetailDto: required: - lineId - productId - quantity type: object properties: lineId: maximum: 999999.0 minimum: 0.0 type: integer description: Line identifier format: int32 example: 1 productId: maxLength: 50 minLength: 0 type: string description: Stock Keeping Unit identifier example: PId123456 quantity: maximum: 999999999.0 minimum: 0.0 type: integer description: Quantity expected format: int32 example: 1 sscc: maxLength: 20 minLength: 0 type: string description: SSCC (Serial Shipping Container Code) Max 20 characters. example: '123456789012345678' conditionOfProduct: $ref: '#/components/schemas/ConditionCode' origin: $ref: '#/components/schemas/CountryCode' expirationDate: type: string description: 'Field can only be used if flag on ProductData productExpirationDateControlled is set Format: YYYY-MM-DD' example: '2025-03-25' lotId: maxLength: 15 minLength: 0 type: string description: Field can only be used if flag on ProductData productLotControlled is set example: LId123456789 productValue: $ref: '#/components/schemas/ProductValueDto' additionalInformations: $ref: '#/components/schemas/AdditionalInformationDto' inboundNotes: type: array items: $ref: '#/components/schemas/InboundNoteDto' description: Inbound notes related to the line. serialNumbers: type: array items: type: string description: Segment can only be used if flag on ProductData productHoldsSerialNumber is set example: - SN1234567890 - SN1234567891 description: LineDetailDto InboundOrderType: enum: - NORMAL - RETURN type: string description: '' ErrorDTO: required: - code - message type: object properties: code: minLength: 1 type: string description: Unique error code example: ERR12345 message: minLength: 1 type: string description: Error message passed to the user example: 'Not found id : 4025988810785188' fields: type: array items: $ref: '#/components/schemas/FieldDTO' development: $ref: '#/components/schemas/DevelopmentDTO' InboundNotificationItemDto: required: - warehouseId - inboundId - inboundType - lineDetails type: object properties: warehouseId: maxLength: 20 minLength: 0 type: string description: To be resolved in Token database example: wid1234567 inboundId: maxLength: 20 minLength: 0 type: string description: Unique reference identifier of the expected receipt example: iid123456 inboundType: $ref: '#/components/schemas/InboundOrderType' expectedArrivalDate: maxLength: 25 minLength: 0 type: string description: 'Expected date/time of arrival Format: CCYY-MM-DDTHH:mm:ssZ' example: '2025-03-25T12:30:00Z' incoterms: $ref: '#/components/schemas/IncotermsDto' transportDetails: $ref: '#/components/schemas/TransportDetailsDto' supplier: $ref: '#/components/schemas/SupplierDto' additionalInformations: $ref: '#/components/schemas/AdditionalInformationDto' inboundNotes: type: array items: $ref: '#/components/schemas/InboundNoteDto' description: The InboundNotes for the warehouse. lineDetails: type: array items: $ref: '#/components/schemas/LineDetailDto' description: The LineDetails for the warehouse. description: InboundNotificationItemDto IncotermsDto: type: object properties: code: $ref: '#/components/schemas/IncotermsEnum' location: maxLength: 60 minLength: 0 type: string description: Place related to Terms of Delivery (Incoterms) example: Denmark description: Incoterms ContainerType: enum: - 20FT - 40FT - 20HC - 40HC - TRCK - VAN - CAR type: string description: '' securitySchemes: apiKeyHeader: type: apiKey name: DSV-Subscription-Key in: header apiKeyQuery: type: apiKey name: DSV-Subscription-Key in: query