ONDC-Official / v1.1.0-logs

2 stars 107 forks source link

NowFloats - compliance check #221

Open sandeepshahi opened 1 year ago

sandeepshahi commented 1 year ago

Flow 1

  1. /on_search

    • /message/catalog/bpp/providers/0 must have required property 'ttl'
    • /message/catalog/bpp/providers/0/descriptor must have required property 'long_desc'
    • /message/catalog/bpp/providers/0/descriptor must have required property 'short_desc'
    • /message/catalog/bpp/providers/0/locations/0/time/schedule must have required property 'holidays'
    • /message/catalog/bpp/providers/0/items/category_id must be equal to one of the non-deprecated category ids in enhanced sub-category list
    • /message/catalog/bpp/providers/0/items/@ondc/org/statutory_reqs_prepackaged_food must be object
    • /message/catalog/bpp/providers/0/items/@ondc/org/statutory_reqs_packaged_commodities must be object
    • /message/catalog/bpp/providers/0/items/@ondc/org/mandatory_reqs_veggies_fruits must be object
    • invalid attributes "@ondc/org/fssai_license_no", "ttl" in /bpp/providers/locations
    • /message/catalog/bpp/providers/0/fulfillments/0/contact/phone must NOT have more than 11 characters
    • store enable/disable timestamp (/bpp/providers/time/timestamp) must match context/timestamp
    • Either one of fixed (range) or split (frequency and times) timings should be provided in /bpp/providers[0]/locations[0]/time
    • @ondc/org/contact_details_consumer_care should be in the format "name,email,contactno" in /bpp/providers[0]/items
    • location in serviceability construct should be one of the location ids (bpp/providers[0]/locations)
    • category in serviceability construct should be one of the category ids (bpp/providers[0]/items/category_id)
  2. /on_select

    • /quote/breakup/price/value must be string
    • /quote/breakup/item/quantity/maximum/count must be string
    • /quote/breakup/item/quantity/available/count must be string
    • /quote/breakup/item/price/value must be string
    • /fulfillments[0]/@ondc/org/TAT (O2D) in /on_select can't be smaller than @ondc/org/time_ship (O2S) in /on_search
    • invalid attributes updated_at and updated_by in /fulfillments[0]/state
  3. /on_init

    • /payment must have required property '@ondc/org/buyer_app_finder_fee_type'
    • /payment must have required property '@ondc/org/buyer_app_finder_fee_amount'
    • /payment/@ondc/org/settlement_details/0/settlement_type must be equal "upi" (in lower case)
    • /quote/breakup/item/quantity is not required
    • many optional attributes in payment object ("type", "collected_by, "@ondc/org/withholding_amount", "@ondc/org/return_window", "@ondc/org/settlement_basis", "@ondc/org/settlement_window")
  4. /on_confirm

    • /fulfillments/0 must have required property '@ondc/org/provider_name'
    • /fulfillments/0/start/location/descriptor must have required property 'name'
    • /fulfillments/0/start/contact must have required property 'phone'
    • /fulfillments/0/end/location/address must have required property 'area_code'
    • invalid attributes "updated_at", "updated_by" in /fulfillments
    • order/updated_at timestamp should be updated as per the context/timestamp
    • items[0].fulfillment_id mismatches for Item c576311f-f8ca-4d95-8fcf-fa09b7572f9f in /on_select and /on_confirm
    • items[1].fulfillment_id mismatches for Item c75ee93c-9f3a-479c-b54d-46fb7f4bcd30 in /on_select and /on_confirm
    • /fulfillments/start/location/descriptor can't be empty
  5. /on_status (both)

    • must have required property 'payment'
    • must have required property 'created_at'
    • must have required property 'updated_at'
    • /billing must have required property 'created_at'
    • /billing must have required property 'updated_at'
    • /billing/address must have required property 'building'
    • /fulfillments/0 must have required property '@ondc/org/provider_name'
    • /fulfillments/0/start/location/descriptor must have required property 'name'
    • /fulfillments/0/start/contact must have required property 'phone'
    • /fulfillments/0/end must have required property 'time'
    • /fulfillments/0/end/location/address must have required property 'area_code'
    • /quote/breakup/price/value must be string
    • /quote/breakup/item/price/value must be string
    • invalid attributes "updated_at", "updated_by" in /fulfillments
  6. /on_status (unsolicited)

    • /fulfillments/end/time missing
    • /fulfillments/end/time/timestamp (delivery time) must match context/timestmap
    • unsolicited /on_status for order shipping (Order-picked-up) is missing
    • /fulfillments/start/time/timestamp (pickup time) must match timestamp when fulfillment state is Order-picked-up
  7. /on_update

    • must have required property 'payment'
    • must have required property 'created_at'
    • must have required property 'updated_at'
    • /fulfillments/0 must have required property '@ondc/org/provider_name'
    • /fulfillments/0/start/location/descriptor must have required property 'name'
    • /fulfillments/0/start/contact must have required property 'phone'
    • /fulfillments/0/end must have required property 'time'
    • /fulfillments/0/end/location/address must have required property 'area_code'
    • /quote/breakup/price/value must be string
    • /quote/breakup/item/price/value must be string
    • item with id: ad56392e-c20a-4c60-97b2-7b4c38e5e9aa in quote.breakup[0] does not exist in items[]
    • item with id: ad56392e-c20a-4c60-97b2-7b4c38e5e9aa in quote.breakup[1] does not exist in items[]
    • delivery with id: 5d262036-26cb-4ad8-aab0-3d3a91d24da0 in quote.breakup[2] does not exist in fulfillments[]
    • new fulfillment should not be created when return state is "Return_Initiated"
    • invalid /items object, the returned item can't have 2 fulfillments (Refer API contract v1.1.0)
    • invalid fulfillment object /fulfillments/1 for Return_Initiated state
    • Why is a new fulfillment object appended in fulfillment list for every return status update (Refer API Contract)
    • Invalid return states in /fulfillments/state/descriptor/code (should be Pending, Order-picked-up, Order-delivered)
    • start and end location should change in case of ReverseQC fulfillments
    • quote is only updated when the state is either "Return_Picked" or"Liquidated"
    • context/message_id for all unsolicited on_update associated with an update should remain same to track that particular return request

Flow 2

Flow 3

Flow 4

Flow 5

@sankalp-nowfloats

sandeepshahi commented 1 year ago

@sankalp-nowfloats, please re-run the utility as mentioned in the README.md and resolve the issues as identified by the utility reports.