ONDC-Official/v1.1.0-logs

Digiit - compliance checks

Closed this issue · 23 comments

Flow1

/on_search:

categories.duration should not be PT1M

/on_init:

payment.type and collected_by should not be null

/on_confirm:

fulfillments.tracking should be boolean
created_at does not match confirm context timestamp - "2023-06-15T06:38:44.607Z"

/on_status:

payment.type and collected_by should not be null

/on_status_pickup:

end time cannot be provided before order is delivered

/on_status_out_for_delivery:

end time cannot be provided before order is delivered

Flow2

Similar issues as Flow 1

@vignesh-arvind

Flow 1

  • Message Id cannot be same for different sets of APIs
  • 'null' values should be removed

/on_search

  • LSP should send NACK in case of schema issues in search request
  • /message/catalog/bpp/providers/items/parent_item_id must be string
  • supported backward shipment item should be listed for the provided catalog items (RTO)

/on_init

  • RTO Charges should be added in quote breakup only when RTO is initiated
  • Provider location missing in on_init api (it was provided in /on_search)

/on_confirm

  • LSP should send NACK in case required attributes are missing in confirm request (payment object is missing in /confirm)
  • order.created_at timestamp mismatches in /confirm and /on_confirm

/on_update

  • Timestamp for /update api cannot be equal to /on_update api

/on_status

  • /message/order/fulfillments/state/descriptor/code should be equal to one of the constant values (Order-picked-up,Out-for-delivery,Order-delivered) for fulfillment states provided
  • order/created_at and order/updated_at is missing
  • pickup time (fulfillments/start/time/timestamp) should be equal to context/timestamp for fulfillment state 'Order-picked-up'
  • pickup time cannot change for fulfillment state 'Out-for-delivery'
  • delivery time (fulfillments/start/time/timestamp)should be equal to context/timestamp for fulfillment state 'Order-delivered'

Flow 2

  • similar issues as above

/on_cancel

@vignesh-arvind

Hi @abhinavv245

/on_init

Provider location missing in on_init api (it was provided in /on_search) ----Provider Location is existed in on_init

/on_status

order/created_at and order/updated_at is missing --- These attributes are not mentioned in logistics contract. only in retail its mentioned.

Flow 1

  • context/timestamp difference between /on_action and action Apis should be smaller than 1 sec

/on_search

  • supported categories like 'Immediate delivery' (for TAT <= 60M), Same Day Delivery, Next Day Delivery should be provided in catalog for appropriate TAT
  • why do all providers have same id?

/on_init

  • ON_ORDER is not a valid payment type enum ( should be ON-ORDER)

/on_confirm

  • fulfillments start and end time ranges should be in RFC3339 UTC format
  • TAT for the category selected is PT1D, why are pickup and delivery time ranges not provided accordingly?

Flow 2

  • similar issues as Flow 1

/on_cancel

  • awB_no is an invalid attribute name (should be 'AWB no')

@vignesh-arvind

Hi @abhinavv245 any update on the logs ?

Hi @abhinavv245 @tanya-ondc @BLR-0118

any update on the logs

Flow 1

  • context/timestamp difference between /on_action and /action Apis should be less than 1 sec

/on_search

  • bpp/providers/items/fulfillment_id should match with one of the ids provided in bpp/fulfillments

/on_init

  • wrong category_id provided in /init (Standard Delivery not in catalog in /on_search), LSP should have sent NACK

/on_update

  • fulfillments/end is missing

/on_status

  • /fulfillments/start/range is not consistent with /on_update

Flow 2

  • similar issues as Flow 1

@vignesh-arvind

Flow 1

/on_confirm

  • 'Serviceable' is not a valid fulfillment state in /on_confirm
  • how is LSP providing estimated time even before the order is marked ready_to_ship = yes

/on_update

  • why has order state changed back to 'Created' after 'Accepted' in /on_confirm

Flow 2

  • separate flow should be initiated for cancellation (transaction_id cannot be same as Flow 1)

  • similar issues as Flow 1

