ONDC-Official / v1.2.0-logs

Retail and Logistics Logs for 1.2.0
9 stars 245 forks source link

DIGIIT - compliance check #436

Open BLR-0118 opened 8 months ago

BLR-0118 commented 8 months ago

Flow 1

Flow 2

  1. /on_select: needs to have provider.locations, fulfillment.type as documented in contract;
  2. /on_init:
    • remove provider_location;
    • remove cancellation_terms (will be enabled in phase 2);
    • remove from bpp_terms (max_liability, max_liability_cap) as this will be enabled in phase 2;
  3. /on_confirm: same issues as /on_init;

Flow 3

  1. /on_select_out of stock:
    • pls use error format as documented here;

Flows 4 & 5 are wrong; pls follow the contract here & here - note that with cancellation (RTO or otherwise), a separate fulfillment is created & items assigned from the forward shipment fulfillment to this new fulfillment; also, change in order value line item wise is maintained in the quote_trail for this fulfillment;

BLR-0118 commented 8 months ago

@vignesh-arvind

vignesh-arvind commented 6 months ago

Hi @BLR-0118, pls review the latest 1.2 logs

BLR-0118 commented 6 months ago

Flow 1

  1. /on_search (full catalog):

    • most items being sent are for RET10 but Context shows RET15 (pls note that catalog has to be separated by RET codes);
    • use meaningful name for variant instead of "Variant Group 1";
    • attribute "Base" in variant definition is invalid;
    • variant group definition attribute has to be enabled for the RET code as per this & same attribute has to be defined for each item that's a part of the variant group (for buyer apps to group them for display);
    • check the sample grocery catalog for how variants are defined;
    • parent_item_id "V1" for item 991 is not defined (has to match variant definition categories.id;
    • unit "Number" for item 991 is invalid (has to be valid value from this list);
    • item.quantity.available.count has values "99" (in-stock) or "0" (out-of-stock); pls make sure you comply with this;
    • item.quantity.maximum.count has values "99" (no order cap) or any other value identifying the order cap;
    • for provider "170", serviceability defined only for "Oil & Ghee", even though there are several other categories for which items are defined;
  2. /on_search (incremental catalog):

    • full catalog search was for RET15 but incremental search is for RET17 for the same items in full catalog (pls use the same RET code for full & inc catalog refresh);
    • scope of incremental catalog refresh is limited only to item record update, disable of provider, disable/close/open of provider location;

Flow 2

  1. /on_select:

    • how is "Next Day Delivery" having TAT of 1hr (shouldn't this be 1 day)?
  2. /on_confirm:

    • in /on_select, fulfillment provider_name was "Ganesh", in /on_confirm it's "freshon"?
    • fulfillment.start.instructions (pickup code) shouldn't be sent to buyer app unless buyer app is providing logistics;
    • both pickup & delivery codes are being set to OTP, but for OTP the authorization structure needs to be used;
    • pls add provider_tax_number;
  3. /on_status:

    • /on_status (packed) has same message_id as /confirm?
    • tracking info could be either gps (hyperlocal) or URL(intercity); since this is hyperlocal, only gps should be set;
    • also set routing.type to P2P;
    • all /on_status have same message_id, which is same as in /confirm; each new unsolicited message should have unique message_id, while solicited response has same message_id as request;
    • agent assigned state also has to be sent in /on_status;
  4. tracking is enabled as per the order flow APIs but no tracking APIs provided;

Flow 3

  1. /on_select (out of stock):
    • error.message should have attr/values in esc quotes as shown here;

Flow 4

  1. /on_cancel:
    • cancel fulfillment should have type "Cancel" (note Pascal case);
    • items array should have 2 entries - 0 qty for forward shipment fulfillment & 1 qty for cancel fulfillment;
    • quote_trail should have -ve value for item (& delivery charges) if cost of item (& delivery charges) are being refunded;
    • quote will have the new value for order, i.e. if both item & delivery charges refunded, both should be having 0 value;
    • pls add precancel_state;

Flow 5

  1. /on_cancel:
    • all issues (as above for flow 4) also apply here;
    • cancelled_by should have the bpp_id as this cancellation is by seller;
    • few additional attrs required in cancel_request, such as retry_count, rto_id;

Flow 6-A

  1. part cancel by merchant requires the /on_update flow as doc in contract here;

Flow 6-B

  1. /on_update (12) has earlier timestamp than /update (11);
  2. fulfillment for return is created (with same id as return request id from /update) in Return_Initiated, with fulfillment type of Return;
  3. quote is correct but quote_trail needs to follow what's mentioned for the cancel flows;

Flow 6-C

  1. same issues as above regarding creation of return fulfillment;
  2. return with pickup follows multiple steps & logs need to be shared for all these steps;
BLR-0118 commented 6 months ago

@vignesh-arvind - pls resubmit logs for flow 1, 2, 5, 6

vignesh-arvind commented 5 months ago

@BLR-0118 @sandeepshahi pls review the logs

Jagannath-wits commented 5 months ago

Flow 1

On Search Full Catalog Refresh

Schema Errors

Invalid Area Code

Missing Origin Tag

Item Prices

BPP Descriptor

Duplicate IDs

Search Inc Refresh

Intent

On Search Inc Refresh

Flow 2

On Init

Provider Tax Number

Flow 3

Select Out of Stock

Timestamp Mismatch

Select

Timestamp Mismatch

On Select

Confirm

Message Order Tags

BAP GST Tags

On Confirm

Message Order Tags

Message/Order/Tags/Bpp_Terms/Np_Type

Tags Bap Terms

On Status Pending

On Status_all

Schema Error

On Status Out For Delivery

Invalid Message ID

Flow 4( why is the domain ret14 when rest are ret10)

On Cancel

Schema Errors

Item Count

Cancel Fulfillment Missing

Fulfillment Mismatch

Specific Fulfillment ID

Missing Cancel

Missing Pre Cancel

Flow 5

On Cancel

Schema Error

Fulfillment ID

Missing RTO

Flow 6-a

On Update

Schema Error

Timestamp Consistency

Invalid Quote Trail Prices

Invalid Cancellation ID

Flow 6-b

On Update Interim

On Update Approval

Schema Errors

On Update Picked

Schema Errors

Invalid Quote Trail Prices

Update Settlement

On Update Delivered

Schema Errors

Invalid Quote Trail Prices

Flow 6-c

On Update Interim

Schema Error

Timestamp Consistency

On Update Liquidated

Schema Error

Invalid Quote Trail Prices

@vignesh-arvind

BLR-0118 commented 1 month ago

Flow 1

  1. /on_search:
    • "Size" is invalid attribute for grocery (RET10) items, pls only use the attrs in this spreadsheet;
    • item unitized value needs to be correctly defined, e.g. for item 1106:
    • quantity.unitized,measure.unit = "millilitre" (enum here);
    • quantity.unitized.measure.value = "500";
BLR-0118 commented 1 month ago

@vignesh-arvind

vignesh-arvind commented 1 month ago

Hi @BLR-0118

only in Flow 1 on_search needs to be re-submitted ??, pls advice.

JyotiSharma0711 commented 1 month ago

Flow 1

on_search_full_catalog_refresh

"invalidCategoryIdCleaning & Household": "Invalid category_id (Cleaning & Household) for Grocery", "invalid_attribute[1][3]": "Invalid attribute for item with category id: Brand", "invalidCategoryIdStationery": "Invalid category_id (Stationery) for Grocery", "invalid_attribute[2][0]": "Invalid attribute for item with category id: Brand", "invalidCategoryIdBeverages": "Invalid category_id (Beverages) for Grocery", "invalidCategoryIdBeauty & Hygiene": "Invalid category_id (Beauty & Hygiene) for Grocery", "invalidCategoryIdBaby Care": "Invalid category_id (Baby Care) for Grocery", prvdr0item5statutoryReq": "The following item/category_id is not a valid one in bpp/providers for /on_search",

-Follow this doc and update your category accordingly https://docs.google.com/spreadsheets/d/1APAvavF_BNbTA89benAlGtv0GuFvpn2b6XXi4lSdTTw/edit?gid=0#gid=0

on_search_inc_refresh

Flow 2

on_select

on_init

on_confirm

Flow 3, Flow 4

Flow 5

on_confirm

on_cancel

Flow 6

on_update_part_cancel

on_status_packed

on_status_picked

on_status_out_for_delivery, on_status_delivered

on_update_interim_reverse_qc

on_update_approval

on_update_picked

on_update_delivered

@vignesh-arvind

sahil-ondc commented 1 month ago

@vignesh-arvind, Issues reported in last iteration are still not rectified and persists in latest logs, Kindly go through the previous feedback. Also run log validation utility before logs submission for self iterations. https://github.com/ONDC-Official/log-validation-utility

vignesh-arvind commented 1 month ago

Hi @sahil-ondc

As we have resolved the previous comments and tested with the log validation tool, We haven't got any error responses, except 5 secs response in Flow 2 confirm and on_confirm, could you pls confirm again ?

sahil-ondc commented 1 month ago

Hi @vignesh-arvind, Request you to please submit Log-validation-utility reports along with logs. As we can see such critical issues are being flagged by utility

on_search

sahil-ondc commented 3 weeks ago

Flow 1

On Search

On Search Inc

Flow 2

On Confirm

On Status Picked

track/on_track

Flow 5

sahil-ondc commented 3 weeks ago

Flow 6

On Update Part Cancel

On Status Out For Delivery

On Update Interim Liquidated

On Update Liquidated

On Update Interim ReverseQc

On Update Picked

@vignesh-arvind

sahil-ondc commented 1 week ago

Flow 1

On Search

On Search Inc

Flow 2


On Init

On Status Picked

On Status Delivered

Flow 3

On Select Out Of Stock

Flow 5

On Cancel

On Status Rto Disposed/Delivered

On Update Liquidated

On Update Approval

On Update Picked

On Update Delivered

@vignesh-arvind