ONDC-Official / verification-logs

ONDC Pre-production issue & discussion board
22 stars 308 forks source link

Grab - compliance check #70

Closed BLR-0118 closed 2 years ago

BLR-0118 commented 2 years ago
  1. Why are your responses escaping forward slashes in some cases (check bpp_uri in context for e.g.)
  2. Cancel should be through the /cancel API, not thru /on_status
  3. Please check the /on_update API contract carefully, after "ready to ship" is triggered, you're supposed to return start & end time slots.
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118 Thanks for your feedback. We have updated the logs based on your feedback. PR - https://github.com/Open-network-for-digital-commerce/Pre-production/pull/75

  1. Why are your responses escaping forward slashes in some cases (check bpp_uri in context for e.g.)

    • This is happening only while maintaining the logs. On API response we are sending it properly.
  2. Cancel should be through the /cancel API, not thru /on_status

    • For canceling the order we are using cancel API. In above-mentioned scenario, the order was already canceled and after that, we received the status API call. That is why the on_status API sent a state Cancelled.
  3. Please check the /on_update API contract carefully, after "ready to ship" is triggered, you're supposed to return start & end time slots.

    • We have added start and end time on on_update API call
BLR-0118 commented 2 years ago

From updated logs:

  1. Timestamp for response seems to be copied from the request. This is incorrect;
  2. Logistics fulfillment - type is "Prepaid" but payment type is "POST-FULFILLMENT" which is valid for CoD type orders. This is inconsistent;
  3. Fulfillment state should be as per the updated list here
  4. Wherever there are no values, don't pass empty attrs / arrays e.g. agent details in /on_update;
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118 Please check the updated logs on PR - https://github.com/Open-network-for-digital-commerce/Pre-production/pull/96

   1. Timestamp for a response seems to be copied from the request. This is incorrect;
            * Timestamp updated with the current timestamp
            * 
   2. Logistics fulfillment - type is "Prepaid" but payment type is "POST-FULFILLMENT" which is valid for CoD type orders. This is inconsistent;
            * We are getting this data from the confirm call from the upstream system. The same value we are passing in the on_confirm field. For payment type, we are considering the Logistics fulfillment - type field.
            * 
   3. Fulfillment state should be as per the updated list https://github.com/Open-network-for-digital-commerce/ONDC-Protocol-Specs/issues/26
            * We have updated the fulfillment state accordingly

   4. Wherever there are no values, don't pass empty attrs / arrays e.g. agent details in /on_update
            * If the fields are blank we won't be passing those keys.

Please let us know if any changes are required.

Ajit-Grab commented 2 years ago

@BLR-0118 as 29th is Release day and we have to Modify or Change & Retest as per feedbacks . Requesting your comments on this Please

BLR-0118 commented 2 years ago
  1. /search request is at 12:06 but /on_search response is at 17:36 - 5 1/2 hrs after the request?
  2. ttl for /on_search can't be 1 day. We've mentioned in the spec that outer limit is 30s;
  3. /on_init - same as 1 & 2 above;
  4. /on_init - what does door of "city" mean?
  5. /on_confirm - same as 1 & 2 above;
  6. /on_confirm - "ready to ship" can't be returned as is. When "ready to ship" is initiated by logistics buyer, the logistics provider should return with confirm start/end time slots;
  7. /on_status - same as 1 & 2 above;
  8. /on_track - same as 1 & 2 above;
  9. /on_track - message not compliant with API contract;
  10. /on_update - not as per API contract;
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118 We have updated the changes and please check it on https://github.com/ONDC-Official/Pre-production/pull/116

   1. We have fixed the timestamp issue on all the requests.
   2. We are getting "city" value in the door field from the seller app
   3. Added start and end time in on_confirm call
   4. on_track and on_update updated as per the contract

FYI - @Ajit-Grab

