ONDC-Official/v1.1.0-logs

Ushop - compliance check

Closed this issue · 33 comments

Flow 1

  1. /on_search:
  • Context.timestamp can't be the same as for /search;
  • contact_details_consumer_care should be in this format: "name,email,contactno";
  • store timings & holidays are mandatory keys, holidays can be empty;
  • category in serviceability should be the actual category used, i.e. "Beauty & Hygiene", not "Grocery";
  1. /on_select:
  • item_quantity is integer;
  • item.quantity.available.count & maximum.count are string;
  1. /status_after_delivered:
  • pickup time (fulfillment.start.time.timestamp) and delivery time (fulfillment.end.time.timestamp) are mandatory; also, show intermediate fulfillment states where these times are setup as per the contract;
  1. /update_return_initiated:
  • this is wrong. /update call will be initiated for return and there will be at least 2 /on_update responses (for the interim state "Return_Initiated" and thereafter ("Liquidated" or "Return_Rejected") or ("Return_Approved", "Return_Picked", "Return_Delivered"). this should be thru multiple /on_update calls which have the same message_id as the original /update (for the buyer app to match the /on_update with the /update);
  1. No cancel APIs?

Flow 2

  1. where is the serviceability error?
  2. /on_update: needs to provide current state of order;

Flow 4

  1. Can't see payload for out-of-stock in /on_select or /on_init;

Hi @supriyo Ghosh ONDC @sandeep Sahi ONDC Logs we have submitted Ushop logs kindlly ewview PRlinks : #124

Flow 1

  1. /search:
  • "buyer_app_finder_fee_type" should be "percent", not "Percent" (Plotch team which owns the buyer app say they can't find this search request in today's logs);
  1. /on_search:
  • time.schedule.holidays is a mandatory key as mentioned above but not fixed;
  • fulfillment_id is not mapped to any fulfillment type;
  1. /on_select:
  • breakup.price.value should be string;
  1. /init:
  • billing.address doesn't have values for mandatory keys like building, locality;
  1. /on_init:
  • provider_location.id is different from provider.locations.id in /select & /on_search;
  • payment block has invalid keys, should be as per API contract;
  1. /on_confirm:
  • order.created_at > order.updated_at;
  1. /on_status:
  • can't see payload where pickup & delivery time provided;
  1. /update & /on_update:
  • payload not complete;

Flow 2

  1. Can't see payload for non-serviceable case

Flow 4

  1. /on_select - item.quantity.available.count & item.quantity.maximum.count should be string;

Pls submit updated logs for all flows.

Hi @BLR-0118 we have submitted Ushop logs kindlly review PR link : #135

Flow 1

  1. /on_init:
  • payment block keys should be exactly as per contract;
  1. /on_confirm:
  • item_quantity.count should be integer;
  • quote breakup doesn't have item price;
  1. /on_status (order delivered):
  • fulfillment object incomplete (has start, no end);
  • pickup & delivery times not available;
  1. /update:
  • order object incomplete (should have all components which are expected in /on_status);

Flow 2

  1. /select (non-serviceable):
  • payload is invalid;

Flow 4

No payload for item out of stock;

No unsolicited /on_cancel or /on_status payloads
Flow 5 use-case incomplete

Hi @BLR-0118 we have submitted Ushop log PR link here: #141

Flow 1

  1. /init & /on_init:
  • why is address.building null?
  1. /on_confirm:
  • order.created_at should remain same as in /confirm, order.updated_at should be updated;
  1. /status & /on_status:
  • why is Context.transaction_id different from what's in /select, /init or /confirm for the order?
  1. /on_update:
  • payload is wrong. pls check with the logs for one of the participants who have verified their logs;

Flow 2

  1. /select_non-serviceable:
  • payload is invalid;

Flow 4

  1. /select:
  • payload for item out-of-stock is invalid;

Please resubmit all logs exactly as per the test case scenarios here;

Hi @BLR-0118 we have submitted Ushop log #148

Hi @BLR-0118 we have submitted Ushop log kindly review PR link here : #152

Flow 1

/on_search

  • Either one of (fixed or split) store timings should be provided

/init

  • gps coordinates in fulfillments[0].end.location mismatch in /select & /init
  • address.area_code in fulfillments[0].end.location mismatch in /select & /init

/on_init

  • /quote must have required property 'ttl'
  • gps coordinates in fulfillments[0].end.location mismatch in /select & /on_init
  • address.area_code in fulfillments[0].end.location mismatch in /select & /on_init
  • settlement_counterparty is expected to be 'seller-app' in @ondc/org/settlement_details

/confirm

  • fulfillments[0].end.location.address.area_code is not matching with area_code in /select
  • quote.ttl can't change in /on_select and /confirm

/on_confirm

  • /fulfillments/0 must have required property '@ondc/org/provider_name'
  • /fulfillments/0/end must have required property 'time'
  • order.updated_at timestamp should be updated as per the context.timestamp (since default fulfillment state is added)
  • fulfillments[0].end.location.address.area_code is not matching with area_code in /select
  • Discrepancies between the quote object /on_select and /on_confirm
  • fulfillments/0/start/time range.start and range.end can't be same.
  • fulfillments/0/start/time/range can't be smaller than or equal to context.timestamp and should be according to the time_to_ship by merchant

/on_status

  • /fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Pending,Packed,Order-picked-up,Out-for-delivery,Order-delivered,RTO-Initiated,RTO-Delivered,RTO-Disposed,Cancelled)

