ONDC-Official / verification-logs

ONDC Pre-production issue & discussion board
21 stars 284 forks source link

INNOBITS - compliance check #81

Closed BLR-0118 closed 2 years ago

BLR-0118 commented 2 years ago

Retail:

  1. core_version should be "1.0.0" for all responses;
  2. /on_search - locations.id doesn't match item.location_id, no image for descriptor, category_id should be "Fruits and Vegetables", don't fill up statutory reqs for packaged commodities or packaged foods. Please check this where everything is detailed out;
  3. /on_search - there is no struct called "categories" or "descriptor" under Catalog;
  4. /on_select - not compliant with API contract. Also, quote ttl of "PT9M" means 9 minutes. Is that what's intended?
  5. /on_select - quote breakup for anything other than "item" title_type shouldn't have item_id;
  6. /on_select & subsequent APIs - quote.price.value isn't adding up to quote.breakup.price.value for individual line items;
  7. /on_status - should have fulfillment state as well;
  8. /on_cancel - how did the order id suddenly change and same issue as 6 above;
  9. /on_update - this is supposed to be for returns & part cancel. Your response doesn't at all match with the API contract;

Logistics:

  1. /search - not compliant with API contract; also gateway endpoint shouldn't be in bpp_id / bpp_uri;
BLR-0118 commented 2 years ago

@dashbitla-ib

BLR-0118 commented 2 years ago
  1. timestamp in your response Context should have 3 digits for millisec (just before "Z") to be rfc3339 compliant;
  2. /on_select - what's the purpose of sending items.quantity? Anyway inventory details ("available") aren't supposed to be shown to the buyer app. Also, these values are selected by the buyer, so the seller app sending it again means buyer app would have to validate again;
  3. payment.type is "POST-FULFILLMENT" in init, becomes "ON-ORDER" in /on_init, again "POST-FULFILLMENT" in confirm & on_confirm. Typically, if the buyer app asserts that it's POST-FULFILLMENT, it should be persistent throughout (until negotiations come in);
  4. /on_track - if active, why is url empty?
  5. /on_cancel, /on_update - should be as per the updated API contract;
BLR-0118 commented 2 years ago

Logistics buyer:

  1. /search - since this is broadcast to multiple providers, the start & end location address is not expected to be shared;
  2. timestamp issue as mentioned above for retail seller app;
BLR-0118 commented 2 years ago

@dashbitla-ib

BLR-0118 commented 2 years ago