BLR-0118 commented 2 years ago
  1. /on_init - why is fulfillment_id same as transaction_id?
  2. No /update, /on_update - actually the "ready to ship" will be triggered in /update (it will auto-triggered in /confirm only for F&B orders, for which category is "Immediate Delivery". When "ready to ship" is triggered, the logistics provider is expected to return the start & end time slots, agent & vehicle details (if available) in /on_update;
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

PR - https://github.com/ONDC-Official/Pre-production/pull/159

Hi @BLR-0118 ,

 We have updated the changes and please check the logs on https://github.com/ONDC-Official/Pre-production/pull/159

We are getting fullfilment_id and transaction_id the same in the init call.
nidhin-hareendran commented 2 years ago

FYI @Ajit-Grab

BLR-0118 commented 2 years ago
  1. No support, cancel APIs?
  2. /on_status should be exactly as per the contract - it doesn't have the fulfillment start & end time slots
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118 Please refer to this PR - https://github.com/ONDC-Official/Pre-production/pull/175

Cancel and Support logs are added

FYI - @Ajit-Grab

BLR-0118 commented 2 years ago
  1. /on_cancel has different message id from /cancel;
  2. /on_status has different message id from /status;
  3. Pls submit updated logs based on the updated API contract (with changes to order & fulfillment state, quote in /confirm, /on_confirm, /on_status);
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118 Please refer to this PR - https://github.com/ONDC-Official/Pre-production/pull/253

We have fixed the above issues. Please let us know if any changes are required.

FYI - @Ajit-Grab

BLR-0118 commented 2 years ago
  1. /on_status - why is Context.message_id null?
  2. No cancel API? That's one of the most important.
  3. Also, hope you're supporting unsolicited on_status, on_cancel API calls @Ajit-Grab
nidhin-hareendran commented 2 years ago

@BLR-0118 please check the updated logs - https://github.com/ONDC-Official/Pre-production/pull/262

Yes we are supporting unsolicited on_status and on_cancel API calls

FYI - @Ajit-Grab

BLR-0118 commented 2 years ago
  1. All APIs - response timestamp is 6 hrs behind request timestamp. Could be a problem with Zoho logistics buyer app, but pls check;
  2. All APIs - core version should be "1.0.0";
  3. fulfillment type in /search is "CoD" but in /init it suddenly becomes "Prepaid". This isn't correct;
  4. category_id in init onwards suddenly becomes "StandardDelivery" when it should be "Standard Delivery";
  5. /on_confirm order state is "In-progress" when it should be "Accepted". Pls check the API contract for definition of these states;
  6. /on_status - order state suddenly becomes "Created" here. why?
  7. Many other attrs are being used which are not a part of the API contract e.g. available on CoD, related / matched etc.
BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118 We have uploaded test logs with N-Store - https://github.com/ONDC-Official/Pre-production/pull/271 , who don't have cancel API. We have also checked with other NP's and found that they would take time to comply to contract. Attached is cancel API logs for Zoho on 2022-10-06 [ Please ignore the Time Zone / Core Version which is handled on our side ]

FYI - @Ajit-Grab

BLR-0118 commented 2 years ago
  1. Cancel logs not compliant. Need to see logs of solicited cancel (/cancel, /on_cancel) and unsolicited /on_cancel Remaining logs ok @nidhin-hareendran @Ajit-Grab
nidhin-hareendran commented 2 years ago

@BLR-0118 thanks for the feedback.

We have uploaded /cancel, /on_cancel, and unsolicited /on_cancel logs here - https://github.com/ONDC-Official/Pre-production/pull/274/files FYI - @Ajit-Grab

BLR-0118 commented 2 years ago

Can you pls answer this:

  1. /on_cancel - is this fulfillment id "Fulfillment1-Cancelled" a new fulfillment id or an existing one?
BLR-0118 commented 2 years ago

@Ajit-Grab

BLR-0118 commented 2 years ago

@nidhin-hareendran

nidhin-hareendran commented 2 years ago

@BLR-0118

1./on_cancel - is this fulfillment id "Fulfillment1-Cancelled" a new fulfillment id or an existing one? - Yes, 1 is the fulfillment id we received from the client on /confirm call and we are appending "Fullfilment" + ID + "-Cancelled" on /on_cancel. P.S. - In the contract, the fulfillment object is mandatory only for RTO cancellation.

FYI - @Ajit-Grab

BLR-0118 commented 2 years ago

You can't change the fulfillment id. The order state gets updated. Can you pls make this change & let me know when done.

nidhin-hareendran commented 2 years ago

@BLR-0118 Thanks for the feedback. We have made the changes accordingly in the PR - https://github.com/ONDC-Official/Pre-production/pull/275

Please check the logs for the unsolicited /on_cancel request FYI - @Ajit-Grab