/on_update

  • must have required property 'payment'
  • must have required property 'fulfillments'
  • must have required property 'created_at'
  • must have required property 'updated_at'
  • /items/1 must have required property 'fulfillment_id'
  • /quote must have required property 'ttl'
  • /quote/price/value must be string
  • /quote/breakup must be array
  • quote is not updated when fulfillment state is return_intiated

Flow 2

/on_select (non-serviceable)

  • Invalid fulfillment state code: non-Serviceable (should be Non-serviceable )

Flow 3

/on_status

  • on_status should be unsolicited

/on_update

  • quote is not updated at return_initiated state
  • even when item return is rejected, why the quote is getting updated?

Flow 4

/on_update (liquidated)

  • quote.price.value has invalid attribute
  • unsolicited call should be initiated

Flow 5

/on_select

  • item's total price should be made 0 when item is out-of-stock
  • quote.price should be updated when item is out of stock

/on_init

  • why is item price getting changed in /on_init (select should be called if there is a change in quote)

@HarishMaurya6393

Hi @bluecypher @BLR-0118 Please check the PR #158 with the updated logs.

Flow 1

/on_update

  • quote is not updated at Return_Initiated state
  • all fulfillment trail should be provided in fulfillments[]
  • 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 must have required property 'end'
  • /fulfillments/0/start must have required property 'location'
  • /quote must have required property 'ttl'

Flow 3

/on_update

  • quote should not be updated when return is rejected

@ensenterprises

@BLR-0118 @bluecypher Please check the logs #174

All the flows should be uploaded for validation.

@ensenterprises

@bluecypher Uploaded with #176 Please check.

Flow 1

/search and /on_search missing

unsolicited /on_status missing for providing order and fulfillment state

/on_update

  • items id can't be same in /message/order/items
  • fulfillments[] and payment object missing
  • created_at and updated_at timestamps are missing

/on_update (liquidated) should be provided for same transaction/order

Flow 3

/on_update (rejected)

  • items id can't be same in /message/order/items
  • quote.breakup should contain all the items in the order
  • fulfillments[] and payment object missing
  • created_at and updated_at timestamps are missing

Flow 4

/on_update

  • items id can't be same in /message/order/items
  • fulfillments[] and payment object missing
  • created_at and updated_at timestamps are missing
  • item 44790345892140 should have two objects (one with return initiated state and the other still in the order cart)
  • quote is not updated when status is Return_Initiated

/on_update (liquidated)

  • similar issues as above
  • reverse qc fulfillment is not created when return is liquidated

@ensenterprises

@bluecypher @BLR-0118 Please check the new logs #180

Flow 1

/on_status
must have required property 'id' (order.id is missing)
/fulfillments/0/state/descriptor/code must be Order-delivered when order is completed

Flow 3

/on_status
/items/tag is an invalid attribute

Flow 4

/on_status
/items/tag is an invalid attribute

/on_update (liquidated)

  • quote.breakup should not contain liquidated items

@ensenterprises

@BLR-0118 @bluecypher Please review the logs #181

v6 flows don't have logs for search (checked for flow 1 & 2). Complete logs need to be submitted without which verification isn't possible.
@ensenterprises

@BLR-0118 The search has to be intiated from the buyer app, and its via gateway, you can check the gateway logs if we have received the search request or not. I have informed this issue to Sandeep also. The used buyer app is using cache for showing the data. Please let me know what should we do if buyer app is not sending the search request. In the meeting you only have informed to use plotch buyer app.

@ensenterprises - Pls share log of last search response for this buyer app using which the other test cases, as submitted here, were executed

Hi @BLR-0118 I have added the last search logs, please check. The PR request is #182

Flow 1

  1. Context.city should always be set to the city of start of fulfillment (here it changes from 080 in search to 0120 in other APIs and 011 in update);
  2. No logs for unsolicited on_status but from what's available in the 2 on_update logs: pickup & delivery times are the same and they also change between the 2 update APIs;

Flow 2

  1. /select_non_serviceable:
  • the gps coords don't map to pin code 845417. Who did this mapping?

Pls resubmit logs for flow 1 & 2
@ensenterprises

@BLR-0118 Please check #183 for flow1 and flow2.

Flow 1

  1. /on_status:
  • has same message_id as /confirm;
  • pickup time & delivery time are same and in future (greater than Context.timestamp);
  • /on_status logs need to be provided for transition thru different order & fulfillment states;
  1. /update:
  • timestamp is ahead of /on_update;
  • update_target of "billing" is invalid;

Logs for flow 1 & flow 2 to be resubmitted
@ensenterprises

@BLR-0118 @bluecypher Please check the PR #189
Please be informed that, the Prepaid was not working for the reference buyer app thus the logs has been submiited via COD.

logs cleared for v1.1.0
@ensenterprises