ONDC-Official/v1.1.0-logs

Uengage - compliance check

Closed this issue · 19 comments

Flow 1:

  1. /on_search:
  • locations.address: all keys should have valid values;
  • locations.address: state is "Chandigarh" but city is "Bangalore";
  • item.price.value should be string;
  • serviceability requires location & category
  • fulfillment.contact.phone is either 10 or 11 digit no only (no "+");
  1. /on_confirm:
  • fulfillment.start.contact.phone: same issue as above;
  • fulfillment.end.person.name has contact person name in /confirm, this can be mapped to same key in /on_confirm (instead of mapping to fulfillment.customer.person.name);
  1. /on_status APIs:
  • fulfillment.start.time.timestamp needs to be set to the time of pickup (mandatory);
  • fulfillment.end.time.timestamp needs to be set to the time of delivery (mandatory);
    For all APIs:
  • billing.created_at & updated_at are defined by buyer app in /init and should remain the same as the buyer app doesn't change the billing details;
  • order.created_at is defined by buyer app in /confirm and will remain the same in all APIs. updated_at should be updated in all APIs where the states are updated;
  1. /on_update: quote should have updated order value after the item return has been accepted;

Flow 4:

  1. /on_select:
  • item.count is invalid;
  • item is out of stock (shown correctly) but why is fulfillment state non-serviceable?

Flow 3:

  1. /on_update: why did the quote.price change from /on_confirm (even though return is rejected)?

@BLR-0118 for flow one regarding serviceability requires location & category issue can we send f&b until it is deprecated and will it be deprecated in current v1.1 contract or in the next phase ?

@BLR-0118 for flow one fulfillment.start.time.timestamp needs to be set to the time of pickup (mandatory);
fulfillment.end.time.timestamp needs to be set to the time of delivery (mandatory);

didn't understand the points as i am sending start and end time in on_status call.

  1. for serviceability - yes;
  2. when fulfillment state becomes Order-picked-up (e.g. in /on_status_out_for_delivery which happens after Order-picked-up), start.time.timestamp needs to be populated; also for Order-delivered, end.time.timestamp needs to be populated (e.g. in /on_status_order_delivered);

Flow 1

  1. /on_init:
  • item.discount is invalid;
  • in payment block, remove everything other than buyer app finder fee type/amt, settlement_details;
  1. /on_confirm:
  • quote.price.value should be string (it's string in /on_select & /on_init);
  • order.created_at should match what's set in /confirm;
  1. /on_status_order_pickedup:
  • start.locations is invalid (should be start.location);
  • Context.timestamp is same as timestamp for /confirm. How?
  • start.time.timestamp (pickup time) is mandatory;
  • message_id is same as /confirm;
  1. /on_status_order_delivered:
  • same issues as 3;
  1. /on_update:
  • should have same message_id as /update;
  • should have the same order detail as /on_status (fulfillment is missing);

@BLR-0118 for point 3 and bullet point 4 in case of unsolicited on_status call where should be pick the message_id from.

@BLR-0118 for point 5 2nd bullet point : as mentioned in the contract in the comments
since there is no reverse qc, no fulfillment object is created

please clarify.

updated logs pushed here

  1. /on_search:
  • circle.radius.value is string;
  • schedule.holidays is mandatory, empty array ok;
  • contact_details_consumer_care should be in this format ("name,email,contactno") as per API contract;
  1. /on_init:
  • buyer_finder_fee_type is "percent" (lower "p");
  • settlement_details should have beneficiary name;
  1. /on_confirm:
  • buyer_finder_fee_type & amount missing;
  • settlement_details should have beneficiary name;
  1. /on_status_order_out_for_delivery:
  • pickup time (fulfillment.start.time.timestamp) is different from what is set in on_status_order_pickedup;
  1. /on_status_order_delivered:
  • pickup time & delivery time (fulfillment.end.time.timestamp) are same;

flow-one

  1. /on_search:
  • serviceability: location id defined for provider is "123123" but in serviceability, it shows location_id "L1". It should map the same location_id defined for provider;
  1. /on_status_order_accepted:
  • fulfillment state code should be one of the post-order states (in this case - "Pending");

@BLR-0118 shall i upload logs only for on_search and on_status

Yes, why are these errors coming now?

@BLR-0118 these things were left out by mistake update logs are here

logs cleared for v1.1.0