openapi: 3.0.0 servers: - url: 'https://api.qa.se.com/v1/supply-chain/partner-order-status' description: QA/test environment - url: 'https://api.se.com/v1/supply-chain/partner-order-status' description: Production info: title: Order Status API for direct customers version: '1.0' description: >- This API provides current order status, order shipment schedule and also list of items in the order based on parameters passed in the request. Returned information is based on registered account. contact: url: "https://www.se.com" name: "Contact Us" email: "distributorapiportal.global@se.com" paths: /orders/{country}: get: responses: '200': description: The list of orders for the requested parameters. content: application/json: schema: type: object properties: orderList: type: array items: $ref: '#/components/schemas/order' pagination: type: object properties: totalNumberOfRecords: type: integer format: int32 pageNumber: type: integer format: int32 totalNumberOfPages: type: integer format: int32 '400': description: >- Request is invalid and cannot be processed due one or more issues such as syntax errors, missing required fields, out of range values, conflicting query parameters, or unknown URI. content: application/json: schema: type: object title: Error Response description: >- Error response returned to the consumer when an HTTP error status has occurred. properties: code: type: string example: MISSING_FIELD or 12345 description: >- Server-defined error code which may be numeric or a string. userMessage: type: string example: 'Required field is missing: productSku' description: >- Human-readable description of the error with hints about how to fix it. developerMessage: type: string description: >- Optional human-readable description of the error, meaningful to a developer. example: >- Product master API ParseException: required tag expected moreInfo: type: string description: >- Optional link to error documentation, which has more information about the error. format: uri example: >- https://example.com/product-master/v1/error/12345 required: - code - userMessage '401': description: >- The client is not authorized to perform this request because its identity has not yet been established, or the token is invalid or has expired. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden '404': description: >- Requested resource does not exist on the server. It is assumed that the URI is valid for this type of resource. content: application/json: schema: type: object title: Error Response description: >- Error response returned to the consumer when an HTTP error status has occurred. properties: code: type: string example: MISSING_FIELD or 12345 description: >- Server-defined error code which may be numeric or a string. userMessage: type: string example: 'Required field is missing: productSku' description: >- Human-readable description of the error with hints about how to fix it. developerMessage: type: string description: >- Optional human-readable description of the error, meaningful to a developer. example: >- Product master API ParseException: required tag expected moreInfo: type: string description: >- Optional link to error documentation, which has more information about the error. format: uri example: >- https://example.com/product-master/v1/error/12345 required: - code - userMessage '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/error500' summary: Search for the order operationId: orderSearch tags: - orderStatus parameters: - in: query name: order-number description: >- Order number, starting from a value. Might me a full order number or just a "starting from". schema: type: string minLength: 3 - in: query name: order-status description: >- The order status is one of the pre-defined values. The full list available for your country can be obtained from your local DCX. schema: type: string - in: path name: country required: true description: The country code (US, RU, etc) schema: type: string - in: query name: purchaser-id description: A 10-digit ID of the purchaser used in mySE schema: type: string - in: query name: page description: >- A page number. Default value = 1, if the parameter exceeds the number of pages, the last page will be returned. schema: type: integer - in: query name: page-size description: >- The size of the page. Maximum is 100, default value is 10. schema: type: integer description: >- This method will return the list of orders linked to your company based on the country you define as an input. Your credentials are already linked to a customer's ID, so you don't have to worry about providing it; nevertheless, the current process allows the companies working in different countries to have one customer ID for several local representatives; that's why you have to define the country in two-letter codification (for example, US, RU, etc). /orders/{country}/{order-number}/{item-number}/shipment-schedules: get: responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/shipping-schedule' '400': description: >- Request is invalid and cannot be processed due one or more issues such as syntax errors, missing required fields, out of range values, conflicting query parameters, or unknown URI. content: application/json: schema: type: object title: Error Response description: >- Error response returned to the consumer when an HTTP error status has occurred. properties: code: type: string example: MISSING_FIELD or 12345 description: >- Server-defined error code which may be numeric or a string. userMessage: type: string example: 'Required field is missing: productSku' description: >- Human-readable description of the error with hints about how to fix it. developerMessage: type: string description: >- Optional human-readable description of the error, meaningful to a developer. example: >- Product master API ParseException: required tag expected moreInfo: type: string description: >- Optional link to error documentation, which has more information about the error. format: uri example: >- https://example.com/product-master/v1/error/12345 required: - code - userMessage '401': description: >- The client is not authorized to perform this request because its identity has not yet been established, or the token is invalid or has expired. content: application/json: schema: $ref: '#/components/schemas/Error401' '404': description: >- Requested resource does not exist on the server. It is assumed that the URI is valid for this type of resource. content: application/json: schema: type: object title: Error Response description: >- Error response returned to the consumer when an HTTP error status has occurred. properties: code: type: string example: MISSING_FIELD or 12345 description: >- Server-defined error code which may be numeric or a string. userMessage: type: string example: 'Required field is missing: productSku' description: >- Human-readable description of the error with hints about how to fix it. developerMessage: type: string description: >- Optional human-readable description of the error, meaningful to a developer. example: >- Product master API ParseException: required tag expected moreInfo: type: string description: >- Optional link to error documentation, which has more information about the error. format: uri example: >- https://example.com/product-master/v1/error/12345 required: - code - userMessage '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/error500' summary: Get the Shipping Schedule for an item description: >- The shipping shedule is generally all the shipping information SE can provide you about each line. Use it when you already know the order number and the item (line) number inside the order. One product in the order (which is equal to one line or item in the order) can have several shipping schedules and each shipping schedule can have several sets of tracking information. operationId: shippingSchedule tags: - orderStatus parameters: - in: path name: country required: true schema: type: string - in: path name: order-number required: true schema: type: string - in: path name: item-number required: true schema: type: string /orders/{country}/{order-number}: get: responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/orderDetails' '400': description: >- Request is invalid and cannot be processed due one or more issues such as syntax errors, missing required fields, out of range values, conflicting query parameters, or unknown URI. content: application/json: schema: type: object title: Error Response description: >- Error response returned to the consumer when an HTTP error status has occurred. properties: code: type: string example: MISSING_FIELD or 12345 description: >- Server-defined error code which may be numeric or a string. userMessage: type: string example: 'Required field is missing: productSku' description: >- Human-readable description of the error with hints about how to fix it. developerMessage: type: string description: >- Optional human-readable description of the error, meaningful to a developer. example: >- Product master API ParseException: required tag expected moreInfo: type: string description: >- Optional link to error documentation, which has more information about the error. format: uri example: >- https://example.com/product-master/v1/error/12345 required: - code - userMessage '401': description: >- The client is not authorized to perform this request because its identity has not yet been established, or the token is invalid or has expired. content: application/json: schema: $ref: '#/components/schemas/Error401' '404': description: >- Requested resource does not exist on the server. It is assumed that the URI is valid for this type of resource. content: application/json: schema: type: object title: Error Response description: >- Error response returned to the consumer when an HTTP error status has occurred. properties: code: type: string example: MISSING_FIELD or 12345 description: >- Server-defined error code which may be numeric or a string. userMessage: type: string example: 'Required field is missing: productSku' description: >- Human-readable description of the error with hints about how to fix it. developerMessage: type: string description: >- Optional human-readable description of the error, meaningful to a developer. example: >- Product master API ParseException: required tag expected moreInfo: type: string description: >- Optional link to error documentation, which has more information about the error. format: uri example: >- https://example.com/product-master/v1/error/12345 required: - code - userMessage '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/error500' summary: Get the order and item details operationId: details parameters: - in: path name: country required: true description: Two-letter country code (US, RU, etc) schema: type: string - in: path name: order-number required: true description: The number of your order schema: type: string - in: query name: item-number description: >- The ID of the item in the order. If not used, all items of the order will be returned. schema: type: string tags: - orderStatus description: >- This method is supposed to respond with all the details of a particular order. Use it when you have the order number which can be obtained with /orders/{country} GET method. The order contains one ir several items - generally one for each product in the order. The details of each line are also provided by this method. If you need to get the shipping details, use the /orders/{country}/{order-number}/{item-number}/shipping-schedules GET method. tags: - name: orderStatus description: All related to the Order Status security: - oauth2: [] components: schemas: shipping-schedule: type: object title: ShippingSchedule description: >- The order shipping report object. Contains info about the shipping status of each item in the order. properties: orderNumber: type: string description: The ID number of the order (as shown in mySE) example: AB12345 poNumber: type: string example: PO098234 description: The number of the payment order. item: type: object properties: itemNumber: type: string example: '79895' description: The ID of the line catalogNumber: type: string description: The catalog number of the item shippingScheduleList: type: array description: >- A Shipping Schedule object. Contains all necessary info about the shipping and tracking. May contain several tracking numbers. items: type: object properties: shippingSchedule: type: object properties: shipmentNumber: type: string example: '2010093835' description: A shipping number provided by SE shippedQuantity: type: number example: 65 description: The quantity shipped shipmentLocation: type: string example: '65484984251' description: The encoding of the shipping location carrierName: type: string example: Schneider Delivery description: The name of the carrier of this order. promiseDate: type: string description: >- The date when an order should be delivered format: date-time notBeforeDate: type: string description: >- The date before which the order won't be delivered format: date-time shipmentDate: type: string description: The actual shipping date format: date-time routing: type: string example: Routing description: The routing details of the shipping. trackingNumbersList: type: array description: The details of the cracking items: type: object properties: tracking: type: object properties: trackingNumber: type: string example: '0857558875' description: >- The tracking number in the delivery system trackingURL: type: string description: 'Tracking URL, sent as CDATA ' trackingURLMobile: type: string description: Tracking URL for mobile, sent as CDATA order: type: object title: Order properties: orderNumber: type: string example: '1236484' description: The number of the order listed purchaserID: type: string example: '12321323' description: A purchased ID via which the order was placed poNumber: type: string example: PO203948 description: The number of the payment order for Schneider Electric releaseDate: type: string description: The date of releasing the order format: date-time expressDelivery: type: boolean example: false description: The flag of order urgency. orderPlacedThrough: type: string example: mySE description: Where this order came from. orderStatus: $ref: '#/components/schemas/orderStatus' orderDetails: title: OrderDetails type: object description: >- The details of the order, including its item list and items' shipping data properties: orderNumber: type: string example: '12345656541' description: The 10-digit number of your order poNumber: type: string example: PO12039809 description: The number of the payment order of Schneider Electric. purchaserID: type: string example: '321654789' description: The ID of the customer accountName: type: string example: The very very best account description: The text description of the account orderPlacedThrough: type: string example: mySE description: The source of the order completeDelivery: type: boolean example: true description: Shows of the order is fully delivered or not releaseDate: type: string description: The date in UTC when the order was released format: date-time expressDelivery: type: boolean example: false description: >- Shows whether the order is delivered in express-mode or not. paymentTermsCode: type: string example: Some payment terms defined description: The payment terms code paymentTermsLabel: type: string example: Some payment terms defined description: The payment terms label projectNumber: type: string example: DL513 description: The number of the project the order is referred to projectName: type: string example: Disney Land description: The name of the project the order is reffering to projectManager: type: string example: John Wick description: The name of your project manager orderStatus: $ref: '#/components/schemas/orderStatus' itemList: type: array description: The list of order items items: type: object properties: item: type: object description: >- One item for one commercial reference in the order properties: itemNumber: type: string example: '3' description: The number of the item in the order. productReference: type: string example: GN120398 description: The SE product ID description: type: string example: The short description of the line description: >- Just a description of this ordered product itemHasShipped: type: boolean example: false description: >- Shows if the item has been shipped or not. catalogNumber: type: string description: The number of the product ordered totalQtyOrdered: type: integer example: 234 description: The ordered quantity of the product. totalQtyShipped: type: integer example: 45 description: The quantity shipped. requestedDeliveryDate: type: string description: >- The date of delivery as requested by the customer format: date-time estimatedDeliveryDate: type: string description: The estimated delivery date. format: date-time itemStatusCode: type: string example: '03' description: The code of the item status. itemStatusLabel: type: string example: In Delivery description: >- The easy-to-read description of the current status of the item status. totalBackOrdered: type: number example: 12 description: The amount of back-ordered products notBeforeQuantity: type: number example: 5 description: The "Not Before" quantity totalQuantityCancelled: type: number example: 3 description: The total amount of cancelled products priceNet: type: object title: Currency description: Resource representing a currency amount. properties: currency: type: string description: >- Three character currency code, as defined by ISO 4217. pattern: ^[a-zA-Z]{2}$ value: type: string description: Currency amount as a decimal value. pattern: ^\d*(.\d+)?$ required: - currency - value priceIncludingTax: type: object title: Currency description: Resource representing a currency amount. properties: currency: type: string description: >- Three character currency code, as defined by ISO 4217. pattern: ^[a-zA-Z]{2}$ required: - currency - value shipTo: type: array description: The block of shipping information items: type: object properties: shipToCountry: type: string example: France description: The target country orderStatus: type: object description: One of the predefined statuses of the order title: OrderStatus properties: orderStatusCode: type: string example: DV description: The code of the status as shown in mySE orderStatusLabel: type: string example: Delivered description: >- The label of the order status. Is dependent on the country set up in mySE orderStatusDesctiption: type: string example: The order has been delivered description: The more detailed information about the order status. Error401: type: object title: Error401 description: 'Unauthorized : Invalid or missing credentials.' properties: fault: type: object properties: code: type: string example: '900902' description: type: string example: Missing Credentials error500: type: object title: Error500 properties: errorCode: type: string errorMessage: type: string securitySchemes: oauth2: type: oauth2 description: Oauth2 Application security flows: clientCredentials: tokenUrl: /token scopes: get_order_status: Retrieve the status of the order