ONDC-Official / v1.2.0-logs

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

Ninjacart (Seller App - RET10) - Compliance check #908

Closed nishthamongaondc closed 5 months ago

nishthamongaondc commented 7 months ago

Flow 2

on_confirm

on_status_pending is missing

on_status_picked

@subhendu-ninjacart

subhendu17620 commented 6 months ago
{
    "success": true,
    "response": {
        "message": "Logs were verified successfully",
        "bpp_id": "ondc-seller-api.trafyn.site",
        "bap_id": "buyer-app-preprod-v2.ondc.org",
        "domain": "ONDC:RET10",
        "reportTimestamp": "2024-03-05T05:50:42.931Z"
    },
    "signature": "AWCzi1j3zBnJL0QDmdnwAuniq3amIcu02xnVf/2Iw1DNFr+5LvyE+ECaLS+V/viUa/Ad5OXJRIoaT9Y1h1fVBQ==",
    "signTimestamp": "2024-03-05T05:50:42.931Z"
}
subhendu17620 commented 6 months ago

@nishthamongaondc please review https://github.com/ONDC-Official/v1.2.0-logs/pull/1010

NishthaMonga commented 6 months ago

Flow 2

on_init

on_confirm

on_status_pending logs missing

on_status_out_for_delivery

Flow 4

on_cancel

Flow 5

on_cancel

@subhendu17620

subhendu17620 commented 6 months ago

@NishthaMonga https://github.com/ONDC-Official/v1.2.0-logs/pull/1176 please review

BLR-0118 commented 5 months ago

Flow 1

  1. /on_search (full catalog):
    • remove "accept_bap_terms" (not yet enabled);
    • address.street & address.locality are same; can we have proper values for both?
    • why is EAN code not being used for Maggi?
    • since timing is same for all days, why not consolidate into single defn, with day_from of "1" and day_to of "7"?
BLR-0118 commented 5 months ago

Flow 2

  1. /on_select:

    • item.quantity.available.count of "1000" means what?
    • item.quantity.maximum.count of "10" means max 10 per order?
  2. /on_init:

    • remove provider.rateable;
    • remove everything in bpp_terms except np_type, tax_number, provider_tax_number (as this isn't enabled yet);
  3. /on_confirm:

    • fulfillment.start.location: address & gps coords to be provided (shown from /on_status_out_for_delivery);
    • remove provider.rateable;
    • check above comment on bpp_terms;
  4. /on_status:

    • to allow buyer app to distinguish between hyperlocal & intercity fulfillment states, pls send routing.type as P2P (hyperlocal) or P2H2P (intercity);
    • pls make sure all fulfillment states are sent (including Agent-assigned), otherwise, validation may fail on some buyer apps;
BLR-0118 commented 5 months ago

Flow 4

  1. /on_cancel: this is invalid:
    • separate fulfillment is created for cancellation & items in the original (forward shipment fulfillment) are assigned to it;
    • the original fulfillment should have cancel_request (with details of who initiated);
    • new fulfillment should have quote_trail (values that are being reversed from quote);
BLR-0118 commented 5 months ago

Flow 5

  1. /on_cancel:
    • /on_confirm has TAT of 8h 22 min but this becomes 29h 40 min in /on_cancel?
    • precancel_state.updated_at has timestamp which is later than Context.timestamp here; can we have correct values set?
    • fulfillment id: d25b9e6a-b329-46ee-b648-7e1b7aa26ccb (with TAT of 29h 40min) is not the forward shipment fulfillment; correct value is 08a75742-57b7-40ad-b698-0083bdfb7744;
BLR-0118 commented 5 months ago

Flow 6 is correct; pls fix flows 4 & 5 similar to flow 6 (as concept followed is same);

BLR-0118 commented 5 months ago

@subhendu17620 - pls fix all the above & make a note here, resubmit logs for flows 4 & 5

subhendu17620 commented 5 months ago

@BLR-0118 @NishthaMonga please review https://github.com/ONDC-Official/v1.2.0-logs/pull/1229

BLR-0118 commented 5 months ago

Flow 1

  1. definition for variant_group incomplete - attr & seq need to be added as shown here;
  2. overlap in bpp/providers.tags.timings - day 1 to 7 are defined & then days 2 to 7 defined individually, with the same timings; if timings are different for each day, you can define individual timings for each day (1 to 7), otherwise, defined 1 timing overall (as your 1st timing defn is);

Flow 2

  1. /on_select:

    • pls let's use the standard defn for item.quantity.available.count ("99" - in-stock, "0" - out-of-stock), item.quantity.maximum.count ("99" - no cap per order, any other value defining cap per order: e.g. "10" means not more than 10 items per order);
  2. /on_init:

    • pls remove provider_location;
  3. /on_status (all APIs):

    • fulfillment.start.instructions are for shipper for pickup, need not be sent to buyer app (unless buyer app is doing fulfillment);
    • fulfillment.end.instructions are for shipper for delivery, so can't be same as above;
    • pickup time (fulfillment.start.time.timestamp) is shown when order is picked up (/on_status_picked) but is missing when order is delivered (/on_status_delivered)?
    • since tracking is enabled & is P2P, you need to indicate to buyer app when tracking can be enabled (i.e. /track may be called for getting gps_coordinates); for this, you need to set gps_enabled to "yes" and also support /track & /on_track;
    • hope you're supporting all states, as defined here;

Flow 4

  1. /on_cancel:
    • payload is correct, but curious why you're not refunding delivery charge when precancel_state is "Pending" (means not yet packed)?

Flow 5

  1. /on_cancel:
    • request to also add start.location & end.location (for RTO initiation location & RTO delivery location), respectively;
BLR-0118 commented 5 months ago

@subhendu17620 - pls fix the issues above & make a note here (if you need any clarifications, pls raise here & tag me); Clearing logs for v1.2.0 (RET10);