npm package: @one-view/pd-oneview-order-detail-types
Description: oneview backend order API
Latest version: 0.0.74


FORMAT: 1A
VERSION: 1.0.0
HOST: https://api.pd-oneview.net/order-detail

# pd-oneview-order-detail

oneview backend order API




## Order Detail [/v1/{orderCode}/detail{?geid,nocache}]

Order detail information

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (string, optional) - global entity id
        + Default: `FP_SG`
    + nocache (boolean, optional, `false`) - bypass the cache when calling GCC order endpoint

+ Attributes (OrderDetail)

### Get order detail [GET]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Response 200 (application/json)
    + Attributes (OrderDetail)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Order Receipt [/v1/{orderCode}/receipt{?geid,nocache}]

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (string, optional) - global entity id
        + Default: `FP_SG`
    + nocache (boolean, optional, `false`) - bypass the cache when calling GCC order endpoint

+ Attributes (OrderReceipt)

### Get order receipt [GET]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Response 200 (application/json)
    + Attributes (OrderReceipt)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Order Status [/v1/{orderCode}/status{?geid,nocache}]

list the order status of a current order

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (string, optional) - global entity id
        + Default: `FP_SG`
    + nocache (boolean, optional) - bypass cache system

+ Attributes (OrderStatusList)

### Get order status [GET]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Response 200 (application/json)
    + Attributes (OrderStatusList)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Order Missing Items [/v1/{orderCode}/missing_items{?geid}]

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (string, optional) - global entity id
        + Default: `FP_SG`

+ Attributes (MissingItemsResponse)

### set order's missing items [POST]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Attributes (MissingItemsParams)

+ Response 200 (application/json)
    + Attributes (MissingItemsResponse)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Cancel Order [/v1/{orderCode}/cancel{?geid}]

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (string, optional) - global entity id
        + Default: `FP_SG`

### cancel order [POST]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Attributes (CancelOrderParams)

+ Response 200 (application/json)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Refund [/v1/{orderCode}/refund{?geid}]

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (GlobalEntityId, optional) - global entity id
        + Default: `FP_SG`

+ Attributes (RefundResponse)

### refund [POST]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Attributes (RefundParams)

+ Response 200 (application/json)
    + Attributes (RefundResponse)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Order Comments [/v1/{orderCode}/comments{?geid}]

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (string, optional) - global entity id
        + Default: `FP_SG`

### Get order comments [GET]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Response 200 (application/json)
    + Attributes (OrderCommentList)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

### Update order comment [PUT]
+ Request

    + Headers

            Authorization: bearer token
            X-Contact-Id: case-id

+ Attributes (UpdateOrderCommentParam)

+ Response 200 (application/json)
    + Attributes (UpdateOrderCommentResponse)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)

## Basket Update History [/v1/{orderCode}/basket-update-history{?geid}]

List basket update history of an order

+ Parameters
    + orderCode (required, string, `vsba-nhas`)
    + geid: `FP_SG` (required, string, `FP_SG`)

+ Attributes (BasketUpdateHistory)

### Get basket update history [GET]
+ Request

    + Headers

            Authorization: Bearer token
            X-Contact-Id: case-id

+ Response 200 (application/json)
    + Attributes (BasketUpdateHistory)

+ Response 400 (application/json)
    + Attributes (Error)

+ Response 401 (application/json)
    + Attributes (Error)

+ Response 403 (application/json)
    + Attributes (Error)

+ Response 404 (application/json)
    + Attributes (Error)

+ Response 500 (application/json)
    + Attributes (Error)
# Data Structures

## int64 (number)

## integer (number)

## float (number)

## date (string)

## `error_object` (object)
+ status (string)
+ title (string)

## `Error` (object)
+ errors (array[error_object], fixed-type)

## Payment
+ mode      : `cod, credit-card, online-payment` (string)
+ paid      : true (boolean)
+ amount    (number)
+ vouchers  (array[Voucher], fixed-type)

## OrderStatus
+ timestamp          : 1572499999 (int64) - epoch time stamp of status
+ status             : ACCEPTED (string) - order status
+ estimatedTimestamp : 1572499999 (int64) - epoch time stamp of estimated timestamp
+ reason             (string) - Additional data for status reason
+ comment            (string) - Additional comment for status reason

