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
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
- invalid schema for payload (please refer API contract)
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.
Hi @vignesh-arvind
Noted.
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')
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
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?
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
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'
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?
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
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
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?
/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, 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
LSP v1.1.0 Logs cleared on October 18, 2023.