/on_cancel

  • order/id should be same as /on_confirm

Ques: Is RTO supported with all the possible states?

@vignesh-arvind

Flow 2

/on_status

  • Cancellation flow triggering RTO with all possible states (RTO-Initiated, RTO-Delivered/RTO-Disposed) should be provided
  • please submit Flow 2 again

@vignesh-arvind

Flow 2

  • context/timestamp difference between on_action and action should be smaller than 1 sec

/on_cancel

  • invalid schema (Refer v1.1.0)

/on_status

  • fulfillment with type 'Delivery' should have 'Cancelled' fulfillment state
  • Pickup timestamp (fulfillments/start/time/timestamp) is missing for fulfillment type 'Delivery'

@vignesh-arvind

Hi @abhinavv245

on_cancel:
as per the below RTO contract, cancel scenario have been done.

https://docs.google.com/document/d/1dv6sEnYHU-fZxYP3-lZCpVwTS5ZP3MC38bSswAjWvs8/edit

Hi @vignesh-arvind
This is not a valid document to be followed. Please follow API contract v1.1.0

Hi Supriyo, for Logistics /on_cancel RTO flow (v1.1.0), we have followed RTO Process Flow document (https://docs.google.com/document/d/1dv6sEnYHU-fZxYP3-lZCpVwTS5ZP3MC38bSswAjWvs8/edit#heading=h.3vtxkvh55rcu). But, Abhinav expects us to follow https://docs.google.com/document/d/10GpEuKZE2g96DFJT3HKq6wIEMhPC-kkMZhXNn2jHHXc/edit. Could you please confirm if the RTO flow document we have referred is valid or not? If not, for RTO also, should we follow the structure specified in v1.1.0 contract?

@BLR-0118, @abhinavv245, @vignesh-arvind

Flow 2

/on_init

  • context/timestamp difference between on_init and init should be smaller than 1 sec

/on_confirm

  • context/timestamp difference between on_confirm and confirm should be smaller than 1 sec

/on_cancel

  • /on_cancel/0/context/message_id Message ID should be unique and not same as /confirm API
  • why is the order cancelled even before it is picked up

Note: Kindly test with a verified buyer NP in Pre-prod

@vignesh-arvind

Hi @abhinavv245

any update on the logs?

Flow 2

  • context/timestamp difference between /on_action and /action should be smaller than 1 sec

/on_cancel

  • Timestamp not in RFC 3339 (YYYY-MM-DDTHH:MN:SS.MSSZ) Format

Note: Kindly test with a verified buyer NP in Pre-prod

@vignesh-arvind

Hi @abhinavv245
Is there any update on the logs?

  • callback should be responded within 1 sec
  • test with a verified logistics buyer app

/on_search

  • TAT in categories should be in valid RFC3339 duration format; should be P1D instead of PT1D
  • bpp/providers/locations should only be provided where shipment has to be dropped off at LSP location;
  • delivery charges should be realistic; can't be high for hyperlocal orders with less weight

/on_init

  • invalid value of tax_number provided in /billing; How is this handled?

/on_confirm

  • awb no. should only be provided for P2H2P orders
  • eway bill details should only be provided for orders with amount>50k
  • payload details are changed in /confirm (101 gram to 1Kg); How is this handled?

@vignesh-arvind

/on_confirm

  • How can vehicle and agent info are provided even before agent is assigned?

/on_update

  • IST time should be taken into consideration while providing estimated pickup and delivery time ranges

on_status (RTO)

  • RTO charges should not be incurred in case RTO is disposed

@vignesh-arvind

@vignesh-arvind, test with a verified logistics buyer app.

@bluecypher any issues ?

Flow 1 and 2

/on_update

  • order/updated_at cannot be future dated w.r.t context/timestamp

/on_status (RTO-Initiated)

  • RTO charges should not be incurred in case RTO is disposed

@vignesh-arvind

LSP v1.1.0 Logs cleared on October 18, 2023.