ONDC-Official / v1.2.0-logs

Retail and Logistics Logs for 1.2.0
8 stars 205 forks source link

Maaserp (Seller App - RET10) - Compliance check #936

Open nishthamongaondc opened 4 months ago

nishthamongaondc commented 4 months ago

Flow 1

on_search_full_catalog_refresh

on_search_inc_refresh

Flow 2

on_select

on_init

on_confirm

on_status_delivered

Flow 4

on_cancel

@techopendhi

NishthaMonga commented 4 months ago

Flow 1

on_search_full_catalog_refresh

on_search_inc_refresh

Flow 2

on_select

on_confirm

on_status_pending

on_status_packed, on_status_out_for_delivery, on_status_delivered

on_status_picked logs missing

Flow 3

on_select_out_of_stock

on_select

on_init

on_confirm

Flow 4

on_select

on_cancel

Flow 5

on_cancel

@techopendhi

techopendhi commented 4 months ago

looping @Gagandeep Singh @.***>

On Thu, Mar 7, 2024 at 7:20 PM NishthaMonga @.***> wrote:

Flow 1 on_search_full_catalog_refresh

  • /message/catalog/bpp~1providers/0/items/0/quantity/unitized/measure/value enter a valid number
  • /message/catalog/bpp~1providers/0/items/0/quantity/available/count available/count must be equal to one of the allowed values i.e 99 if in stock or 0 if not in stock
  • item.quantity.available.count should be either 99 (inventory available) or 0 (out-of-stock) in /bpp/providers[0]/items[0]
  • Origin tag fields are missing for Grocery item[0]
  • short_desc and long_desc should not be provided as empty string "" in /message/catalog/bpp/providers[0]/items[0]/descriptor

on_search_inc_refresh

  • provider id: P1839 in bpp/providers didn't matched for providers id of /on_search_full_catalog_refresh

Flow 2 on_select

  • City code mismatch in /search and /on_select
  • Invalid Item Id provided in /on_select: I9177, I9178
  • provider.id mismatches in /on_search and /on_select
  • provider.locations[0].id mismatches in /select and /on_select

on_confirm

  • order.updated_at timestamp should be updated as per the context.timestamp (since default fulfillment state is added)
  • Key 'email' mismatch: @. !== @.
  • fulfillment id F46780 does not exist in /on_select
  • tax on fulfillment level charges, to be included only if not 0

on_status_pending

  • /message/order/fulfillments/0/agent/phone must NOT have fewer than 10 characters
  • /message/order/quote/breakup/1/price/value must be string
  • /message/order/payment must have required property 'params'
  • /message/order/payment must have required property 'status'
  • /message/order/payment must have required property 'type'
  • /message/order/payment must have required property 'collected_by'
  • /message/order/payment must have required property @.***/org/buyer_app_finder_fee_type'
  • /message/order/payment must have required property @.***/org/buyer_app_finder_fee_amount'

on_status_packed, on_status_out_for_delivery, on_status_delivered

  • Same as on_status_pending

on_status_picked logs missing Flow 3 on_select_out_of_stock

  • quote.price.value 0 does not match with the price breakup 1600.00

on_select

  • item with id: F46812 in quote.breakup[4] does not exist in items[] (should be a valid item id)

on_init

  • Key @.***/org/item_id' mismatch: F46812 !== I9178
  • Key 'breakup.2.title' mismatch: Delivery charges !== Tax
  • Key @.***/org/title_type' mismatch: delivery !== tax

on_confirm

  • order.updated_at timestamp should be updated as per the context.timestamp (since default fulfillment state is added)
  • Key 'email' mismatch: @. !== @.

Flow 4 on_select

  • item with id: F46792 in quote.breakup[4] does not exist in items[] (should be a valid item id)

on_cancel

  • /message/order/fulfillments/0 must have required property 'tags'
  • /message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Cancelled)
  • /message/order/fulfillments/0/start/location must have required property 'id'
  • /message/order/fulfillments/0/end must have required property 'person'
  • /message/order/quote/breakup/1/price/value must be string
  • Item count should be 0 for /on_cancel in forward shipment
  • precancel_state not found in fulfillments for on_cancel
  • Key length mismatch for address
  • payment settlement_details mismatch in /on_init & /on_cancel

Flow 5 on_cancel

  • /message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Cancelled,RTO-Initiated,RTO-Delivered,RTO-Disposed)
  • @.*** https://github.com/ondc1org1item_quantity/count must be integer
  • /message/order/quote/breakup/2/item must have required property 'price'
  • Key 'address.building' mismatch: 33 !== Prithvi when compared with init billing object
  • Key 'address.locality' mismatch: Unnamed Road !== 33 when compared with init billing object
  • RTO object is mandatory for on_cancel
  • Delivery state should be Cancelled for on_cancel

@techopendhi https://github.com/techopendhi