## Comment
+ data (string)

## OrderReceiptItem
+ id            (string) - product id
+ parentProductID (string) - The ID of parent product of the item
+ lineItemId    (string) - Defines identifier of the item id on the order
+ displayName   (string) - display name of product. combination of name and variant
+ name          (string) - product name
+ basePrice     (number) - product base price
+ toppingPrice  (number) - topping price
+ totalPrice    (number) - total item price (product base price + topping price)
+ quantity      (int64) - quantity of product
+ options  (array[itemOption], fixed-type) - item options

## itemOption
+ id            (string) - option id
+ name          (string) - option name
+ quantity      (int64) - quantity of option
+ type          (string) - option type, Enum: [choice topping variation]
+ unitPrice     (number) - price per unit
+ notes         (string) - customer notes
+ options       (array[itemOption], fixed-type) -  Applies ONLY if option.type is "choice" or "topping". Therefore option type with variation CANNOT have options. This is meant to be used by complex menus such as McDonald's menu in which an option can contain a nested one.


## OrderReceiptData
+ description   : "Sub Total" (string) - description of receipt meta data
+ amount        : 3.42 (number, required) - amount tied to it

## OrderDetail
+ code                  : `vsba-nhas` (string, required) - order code
+ vendorCode            : `vsba` (string) - vendor code. usually used to get vendor detail information
+ vendorName            : `jolibee` (string) - vendor name
+ customerCode          : `asd2sas` (string) - Customer code. usually used to get constumer detail information
+ platform              : `Android-foodpanda-5.9.0(258704)` (string) - platform used for order
+ source                : `android` (string) - device source of order. exp : android
+ invoiceURL            : `http://unknown` (string) - url to generate the invoice
+ cookingInstruction    : `do something` (string)
+ orderTimestamp        : 1572493929 (int64) - epoch timestamp of order
+ preorderTimestamp     : 1572493929 (int64) - epoch timestamp of the preorder time
+ promisedTimestamp     : 1572493929 (int64) - epoch timestamp of the promised delivery time
+ deliveryProvider      : RPS (string) - delivery provider. e.g: RPS
+ comments              (array[Comment], fixed-type) - comment of order
+ internalComments      (array[Comment], fixed-type) - internal comment of order
+ vendorOrderReference  (string)
+ expeditionType        (string) - expedition type used for order. exp : pickup, delivery, etc.
+ payment               (Payment) - payment used for order
+ lastStatus            (OrderStatus) - last known status of order
+ canceled              (string) - Valid string containing reason if order is canceled. Null otherwise.
+ refundStatus          : NONE (string) - Refund status. NONE, PENDING, REFUNDED
+ corporate             (boolean)
+ preorder              (boolean)
+ currency              : `SGD` (string) currency of the prices

## OrderReceipt
+ items     (array[OrderReceiptItem], fixed-type) - List of order item
+ data      (array[OrderReceiptData], fixed-type) - arbitrary receipt data. could refer to order payment flow.
+ currency  : `SGD` (string) currency of the prices

## MissingItemsParams
+ vendorName                : `jolibee` (string, required) - vendor name
+ vendorID                  : `vsba-nhas` (string, required) - vendor id
+ agentName                 : `julie` (string, required) - reporting agent name
+ missingItems  (array[string], fixed-type) - list of missing items

## RefundResponse
+ id     (string, optional) - refund ticket id
+ voucherCode (string, optional) - voucher code. will be shown if refund type voucher or voucher + credit