Retail Seller - of the issues listed above, 2 & 5 are fixed. For others: 1 - timestamp is still showing earlier format in /on_search, /on_cancel, /on_status; 3 & 4 - not fixed; also, in /on_confirm & /on_status, the TAT provided ("@ondc/org/TAT" isn't in ISO8601 duration format). Also, this isn't required in these API responses (hence we left out of the API contract) since this is only a promise made by the retail seller to the buyer;

Logistics buyer:

  1. /init - "@ondc/org/settlement_window" value of "PT2D" is not ISO8601 duration format. It should be "P2D"
BLR-0118 commented 2 years ago

@dashbitla-ib

dashbitla-ib commented 2 years ago

Retail Seller 1 - teimestamp changes

Refer to

Logistics buyer:

FIXED: 1. /init - "@ondc/org/settlement_window" value of "PT2D" is not ISO8601 duration format. It should be "P2D"

dashbitla-ib commented 2 years ago
  1. /on_track - if active, why is url empty?

ShipRocket is not proving the URL - on PreProd LoadShare is providing the URL and we are capturing it and also pushing it to buyer app - On Staging we tested, as they are not on PreProd.

Whoever gives the track URL this will come autoamtically.

dashbitla-ib commented 2 years ago

FIXED: also, in /on_confirm & /on_status, the TAT provided ("@ondc/org/TAT" isn't in ISO8601 duration format).

dashbitla-ib commented 2 years ago

3 payment.type is "POST-FULFILLMENT" in init, becomes "ON-ORDER" in /on_init, again "POST-FULFILLMENT" in confirm & on_confirm. Typically, if the buyer app asserts that it's POST-FULFILLMENT, it should be persistent throughout (until negotiations come in);

=> fixed already and we are maintaining it as POST-FULFILLMENT all thru.

BLR-0118 commented 2 years ago
  1. /on_search - why is "Apple Kashmir" of category "Grocery" but "Apple Washington" is "Fruits and Vegetables"? Both should be "Fruits and Vegetables", right?
  2. /on_search - FSSAI license no is only for F&B. You need not provide in your case;
  3. /on_cancel - why did the quote.breakup quantity/price etc. become 0 after cancel? It should show the original order with status of cancelled (which it is showing but prices & quantity shouldn't become 0); @dashbitla-ib
BLR-0118 commented 2 years ago
  1. Are you supporting search by city, category also?
dashbitla-ib commented 2 years ago

Yes we do!

On Sat, Aug 27, 2022 at 1:38 PM Supriyo Ghosh @.***> wrote:

  1. Are you supporting search by city, category also?

— Reply to this email directly, view it on GitHub https://github.com/ONDC-Official/Pre-production/issues/81#issuecomment-1229243255, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASBT2DJWKELTCCCM72MRQXDV3JODDANCNFSM57BKLFSA . You are receiving this because you were mentioned.Message ID: @.***>

--

Dash

dashbitla-ib commented 2 years ago

1 it’s on Test data catalog mapping incorrectly mapped. In prod they will

all be properly mapped. We are hoping to have all done properly as per the taxonomy once taxonomy is finalized.

2 Yes this is Test Server data Mis configured. In prod with real customers

this will all be done properly.

On Sat, Aug 27, 2022 at 1:19 PM Supriyo Ghosh @.***> wrote:

  1. /on_search - why is "Apple Kashmir" of category "Grocery" but "Apple Washington" is "Fruits and Vegetables"? Both should be "Fruits and Vegetables", right?
  2. /on_search - FSSAI license no is only for F&B. You need not provide in your case;
  3. /

— Reply to this email directly, view it on GitHub https://github.com/ONDC-Official/Pre-production/issues/81#issuecomment-1229240288, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASBT2DKB7FX2PBIY24K2473V3JL2JANCNFSM57BKLFSA . You are receiving this because you were mentioned.Message ID: @.***>

--

Dash

dashbitla-ib commented 2 years ago

on_cancel - why did the quote.breakup quantity/price etc. become 0 after cancel? It should show the original order with status of cancelled (which it is showing but prices & quantity shouldn't become 0); => initially we did like as mentioned by you, in one of the buyer app discussions we ended up changing it like this: we will revert it and share the logs for this tomorrow as per the contract and also inform buyer apps to follow this!!

On Sat, Aug 27, 2022 at 1:19 PM Supriyo Ghosh @.***> wrote:

  1. /on_search - why is "Apple Kashmir" of category "Grocery" but "Apple Washington" is "Fruits and Vegetables"? Both should be "Fruits and Vegetables", right?
  2. /on_search - FSSAI license no is only for F&B. You need not provide in your case;
  3. /on_cancel - why did the quote.breakup quantity/price etc. become 0 after cancel? It should show the original order with status of cancelled (which it is showing but prices & quantity shouldn't become 0);

— Reply to this email directly, view it on GitHub https://github.com/ONDC-Official/Pre-production/issues/81#issuecomment-1229240288, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASBT2DKB7FX2PBIY24K2473V3JL2JANCNFSM57BKLFSA . You are receiving this because you were mentioned.Message ID: @.***>

--

Dash

BLR-0118 commented 2 years ago
  1. /on_search - "exp" of 29/8 17:14 (means abt 6 hrs) doesn't match with ttl of 5 days. You should remove "exp";
  2. /on_search - for all items, images, symbol, short_desc & long_desc are mandatory;
  3. /on_search - pls note that "Grocery" is a parent category and there are 3 sub-categories for this - "Packaged Commodities", "Packaged Foods", "Fruits and Vegetables". Each of the item should have one of these 3 as category_id;
  4. /select & /on_select - the item selected (id: 14), provider (1000:1001) and location (L:1000:1001) are not in the catalog response at all. So, this is not an end-to-end flow;
  5. /on_select - pls check the updated API contract here. Your response should be exactly similar to this;
  6. /on_init - payment is collected by "BAP" pre-paid. Only details to be added by BPP is the settlement details (not the payment.params);
  7. payment.type changed from on-order (in /on_init) to post-fulfillment (in /confirm). What payment type was used?
  8. /on_confirm should be a copy of /confirm (pls check the API contract);
  9. /status - doesn't look like json payload. Is the log showing something else?
  10. /on_status - doesn't show a fulfillment state?
  11. /on_track - if tracking is false, how can status be active?
  12. /on_cancel - only the order state should show cancelled. Why does quote become empty and count 0?
  13. /on_update - this isn't json payload;
BLR-0118 commented 2 years ago

@dashbitla-ib

BLR-0118 commented 2 years ago

Also, fssai license no is mandatory only for providers for F&B. You need not give this. If given, it has to be valid 14 digit no.

BLR-0118 commented 2 years ago

Retail Seller:

  1. /on_search - https://enstore-test.sgp1.digitaloceanspaces.com/hfrlkednnxubz4ugpn8f53ssdf59
  2. /on_search - some of the stores don't have any items e.g. id "1000:1003" - which have empty array. Why is this in the catalog?
  3. /on_select - not comfortable with how maximum count & available count is used in breakup. Buyer selected qty of 1, yet you're returning these counts. I thought this is only supposed to be returned in cases where available count < count requested and only in /on_select. Same is with /on_init, /on_confirm, /on_status Can you pls check with Phonepe?
  4. /on_select, /on_init - 0 line items in quote.breakup is not required e.g. tax is only reqd for F&B;
  5. /on_init - /init shows a payment block with type of "POST-FULFILLMENT" and collected_by = "BAP". How did the collected_by change to "BPP" in /on_init. What Plotch sent is also wrong and I've asked them to fix it. FYI, the pre-paid payment collection is by buyer app and this will come in /confirm;
  6. /on_init - return_window, withholding_amount are string;
  7. /on_init - the provider block with descriptor and empty images isn't a part of the contract;
  8. how does the fulfillment_id suddenly change between /on_init and /on_confirm?
  9. No /support, /on_support?
BLR-0118 commented 2 years ago

Logistics buyer:

  1. From the retail catalog, apple of 1.5 kg was selected but in logistics search, weight passed is 0.5kg?
  2. why is same transaction_id used for retail & logistics network?
  3. why is the same id used for transaction_id and fulfillment_id in retail & logistics?
BLR-0118 commented 2 years ago

@dashbitla-ib

darshansada604 commented 2 years ago

@BLR-0118 point no 4: /on_select, /on_init - 0 line items in quote.breakup is not required e.g. tax is only reqd for F&B => just wanted to know what is required here in the quote.breakup because as per the contract it says we have to provide tax, delivery charges and packing charges there is no other spec says what to provide and what not to provide w.r.t category

darshansada604 commented 2 years ago

@BLR-0118 Logistics buyer:

From the retail catalog, apple of 1.5 kg was selected but in logistics search, weight passed is 0.5kg? Item name here itself is APPLE KASHMIR 1.5KG

BLR-0118 commented 2 years ago
  1. buyer app is expected to consume whatever the seller app sends in quote.breakup. Hence, you shouldn't send 0 items. Also, the above statement holds; Logistics buyer - not clear what weight was selected in retail and whether same is being passed to logistics?
BLR-0118 commented 2 years ago
  1. /on_search - image for all the Magic Groceries stores are empty; also, symbol shows text instead of image;
  2. /on_search - all consumables like "Elite Pineapple Chocolate Cake" is actually packaged food and you also need to specify the FSSAI no as mentioned here
  3. what do the fulfillment_id mentioned mean? No correlation like location_id;
  4. /on_init - finder fee was 3% in search. How did it disappear in /on_init?
  5. /on_update - the order state doesn't change, only the item state changes as per the contract;
BLR-0118 commented 2 years ago

@dashbitla-ib

BLR-0118 commented 2 years ago
  1. /on_init - there should be a link between item_id and fulfillment_id in Order
BLR-0118 commented 2 years ago

@dashbitla-ib