— Reply to this email directly, view it on GitHub https://github.com/ONDC-Official/v1.2.0-logs/issues/936#issuecomment-1983547652, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEHZMWCO2PYGKMMJCCVZPGTYXBWBLAVCNFSM6AAAAABD2ALA6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBTGU2DONRVGI . You are receiving this because you were mentioned.Message ID: @.***>

techopendhi commented 4 months ago

Hi @nishthamongaondc For the above issue opened I have resubmitted PR https://github.com/ONDC-Official/v1.2.0-logs/pull/995. Please refer to below: https://github.com/techopendhi/v1.2.0-logs/tree/maaserp_v1_2_0_02_03_24/MaasErp/Retail_logs_02_03_24/RET10

sandeepshahi commented 3 months ago

The latest logs must be submitted for verification; The API timestamps indicate past dates and do not sync with the actual log submission dates.

Flow 1

/on_search

/on_search (inc)

Flow 2

/on_search

/on_select

/on_init

/on_confirm

/on_status

Flow 3

Flow 4

/on_cancel

Flow 5

/on_cancel

Flow 6

several issues might have been missed; the APIs are in really bad shape; fix all the issues as mentioned above in all the flows before resubmitting the logs

@techopendhi

sandeepshahi commented 2 months ago

Multiple repeated issues in the payload; All the previously identified issues must be resolved before resubmitting the logs

Please use the log validation utility and rectify the issues before resubmitting the logs

Flow 1

/on_search

/on_search (inc)

Flow 2

/on_select

/on_init

/on_confirm

/on_status

Flow 3

/on_select (OOS)

Flow 4

/on_cancel

Flow 5

/on_cancel

Flow 6

/on_update (Return Initiated)

/on_update (Return picked/Liquidated)

@techopendhi

sahil-ondc commented 2 months ago

Flow 1

on_search (full_catalog)

on_search (inc_catalog)

Flow 2

select

on_select

on_init

on_confirm

on_status

Flow 3

on_select

Flow 4

on_cancel

Flow 5

on_cancel (rto)

Flow 6

Note

@techopendhi

sahil-ondc commented 1 month ago

Logs with repeated issues has been submitted

Flow 1

on_search (full_catalog) (Transaction logs not submitted, therefore considering last submitted log)

on_search (inc_catalog)

Flow 2

on_select

on_init

on_confirm

on_status (accepted)

on_status (Agent-assigned)

Flow 3

on_select (out-of-stock)

Flow 4

on_cancel

Flow 5

Flow 6

on_status

@techopendhi

sahil-ondc commented 1 month ago

Flow 1

on_search

on_search (inc catalog)

Flow 2

on_select

on_init

on_confirm

on_status

Flow 3

on_track

Flow 5

on_cancel

on_status (rto-delivered)

Flow 6

@techopendhi

sahil-ondc commented 3 weeks ago

Flow 1

on_search (full catalog)

on_search (inc catalog)

Flow 2

on_select

on_init

Flow 4, 5

on_cancel

@techopendhi

techopendhi commented 2 weeks ago

@sahil-ondc I had a call with the ONDC team regarding the aforementioned issues and also communicated with them via email. They informed me that the following are false errors, as per my expectations:

  1. Incorrect Mapping of item/quantity/unitized/measure with item/name and item/description

    • Example: The product "surf excel matic front load liquid detergent 1 litre" has a quantity of 1.
    • Their reply: "I have checked the payload. You can address this invalid error on the issue board. item/quantity/unitized/measure is not correctly mapped with item/name and item/description."
  2. Mismatch of /fulfillments[1]/@ondc/org/TAT (O2D) in /on_select with @ondc/org/time_to_ship (O2S) in /on_search

    • I have sent two fulfillment methods: delivery and self-pickup. In this case, the time_to_ship should be equal to O2S since it is a self-pickup. For self-pickup, only O2S needs to be sent, not O2D.
  3. Addition of C3419, C3432 in quote/breakup

    • Their reply: "For flow 4, new fulfillment charges should not be included; you can apply them in flow 5."
    • Consequently, I have removed the delivery charges in Flow 4, as they were from the buyer's side, but retained the delivery charges in Flow 5.

    cc: @techopendhi

techopendhi commented 2 weeks ago

New logs were submitted yesterday in MaasERP_Solutions/Retail/RET10/2024-06-20 according to the feedback given.

sahil-ondc commented 1 week ago

Flow 1

on_search

Other Flows

on_select

on_confirm

on_status (picked)

@techopendhi

techopendhi commented 1 week ago

@sahil-ondc

We have gone through the issues that you have raised. Please find the resolutions and explanations below:

Flow 1 item named as:niine naturally soft sanitary napkin ultra thin 6 piece, shouldn't be in Health and Wellness (Feminine Care) Resolution: We will be removing this product and resubmit the logs as we are considering RET10 for now.

item.quantity.unitized.measure should be mapped correctly (ex: rin ala fabric whitener 500 milli litre, it should have unit as millilitre not unit 1) Explanation: This issue was already discussed with the ONDC logs team (POC- Jyoti Sharma) and they have acknowledged that our payload is correct and we can address this as invalid error. Please refer to the attached screenshot.