## RefundParams
+ refundType    (RefundType) - refund type
+ voucherSeverity (VoucherCode) - severity of voucher based on [voucher values document](https://docs.google.com/spreadsheets/d/1fB4XRrtuTNdbRDRmwR_E498EFeP2Yg_1Bp1DLLFGbjI/edit#geid=1170775165)
+ amount (number) - amount of refund
+ creditSource (CreditSource) - source of credit
+ accountDetail (string) - account detail of credit source
+ missingItems  (array[string], fixed-type) - list of missing items

## RefundType (enum)
+ `voucher`
+ `credit`
+ `credit+voucher`

## CreditSource (enum)
+ `online_payment`
+ `online_banking`
+ `cash_on_delivery`
+ `paypal`
+ `apple_pay`
+ `gcash`
+ `paylah`

## CancelOrderParams
+ reason                    (string) - Reason for requesting an order cancellation
+ type                      (CancelType) - Cancellation type

## MissingItemsResponse
+ id                        (string, required)

## OrderStatusList
+ data (array[OrderStatus]) - List of order status

## CancelReasonList
+ list (array[CancelReason]) - List of cancel reason
+ labels (array[CancelReasonMap], fixed-type) - List of cancel reason mapping

## CancelReasonMap
+ value     (CancelReason) - Reason for requesting an order cancellation
+ label     : `Order modification not possible`(string) - Reason label for requesting an order cancellation
+ ccr       : `2D.4`(string) - CCR for given cancel reason

## RefundCalculationResponse
+ list (array[RefundCalculation], fixed-type, required) - list of refund calculation

## RefundCalculation
+ geid              : `FP_SG` (string, required) - global entity ID
+ minimumValue      : `4` (number, required) - minimum refund value
+ granularity       : `0.5` (number, required) - granularity of refund value
+ compensation      : `0.10` (number, required) - compensation value

## DeliveryStatus (enum)
+ `SENDING_TO_VENDOR`
+ `DISPLAYED_AT_VENDOR`
+ `SENT_TO_LOGISTICS`
+ `ACCEPTED`
+ `COURIER_NEAR_PICK_UP`
+ `COURIER_LEFT_PICK_UP`
+ `COURIER_NEAR_DROP_OFF`
+ `PICKED_UP`
+ `DELAYED`
+ `DELIVERED`

## CancelReason (enum)
+ `ORDER_MODIFICATION_NOT_POSSIBLE`
+ `MISTAKE_ERROR`
+ `DUPLICATE_ORDER`
+ `LATE_DELIVERY`
+ `UNABLE_TO_FIND`
+ `FOOD_QUALITY_SPILLAGE`
+ `NEVER_DELIVERED`
+ `WRONG_ORDER_ITEMS_DELIVERED`
+ `VOUCHER_NOT_APPLIED`
+ `DELIVERY_ETA_TOO_LONG`

## CancelType (enum)
+ `CUSTOMER_CANCELLATION`
+ `VENDOR_CANCELLATION`
+ `LOGISTIC_CANCELLATION`

## GlobalEntityIdList
+ list (array[GlobalEntityId]) - List of cancel reason

## GlobalEntityId (enum)
+ `11ST_KR`
+ `AR_BG`
+ `AR_CZ`
+ `AR_HU`
+ `AP_PA`
+ `AU_KR`
+ `BAD_AR`
+ `BK_DE`
+ `BK_SG`
+ `BO_CA`
+ `BT_KR`
+ `CD_CO`
+ `CD_EC`
+ `CD_GR`
+ `CD_PE`
+ `CG_AE`
+ `CG_BH`
+ `CG_EG`
+ `CG_IQ`
+ `CG_KW`
+ `CG_QA`
+ `CG_SA`
+ `DA_GR`
+ `DJ_CZ`
+ `DJ_SK`
+ `DN_BA`
+ `DN_ME`
+ `DN_RS`
+ `EF_GR`
+ `FF_KR`
+ `FOC_AE`
+ `FOC_JO`
+ `FOC_LB`
+ `FOC_OM`
+ `FOC_QA`
+ `FOC_SA`
+ `FO_AE`
+ `FO_AT`
+ `FO_CA`
+ `FO_DE`
+ `FO_ES`
+ `FO_FI`
+ `FO_HK`
+ `FO_NO`
+ `FO_SE`
+ `FP_BD`
+ `FP_BG`
+ `FP_BN`
+ `FP_GE`
+ `FP_HK`
+ `FP_IN`
+ `FP_KH`
+ `FP_KZ`
+ `FP_MM`
+ `FP_MY`
+ `FP_LA`
+ `FP_PH`
+ `FP_PK`
+ `FP_RO`
+ `FP_SG`
+ `FP_TH`
+ `FP_TW`
+ `GM_KR`
+ `HF_EG`
+ `HG_SE`
+ `HM_RO`
+ `HS_BH`
+ `HS_SA`
+ `LH_DE`
+ `MJM_AT`
+ `NP_HU`
+ `NV_KR`
+ `ODR_PK`
+ `OP_SE`
+ `PDE_DE`
+ `PDE_DE_DO`
+ `PO_FI`
+ `PPP_PL`
+ `PP_CL`
+ `PY_AR`
+ `PY_BO`
+ `PY_CL`
+ `PY_DO`
+ `PY_EC`
+ `PY_HN`
+ `PY_MX`
+ `PY_PA`
+ `PY_PR`
+ `PY_PY`
+ `PY_UY`
+ `PY_VE`
+ `PZ_AT`
+ `PZ_HR`
+ `TB_AE`
+ `TB_BH`
+ `TB_JO`
+ `TB_KW`
+ `TB_OM`
+ `TB_QA`
+ `TB_SA`
+ `TEST_INSTRUMENTATION_VA`
+ `TEST_VA`
+ `YO_KR`
+ `YS_TR`
+ `VP_DE`
+ `ZO_AE`

## VoucherCodeList
+ list (array[VoucherCode], fixed-type) - voucher code list based on [voucher values document](https://docs.google.com/spreadsheets/d/1fB4XRrtuTNdbRDRmwR_E498EFeP2Yg_1Bp1DLLFGbjI/edit#geid=1170775165)

## VoucherList
+ list (array[Voucher], fixed-type) - voucher code list based on [voucher values document](https://docs.google.com/spreadsheets/d/1fB4XRrtuTNdbRDRmwR_E498EFeP2Yg_1Bp1DLLFGbjI/edit#geid=1170775165)

## Voucher
+ code (string) - voucher code
+ country (string) - eligible country to use this voucher
+ value (number) - value of voucher
+ description (string) - description of voucher
+ currency (string) - currency of voucher

## VoucherCode (enum)
+ `Voucher 1`
+ `Voucher 2`
+ `Voucher 3`
+ `Voucher 4`
+ `Voucher 5`

## OrderCommentList
+ list (array[OrderComment], fixed-type) - order comment list

## OrderComment
+ comment (string, required) - actual comment text
+ hash (string, required) - hash of the comment, used to validate update of comment
+ entity : order (string, required) - defines to which entity the comment belongs to
+ index (int64, required) - sequental order of comment for given entity
+ type (OrderCommentType, required) - the type of comment, whether it is manual comment entered by agent, or automatic "action" log. The manual comment can be only one, and it must have index '0'

## OrderCommentType (enum)
+ manual
+ automatic

## UpdateOrderCommentParam
+ comment (string, required) - actual comment text
+ hash (string, required) - hash of the comment which should be updated
+ timezone (string, required) - local timezone of the agent in IANA format

## UpdateOrderCommentResponse
+ comment (string, required) - actual comment text

## OrderCommentListV2
+ list (array[OrderCommentV2], fixed-type) - order comment list

## OrderCommentV2
+ id                : comment-id-12345 (string, required) - id of comment
+ createdAt        : 1572499999 (int64) - epoch timestamp of comment created
+ agentEmail       : example@foo.bar (string) - sender agent email
+ action            : report_missing_items (string) For which action the comment belongs to.
+ additionalData   (object) additional data containing extra comment data, will vary depends on action

## UpdateOrderCommentParamV2
+ comment (string, required) - manual comment test

## BasketUpdateHistory
+ items (array[BasketUpdateItem], fixed-type) - list of updated items
+ totalPrice : 10 (number, required) - total updated price
+ currency   : `SGD` (string) currency of the prices

## BasketUpdateItem
+ id (string, required) - product id
+ name (string, required) - product name
+ quantity (int64) - item quantity after action
+ action (string) - action name (removed, reduced)
+ source (string) - who triggered the updates (vendor, customer, etc)
+ price (number) - total price of updated items
+ options (array[BasketUpdateItem], fixed-type) - item options if any