is only Cleaning & Household supported ? Explanation: No, we are supporting all the categories that fall under RET10 but for the logs submission we are using Cleaning and Household.

Other Flows on_select how an fulfillment is having @ondc/org/TAT as 6 minutes (P0DT6M) while time_to_ship is 5 minutes on_confirm pickup and delivery ranges should be as per @ondc/org/TAT

Explanation: The store’s pickup location and the customer’s delivery location are only 300m apart. That is the reason we have mentioned the TAT as 6 minutes. All the mentioned time ranges fall under the mentioned TAT.

on_status (picked) as per provided invoice, payment method is cash, but as per order details its prepaid (please explain) Resolution: We will resubmit the logs after resolving this issue.

So we will be resubmitting the Flow 1 and Flow 2 to address the category issue of the product that falls under Health and wellness and Invoice payment type issue.

Screenshot 2024-06-25 112020

sahil-ondc commented 1 week ago

@techopendhi

techopendhi commented 1 week ago

@sahil-ondc

Thank you for your prompt reply.

As mentioned by you we will be rectifying the "item.quantity.unitized.measure".

For @ondc/org/TAT we need your assistance, our current approach is as follows:

Time to Ship: 5 min Store Location: 17.462485,78.365312 Delivery Location: 17.464141,78.366162

Formula: O2D TAT = max(O2S for all items) + S2D;

As per this formula, O2S is 5mins and S2D is 1min as we have calculated using the Google Places and the concluded values is 6 mins.

Please guide us whether we need to add any buffer value in the duration provided by the google API or are there any additional factors that we need to consider.

sahil-ondc commented 1 week ago

@techopendhi , Please provide realistic values of Pickup and Delivery time ranges. 6 minutes delivery does not seems realistic.

techopendhi commented 1 week ago

@sahil-ondc

We have considered such a short delivery distance for log creation only, as the time ranges needs to be between the provide TAT. But as mentioned by you we will be increasing the distance for the delivery location without making any changes in the existing formula.

Let me know if you have any suggestions.

techopendhi commented 1 week ago

@sahil-ondc

We are submitting the PR for Flow1 and Flow 2 by resolving the following points as per your feedback:

Flow 1 item named as:niine naturally soft sanitary napkin ultra thin 6 piece, shouldn't be in Health and Wellness (Feminine Care) Resolution: We will be removing this product as we are considering RET10 for now.

item.quantity.unitized.measure should be mapped correctly (ex: rin ala fabric whitener 500 milli litre, it should have unit as millilitre not unit 1) Explanation: We have updated the the product unit of measure.

is only Cleaning & Household supported ? Explanation: No, we are supporting all the categories that fall under RET10 but for the logs submission we are using Cleaning and Household.

Other Flows on_select how an fulfillment is having @ondc/org/TAT as 6 minutes (P0DT6M) while time_to_ship is 5 minutes on_confirm pickup and delivery ranges should be as per @ondc/org/TAT

Resolution: As discussed with you we will be increasing the distance for the delivery location without making any changes in the existing formula.

on_status (picked) as per provided invoice, payment method is cash, but as per order details its prepaid (please explain) Resolution: We have updated the payment type in the invoice.

sandeepshahi commented 1 week ago

Flow 1

/on_search

/on_search (inc)

Flow 2

/on_confirm

/track

Flow 6

/on_update (part cancel)

@techopendhi

sandeepshahi commented 1 week ago

@techopendhi, please fix the above issues and acknowledge here once fixed.

techopendhi commented 1 week ago

Hi @sandeepshahi ,

Feedback: Flow 1 /on_search why are escape characters used in the code? string values should be provided without escape characters: Explanation: Not able to replicate

Feedback: Flow 1 /on_search why are veg/non_veg categorization provided for cleaning and household products Explanation: According to the contract and as said in call, we need to provide this information in all cases of Grocery. Also, If it's not included, the utility will produce an error.

Feedback: Flow 1 /on_search Are cleaning and household products going to be sold hyperlocally? Explanation: Yes

Feedback: Flow 1 /on_search (inc) delta changes must be provided in incremental call Explanation: For item with id I51421 cancellable state was changed false->true

Feedback: Flow 1 /on_search (inc) are all the scenarios of incremental refresh supported, as mentioned in the contract? Explanation: Covered

Feedback: Flow 2 /on_confirm how can estimated pickup/delivery time ranges be provided even before the order is accepted by the seller? Explanation: We provide an estimated delivery time based on the location, pickup, and other factors. This is an optional field, but we're including it for your convenience.

Feedback: Flow 2 /track must be supported since tracking = "true" Explanation: Not required in logs

Feedback: Flow 6 /on_update (part cancel) how can seller part cancel the order even before accepting it? Explanation: We have provision to part cancel the order when order is "Created" as well as "Accepted"