ONDC-Official / verification-logs

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

StelCore - B2C Exports - compliance check #1635

Open sonalishakya opened 2 months ago

sonalishakya commented 2 months ago

StelCore (B2C Export)

All Flows --

Flow error --> Incorrect Flow as per context/timestamps - Timestamps cannot be same and should be in the following order

Schema error -->

/on_search

  1. Datatype of message > catalog > descriptor > images should be an array of objects, does not take value string value such as "NA".
  2. Datatype of message > catalog > providers should be an array.
  3. Invalid context > location > city > code for exports; use std:999.

/on_select

  1. message > order > fulfillment > 0 must have required property '@ondc/org/TAT'
  2. message > order > fulfillment > 0 must have required property 'state'
  3. message > order must have required property 'payments', not 'payment'.
  4. Invalid context > location > city > code for exports; use std:999.

/init

  1. message > order > billing > tax_id should be valid
  2. Invalid context > location > city > code for exports; use std:999.

/on_init

  1. message > order must have required property 'payments', not 'payment'
  2. message > order > fulfillments > @ondc~1org~1provider_name must be equal to constant (Loadshare)
  3. Invalid context > location > city > code for exports; use std:999.

/on_confirm

  1. message > order must have required property 'payments', not 'payment'
  2. message > order must have required property 'created_at'
  3. message > order must have required property 'updated_at'
  4. message > order > fulfillments > 0 tracking must be boolean, not string
  5. message > order > fulfillments > 0 rateable must be boolean, not string
  6. Invalid context > location > city > code for exports; use std:999.

/status

  1. message > order > id mismatch from /confirm
  2. Invalid context > location > city > code for exports; use std:999.

/on_status

  1. /on_status message > order > created_at and /confirm order > created_at should remain same - "2023-02-03T09:30:00.000Z"
  2. buyer_app_finder_fee_amount must be equal to constant (0) {same through all the payloads}
  3. message > order > id mismatch from /confirm
  4. Invalid context > location > city > code for exports; use std:999.

Flow 2 --

/on_select

  1. message > order > quote > breakup > 0 > @ondc/org/item_quantity should be updated to the available stock.

Flow 5 --

/on_select

  1. message > order > quote > price > value must be string
  2. message > order > quote > breakup > 0 > price must be object
  3. Mismatch in value of quote according to the breakup. Why are factors like packing charges, convenience fee included for 0 price.
  4. message > order > quote > breakup > 5 must have required property '@ondc/org/item_id'",

/on_init

  1. message > order > quote > price > value must be equal to constant
  2. message > order > quote > breakup > 0 > price must be object

Cancellation logs need to be provided

@StelCoreM

sonalishakya commented 1 month ago

Log Report -- 30 August 2024

Report for Flow 1 --

on_search

on_search/0/message/catalog/descriptor/images/0 must be object, not a string on_search/0/message/catalog/providers must be array, not an object

on_select

on_select/0/message/order/fulfillments/0/https://github.com/ondc1org1category must be equal to one of the allowed values (Express Delivery,Standard Delivery,Immediate Delivery,Same Day Delivery,Next Day Delivery) on_select/0/message/order/fulfillments/0/https://github.com/ondc1org1TAT must match format "duration" on_select/0/message/order/quote, the price values should add up to the final price on_select/0/message/order/quote/price/value must be string on_select/0/message/order/quote/breakup/0/price must be object on_select/0/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces on_select/0/message/order/payments/0 must have required property 'collected_by'

on_init

/on_init/0/message/order/provider/locations must be object not array /on_init/0/message/order/fulfillments/0/https://github.com/ondc1org1provider_name must be equal to constant (ShipRocket) /on_init/0/message/order/fulfillments/0/https://github.com/ondc1org1TAT must be equal to constant (5) /on_init/0/message/order/quote, the price values should add up to the final price /on_init/0/message/order/quote/price/value must be string /on_init/0/message/order/quote/price/value must be equal to constant (580) /on_init/0/message/order/quote/breakup/0/price must be object /on_init/0/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces /on_init/0/message/order/payments/0 must have required property '@ondc/org/buyer_app_finder_fee_type' /on_init/0/message/order/payments/0 must have required property '@ondc/org/buyer_app_finder_fee_amount'

confirm

/confirm/0/message/order/billing/tax_id must be equal to constant (27AADCB2230M1ZT) /confirm/0/message/order/quote/price/value must be equal to constant (250) /confirm/0/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /confirm/0/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces

on_confirm

/on_confirm/0/message/order must have required property 'id' /on_confirm/0/message/order must NOT have additional properties (payment), should be payments /on_confirm/0/message/order/billing/tax_id must be equal to constant (27AADCB2230M1ZT) /on_confirm/0/message/order/fulfillments/0/https://github.com/ondc1org1provider_name must be equal to constant (ShipRocket) /on_confirm/0/message/order/fulfillments/0/https://github.com/ondc1org1category must be equal to constant (Standard Delivery) /on_confirm/0/message/order/fulfillments/0/https://github.com/ondc1org1TAT must be equal to constant (5) /on_confirm/0/message/order/quote, the price values should add up to the final price /on_confirm/0/message/order/quote/price/value must be string /on_confirm/0/message/order/quote/breakup/0/price must be object /on_confirm/0/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces /on_confirm/0/message/order/created_at should remain same as in /confirm - "2024-08-07T09:30:00.000Z"

on_status

/on_status/0/message/order must NOT have additional properties (brdName) /on_status/0/message/order must NOT have additional properties (tags) /on_status/0/message/order/fulfillments/0 must have required property '@ondc/org/provider_name', remove trailing spaces /on_status/0/message/order/fulfillments/0/stops/0 must have required property 'time' /on_status/0/message/order/fulfillments/0/stops/1 must have required property 'time' /on_status/0/message/order/fulfillments/0/stops/1/location/id must be string /on_status/0/message/order/quote, the price values should add up to the final price /on_status/0/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /on_status/0/message/order/quote/breakup/0 must have required property '@ondc/org/title_type', remove trailing spaces

/on_status/1/message/order must NOT have additional properties (brdName) /on_status/1/message/order must NOT have additional properties (tags) /on_status/1/message/order/fulfillments/0 must have required property '@ondc/org/provider_name', remove trailing spaces /on_status/1/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Domestic-Custom-Cleared,Pickup-Approved,Pending,Packed,Searching-for-Agent,Agent-assigned,Out-for-pickup,Pickup-failed,Pickup-rescheduled,Order-picked-up,In-transit,At-destination-hub,Out-for-delivery,Delivery-failed,Delivery-rescheduled,Order-delivered,RTO-Initiated,RTO-Delivered,RTO-Disposed,Cancelled) /on_status/1/message/order/fulfillments/0/stops/0 must have required property 'time' /on_status/1/message/order/fulfillments/0/stops/1 must have required property 'time' /on_status/1/message/order/fulfillments/0/stops/1/location/id must be string /on_status/1/message/order/quote, the price values should add up to the final price /on_status/1/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /on_status/1/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces

/on_status/2/message/order must NOT have additional properties (brdName) /on_status/2/message/order must NOT have additional properties (tags) /on_status/2/message/order/fulfillments/0 must have required property '@ondc/org/provider_name', remove trailing spaces /on_status/2/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Domestic-Custom-Cleared,Pickup-Approved,Pending,Packed,Searching-for-Agent,Agent-assigned,Out-for-pickup,Pickup-failed,Pickup-rescheduled,Order-picked-up,In-transit,At-destination-hub,Out-for-delivery,Delivery-failed,Delivery-rescheduled,Order-delivered,RTO-Initiated,RTO-Delivered,RTO-Disposed,Cancelled) /on_status/2/message/order/fulfillments/0/stops/0 must have required property 'time' /on_status/2/message/order/fulfillments/0/stops/1 must have required property 'time' /on_status/2/message/order/fulfillments/0/stops/1/location/id must be string /on_status/2/message/order/quote, the price values should add up to the final price /on_status/2/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /on_status/2/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces

/on_status/3/message/order must NOT have additional properties (brdName) /on_status/3/message/order must NOT have additional properties (tags) /on_status/3/message/order/fulfillments/0 must have required property '@ondc/org/provider_name', remove trailing spaces /on_status/3/message/order/fulfillments/0/stops/0 must have required property 'time' /on_status/3/message/order/fulfillments/0/stops/1 must have required property 'time' /on_status/3/message/order/fulfillments/0/stops/1/location/id must be string /on_status/3/message/order/quote, the price values should add up to the final price /on_status/3/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /on_status/3/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces

/on_status/4/message/order must NOT have additional properties (brdName) /on_status/4/message/order must NOT have additional properties (tags) /on_status/4/message/order/fulfillments/0 must have required property '@ondc/org/provider_name', remove trailing spaces /on_status/4/message/order/fulfillments/0/stops/0 must have required property 'time' /on_status/4/message/order/fulfillments/0/stops/1 must have required property 'time' /on_status/4/message/order/fulfillments/0/stops/1/location/id must be string /on_status/4/message/order/quote, the price values should add up to the final price /on_status/4/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /on_status/4/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces

/on_status/5/message/order must NOT have additional properties (brdName) /on_status/5/message/order must NOT have additional properties (tags) /on_status/5/message/order/fulfillments/0 must have required property '@ondc/org/provider_name', remove trailing spaces /on_status/5/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Domestic-Custom-Cleared,Pickup-Approved,Pending,Packed,Searching-for-Agent,Agent-assigned,Out-for-pickup,Pickup-failed,Pickup-rescheduled,Order-picked-up,In-transit,At-destination-hub,Out-for-delivery,Delivery-failed,Delivery-rescheduled,Order-delivered,RTO-Initiated,RTO-Delivered,RTO-Disposed,Cancelled) /on_status/5/message/order/fulfillments/0/stops/0 must have required property 'time' /on_status/5/message/order/fulfillments/0/stops/1 must have required property 'time' /on_status/5/message/order/fulfillments/0/stops/1/location/id must be string /on_status/5/message/order/quote, the price values should add up to the final price /on_status/5/message/order/quote/breakup/0 must have required property '@ondc/org/item_id', remove trailing spaces /on_status/5/message/order/quote/breakup/* must have required property '@ondc/org/title_type', remove trailing spaces

@StelCoreM - As discussed and explained in the call earlier, kindly resolve the recurring issues. Reach out to me in case of any confusion.

sonalishakya commented 1 month ago

Log Report -- 06 September 2024

Flow 1 --

Schema Errors --

on_search

/on_search/0/message/catalog/providers/0 must have required property 'creds' /on_search/0/message/catalog/providers/0 must have required property 'fulfillments' /on_search/0/message/catalog/providers/0/descriptor must have required property 'images' /on_search/0/message/catalog/providers/0/locations/0 must have required property 'city' /on_search/0/message/catalog/providers/0/locations/0 must have required property 'state' /on_search/0/message/catalog/providers/0/locations/0 must have required property 'country' /on_search/0/message/catalog/providers/0/locations/0 must have required property 'area_code' /on_search/0/message/catalog/providers/0/locations/0/address must be string /on_search/0/message/catalog/providers/0/items/ must have required property 'cancellation_terms' /on_search/0/message/catalog/providers/0/items/ must have required property 'return_terms' /on_search/0/message/catalog/providers/0/items/* must have required property 'recommended' /on_search/0/message/catalog/providers/0/items//descriptor/images/0 must have required property 'url' /on_search/0/message/catalog/providers/0/items//descriptor/images/1 must have required property 'url' /on_search/0/message/catalog/providers/0/items//quantity/unitized/measure must have required property 'unit' /on_search/0/message/catalog/providers/0/items//quantity/available/count must be integer /on_search/0/message/catalog/providers/0/items//quantity/maximum/count must be integer /on_search/0/message/catalog/providers/0/items//tags/2/list/2/value must be string

on_init

/on_init/0/message/order/provider/locations must be object /on_init/0/message/order/fulfillments/0/id must be equal to constant (F1)

confirm

/confirm/0/message/order/quote/price/value must be equal to constant (240) /confirm/0/message/order/quote/breakup/4 must have required property '@ondc/org/title_type' /confirm/0/message/order/quote/breakup/4 must match then schema

on_confirm

/on_confirm/0/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Pending) /on_confirm/0/message/order/payments/0/https://github.com/ondc1org1withholding_amount must be equal to constant

on_status

/on_status//message/order must have required property 'id' /on_status//message/order must have required property 'state' /on_status//message/order/fulfillments/0 must have required property '@ondc/org/provider_name' /on_status//message/order/quote/breakup/4 must have required property '@ondc/org/title_type' /on_status//message/order/quote/breakup/4 must match \then\ schema /on_status//message/order/payments/0/https://github.com/ondc1org1withholding_amount must be equal to constant (10.00) /on_status/*/message/order/created_at order/created_at should remain same as in /confirm - \2024-09-03T05:30:32.189Z\

Context Errors --

on_select: context/timestamp difference between on_select and select should be within 30 seconds on_init: context/timestamp difference between on_init and init should be within 5 seconds on_confirm: context/timestamp difference between on_confirm and confirm should be within 5 seconds on_status_1: Message Id cannot be same for different sets of APIs on_status_2: Message Id cannot be same for different sets of APIs on_status_3: Message Id cannot be same for different sets of APIs on_status_4: Message Id cannot be same for different sets of APIs on_status_5: Message Id cannot be same for different sets of APIs

Message Errors --

on_search msngCreds: Creds are required for exports in /providers, missingLoc-0-err: Location id/s 0 in /items does not exist in /providers/locations, missingpymntIds-0-err: Payment id/s 2 in /items does not exist in /payments, originFrmtErr: Country of origin should be in a valid 'ISO 3166-1 alpha-3' format e.g. IND, SGP, missingItemTags-0-err: 'g3' tag/s required in /items/tags, missingLoc-1-err: Location id/s 0 in /items does not exist in /providers/locations, missingpymntIds-1-err: Payment id/s 2 in /items does not exist in /payments, missingItemTags-1-err: 'g3' tag/s required in /items/tags select providerLocErr0: Provider location with id 'L1' does not exist in the catalog provided in /on_search, fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags on_select fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags, item-0-DiffErr: In /items, 'fulfillment_id' mismatch from /select for item with id 53a21701-67a5-4eb0-a3f3-1d3be70ac9c3 init fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags on_init fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags, feeTypeErr: Buyer Finder Fee amount mismatches from /search confirm feeTypeErr: Buyer Finder Fee amount mismatches from /search on_confirm strtlctnErr: fulfillments/start/location/id - undefined is not matching with the provider location id - L1 provided in /on_search, feeTypeErr: Buyer Finder Fee amount mismatches from /search

Flow 2 --

Incorrect Flow as per context/timestamps - (on_select,search,on_search,select,init,on_init,confirm,on_confirm,status,on_status)

Schema Errors --

on_search

/on_search/0/context/transaction_id Transaction ID should be same across the transaction: \3de5491e-0ead-472a-845c-0c5dfe89e51d /on_search/0/context/message_id Message ID for on_action API should be same as action API: \6b85ba7e-6d33-46a2-bd5e-0f08570999a0 /on_search/0/message/catalog/descriptor/images/0 must be object /on_search/0/message/catalog/providers must be array

on_select

/on_select/0/context/location/city/code must be equal to constant (std:999) /on_select/0/context/transaction_id Transaction ID should be same across the transaction: \b442ae3e-c167-4fef-adc3-0907fbe7e93b /on_select/0/context/message_id Message ID for on_action API should be same as action API: \c2f02740-ff6f-4f50-92e8-4e4c5ee1cc26 /on_select/0/message/order must have required property 'payments' /on_select/0/message/order/fulfillments/0 must have required property '@ondc/org/TAT' /on_select/0/message/order/fulfillments/0 must have required property 'state' /on_select/0/message/order/fulfillments/0 must NOT have additional properties (stops) /on_select/0/message/order/quote/breakup/ must have required property '@ondc/org/title_type' /on_select/0/message/order/quote/breakup/ must match \then\ schema /on_select/1/message/order/fulfillments/0 must NOT have additional properties (provider_id) /on_select/1/message/order/quote must pass \isQuoteMatching\ keyword validation

on_init

/on_init/0/message/order/provider/locations must be object /on_init/0/message/order/quote/price/value must be equal to constant (15.00)

confirm

/confirm/0/message/order/quote/price/value must be equal to constant (180.00) /confirm/0/message/order/quote/breakup/4 must have required property 'https://github.com/ondc/org/title_type' /confirm/0/message/order/quote/breakup/4 must match \then\ schema

on_confirm

/on_confirm/0/message/order/payments/0/@ondc1org1withholding_amount must be equal to constant (70.00)

status

/status/0/message/order_id must be equal to constant (3148-547359-1234)

on_status

/on_status/0/message/order must have required property 'id' /on_status/0/message/order must have required property 'state' /on_status/0/message/order/fulfillments/0 must have required property '@ondc/org/provider_name' /on_status/0/message/order/quote/breakup/4 must have required property 'https://github.com/ondc/org/title_type' /on_status/0/message/order/quote/breakup/4 must match \then\ schema /on_status/0/message/order/payments/0/@ondc1org1withholding_amount must be equal to constant (10.00) /on_status/0/message/order/created_at order/created_at should remain same as in /confirm - \2024-09-03T05:30:32.189Z\

Context Error --

on_init: context/timestamp difference between on_init and init should be within 5 seconds on_confirm: context/timestamp difference between on_confirm and confirm should be within 5 seconds on_status_1: Message Id cannot be same for different sets of APIs on_status_2: Message Id cannot be same for different sets of APIs on_status_3: Message Id cannot be same for different sets of APIs on_status_4: Message Id cannot be same for different sets of APIs on_status_5: Message Id cannot be same for different sets of APIs

Message Error --

on_select cityCodeErr: Invalid city code for exports on_select_1 fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags select itemErr0: Item Id '51be0f61-4e23-4a6a-8261-c2341e66695a' does not exist in /on_search init fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags on_init fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags, feeTypeErr: Buyer Finder Fee amount mismatches from /search confirm feeTypeErr: Buyer Finder Fee amount mismatches from /search on_confirm strtlctnErr: fulfillments/start/location/id - undefined is not matching with the provider location id - L1 provided in /on_search, feeTypeErr: Buyer Finder Fee amount mismatches from /search

Flow 5 --

Incorrect Flow as per context/timestamps - (search,on_search,on_select,select,init,on_init,confirm,on_confirm,status,on_status)

Schema Error --

/on_search/0/message/catalog/providers/0 must have required property 'creds', /on_search/0/message/catalog/providers/0 must have required property 'fulfillments', /on_search/0/message/catalog/providers/0/descriptor must have required property 'images', /on_search/0/message/catalog/providers/0/locations/0 must have required property 'city', /on_search/0/message/catalog/providers/0/locations/0 must have required property 'state', /on_search/0/message/catalog/providers/0/locations/0 must have required property 'country', /on_search/0/message/catalog/providers/0/locations/0 must have required property 'area_code', /on_search/0/message/catalog/providers/0/locations/0/address must be string, /on_search/0/message/catalog/providers/0/items/0 must have required property 'cancellation_terms', /on_search/0/message/catalog/providers/0/items/0 must have required property 'return_terms', /on_search/0/message/catalog/providers/0/items/0 must have required property 'recommended', /on_search/0/message/catalog/providers/0/items/0/descriptor/images/* must have required property 'url', /on_search/0/message/catalog/providers/0/items/0/quantity/unitized/measure must have required property 'unit', /on_search/0/message/catalog/providers/0/items/0/quantity/available/count must be integer, /on_search/0/message/catalog/providers/0/items/0/quantity/maximum/count must be integer, /on_search/0/message/catalog/providers/0/items/0/tags/2/list/2/value must be string, /on_init/0/message/order/provider/locations must be object, /on_init/0/message/order/fulfillments/0/id must be equal to constant (F1), /confirm/0/message/order/quote/price/value must be equal to constant (180.00), /confirm/0/message/order/quote/breakup/4 must have required property 'https://github.com/ondc/org/title_type', /confirm/0/message/order/payments/0/@ondc1org1withholding_amount must be equal to constant (10.00), /on_confirm/0/message/order must NOT have additional properties (cancellation_terms), /on_confirm/0/message/order/payments/0/https://github.com/ondc1org1withholding_amount must be equal to constant (70.00), /status/0/message/order_id must be equal to constant (3148-547359-1234), /on_status//message/order must have required property 'id', /on_status//message/order must have required property 'state', /on_status//message/order/fulfillments/0 must have required property '@ondc/org/provider_name', /on_status//message/order/quote/breakup/4 must have required property '@ondc/org/title_type', /on_status//message/order/payments/0/https://github.com/ondc1org1withholding_amount must be equal to constant (10.00), /on_status//message/order/created_at order/created_at should remain same as in /confirm - \2024-09-03T09:04:23.278Z,

Context Error --

select: Timestamp mismatch for /select on_init: context/timestamp difference between on_init and init should be within 5 seconds on_confirm: context/timestamp difference between on_confirm and confirm should be within 5 seconds on_status_1: Message Id cannot be same for different sets of APIs on_status_2: Message Id cannot be same for different sets of APIs on_status_3: Message Id cannot be same for different sets of APIs on_status_4: Message Id cannot be same for different sets of APIs on_status_5: Message Id cannot be same for different sets of APIs

Message Error --

on_search msngCreds: Creds are required for exports in /providers, missingLoc-0-err: Location id/s 0 in /items does not exist in /providers/locations, missingpymntIds-0-err: Payment id/s 2 in /items does not exist in /payments, originFrmtErr: Country of origin should be in a valid 'ISO 3166-1 alpha-3' format e.g. IND, SGP, missingItemTags-0-err: 'g3' tag/s required in /items/tags, missingLoc-1-err: Location id/s 0 in /items does not exist in /providers/locations, missingpymntIds-1-err: Payment id/s 2 in /items does not exist in /payments, missingItemTags-1-err: 'g3' tag/s required in /items/tags

on_select fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags

select providerLocErr0: Provider location with id 'L1' does not exist in the catalog provided in /on_search, fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags

init fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags

on_init fullfntTagErr: Delivery terms (INCOTERMS) are required for exports in /fulfillments/tags, feeTypeErr: Buyer Finder Fee amount mismatches from /search

confirm feeTypeErr: Buyer Finder Fee amount mismatches from /search

on_confirm strtlctnErr: fulfillments/start/location/id - undefined is not matching with the provider location id - L1 provided in /on_search, feeTypeErr: Buyer Finder Fee amount mismatches from /search

@StelCoreM - Kindly go through the above report for the issues in the logs. Additionally, share a demo video for the same post fixing.

sonalishakya commented 1 month ago

Log Report - 11 September 2024

Flow 1 --

Schema Issues -

/on_search/0/message/catalog/providers/0/locations/0/city must be object /on_search/0/message/catalog/providers/0/locations/0/state must be object /on_search/0/message/catalog/providers/0/locations/0/country must be object

/on_select/0/message/order/fulfillments/0 must have required property 'id'

/on_init/0/message/order/provider/id must be equal to provider_id in on_search

/confirm/0 context timestamp should be greater than created_at = updated_at /confirm/0/message/order/quote/price/value must be equal to on_init quote/price/value

/on_confirm/0/message/order/id must be equal to order id in confirm payload /on_confirm/0/message/order/created_at should remain same as in /confirm - \2024-09-09T10:50:05.007Z\

/status/0/message/order_id must be equal to order id in confirm payload

/on_status/0/message/order/id must be equal to order id in confirm payload /on_status/0/message/order/quote/breakup/4 must have required property '@ondc/org/title_type' (remove space) /on_status/0/message/order/created_at should remain same as in /confirm order/created_at - \2024-09-09T10:50:05.007Z\

Message Issues -

on_search missingLocErr: Location id 0 in /items and in tag serviceabilty > location does not exist in /providers/locations missingpymntIdsErr: Payment id 2 in /items does not exist in /payments originFrmtErr: Country of origin should be in a valid 'ISO 3166-1 alpha-3' format e.g. IND SGP

select_0: providerLocErr0: Provider location with id 'L1' does not exist in the catalog provided in /on_search

on_select_0: item-0-DiffErr: In /items 'fulfillment_id' mismatch from /select for item with id 53a21701-67a5-4eb0-a3f3-1d3be70ac9c3

on_init_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

confirm_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

on_confirm_0: strtlctnErr: fulfillments/start/location/id - undefined is not matching with the provider location id - L1 provided in /on_search feeTypeErr: Buyer Finder Fee amount mismatches from /search

Add ons in flow 2 --

Flow Error: 0: Incorrect Flow as per context/timestamps - (on_selectsearchon_searchselectiniton_initconfirmon_confirmstatuson_status)

Schema:

/on_search/0/context/message_id Message ID should not be equal to transaction_id: \4f9c65ae-6e37-4adb-9647-ca94a9c3c823\ /on_search/0/message/catalog/providers/0/items/0/tags/2/list/2/value must be string

/on_select/0/context/transaction_id Transaction ID should be same across the transaction: \1b9819b3-8e2f-421c-bff7-2a17ec65937b\ /on_select/0/context/message_id Message ID for on_action API should be same as action API: \8a842eda-d2f0-4efc-bdee-5f05912eccd7\ /on_select/0/message/order/fulfillments/0 must NOT have additional properties (provider_id) /on_select/0/message/order/quote must be the sum of all below defined costs /on_select/1/message/order/fulfillments/0 must have required property '@ondc/org/category' /on_select/1/message/order/fulfillments/0/state/descriptor/code must be string /on_select/1/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Serviceable, Non-serviceable)

/on_init/0/message/order/quote/price/value must be equal on_select quote price

Message:

on_select 0 and on_select 1 have same payloads with out of stock messages

on_select_1: No /select call present for not in stock call with same message ID quoteItemQuantity1: Item quantity in quote breakup should be equal to the items/quantity/selected/count outOfStockErr: Error object with appropriate error code should be sent when the selected item quantity is not available

select_0: providerLocErr0: Provider location with id 'L1' does not exist in the catalog provided in /on_search

Add on for flow 5 --

Schema Issues -

/on_search/0/message/catalog/providers/0/items/0/quantity/available/count must be integer, /on_search/0/message/catalog/providers/0/items/0/quantity/maximum/count must be integer,

/on_init/0/message/order/quote/price/value must be equal on_select quote/price/value

/on_confirm/0/message/order must have the required property 'created_at'

@StelCoreM - Kindly refer to the log report above.

sonalishakya commented 1 month ago

Flow 1 --

/on_search/0/message/catalog/providers/0/items/0/tags/2/list/2/value must be string /on_search/0/message/catalog/providers/0/items/1/tags/2/list/2/value must be string

/on_select/0/context/message_id Message ID for on_action API should be same as action API: \66a41100-fc8e-4b5d-8ac9-c99332b11cc7\

/init/0/context/transaction_id Transaction ID should be same across the transaction: \454a775e-931d-4770-a227-5af139c8572d\

/on_init/0/context/message_id Message ID for on_action API should be same as action API: \0794585a-c18e-4918-93dd-995d6d789bcd\ /on_init/0/message/order/fulfillments/0/id must be equal to constant (F1)

/on_confirm/0/context/message_id Message ID for on_action API should be same as action API: \0794585a-c18e-4918-93dd-995d6d789bcd\ /on_confirm/0/message/order/id must be equal to constant (3149-710692-3421)

/status/0/message/order_id must be equal to constant (3142-096887-3330)

/on_status/*/message/order/id must be equal to constant (3149-710692-3421) /on_status/0/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Domestic-Custom-ClearedPickup-ApprovedPendingPackedSearching-for-AgentAgent-assignedOut-for-pickupPickup-failedPickup-rescheduledOrder-picked-upIn-transitAt-destination-hubOut-for-deliveryDelivery-failedDelivery-rescheduledOrder-deliveredRTO-InitiatedRTO-DeliveredRTO-DisposedCancelled)

Message:

on_search_0: missingLoc-0-err: Location id 0 in /items does not exist in /providers/locations missingpymntIds-0-err: Payment id 2 in /items does not exist in /payments originFrmtErr: Country of origin should be in a valid 'ISO 3166-1 alpha-3' format e.g. IND SGP

select_0: providerLocErr0: Provider location with id 'L1' does not exist in the catalog provided in /on_search flfillmentIDerr0: Fulfillment id 'F1' does not match with the catalog provided in /on_search

on_select_0: item-0-DiffErr: In /items 'fulfillment_id' mismatch from /select for item with id 53a21701-67a5-4eb0-a3f3-1d3be70ac9c3

on_init_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

confirm_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

on_confirm_0: strtlctnErr: fulfillments/start/location/id - undefined is not matching with the provider location id - L1 provided in /on_search feeTypeErr: Buyer Finder Fee amount mismatches from /search

Flow 2 --

Flow Error: 0: Incorrect Flow as per context/timestamps - (on_select,search,on_search,select,init,on_init,confirm,on_confirm,status,on_status)

Schema: /on_search/0/message/catalog/providers/0/items/0/tags/2/list/2/value must be string, /on_search/0/message/catalog/providers/0/items/1/tags/2/list/2/value must be string,

/on_select/0/context/transaction_id Transaction ID should be same across the transaction: \589b90e0-fa6e-455b-bfb6-968fbdf10590\, /on_select/0/context/message_id Message ID for on_action API should be same as action API: \75d01967-5f68-4d10-8421-e502c500eec2\, /on_select/0/message/order/fulfillments/0 must NOT have additional properties (provider_id), /on_select/0/message/order/quote must pass \isQuoteMatching\ keyword validation, /on_select/1/message/order/fulfillments/0 must have required property '@ondc/org/category', /on_select/1/message/order/fulfillments/0/state/descriptor/code must be string, /on_select/1/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Serviceable,Non-serviceable),

/on_init/0/context/message_id Message ID for on_action API should be same as action API: \16bc5dbb-8d61-4a87-9a80-a557ff0d03a8\, /on_init/0/message/order/quote/price/value must be equal to constant (0),

/confirm/0/message/order/quote/price/value must be equal to constant (250.00),

/on_confirm/0/context/message_id Message ID for on_action API should be same as action API: \16bc5dbb-8d61-4a87-9a80-a557ff0d03a8\, /on_confirm/0/message/order/created_at should remain same as in /confirm - \2024-09-09T10:50:05.007Z\,

/on_status/0/message/order/fulfillments/0/state/descriptor/code must be equal to one of the allowed values (Domestic-Custom-Cleared,Pickup-Approved,Pending,Packed,Searching-for-Agent,Agent-assigned,Out-for-pickup,Pickup-failed,Pickup-rescheduled,Order-picked-up,In-transit,At-destination-hub,Out-for-delivery,Delivery-failed,Delivery-rescheduled,Order-delivered,RTO-Initiated,RTO-Delivered,RTO-Disposed,Cancelled), /on_status/0/message/order/payments/0/@ondc~1org~1withholding_amount must be equal to constant (10.00), /on_status/0/message/order/created_at order/created_at should remain same as in /confirm - \2024-09-09T10:50:05.007Z\,

Message:

on_select_1: quoteItemQuantity1: Item quantity in quote breakup should be equal to the items/quantity/selected/count, outOfStockErr: Error object with appropriate error code should be sent when the selected item quantity is not available

on_search_0: missingLoc-0-err: Location id/s 0 in /items does not exist in /providers/locations, missingpymntIds-0-err: Payment id/s 2 in /items does not exist in /payments, originFrmtErr: Country of origin should be in a valid 'ISO 3166-1 alpha-3' format e.g. IND, SGP,

select_0: providerLocErr0: Provider location with id 'L1' does not exist in the catalog provided in /on_search,

on_init_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

confirm_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

on_confirm_0: strtlctnErr: fulfillments/start/location/id - undefined is not matching with the provider location id - L1 provided in /on_search, feeTypeErr: Buyer Finder Fee amount mismatches from /search

@StelCoreM

sonalishakya commented 1 month ago

Flow 1 & 5 --

Schema issue - /on_init/0/message/order/provider must have required property 'locations'

on_init_0: feeTypeErr: Buyer Finder Fee amount mismatches from /search

FLow 2 --

Flow Error - 0: Incorrect Flow as per context/timestamps - (on_select,search,on_search,select,init,on_init,confirm,on_confirm,status,on_status)

Schema Error - on_select (For items not in stock) /on_select/0/context/transaction_id Transaction ID should be same across the transaction: \6495d53b-ce51-4a17-a47a-827a70c74684\ /on_select/0/context/message_id Message ID for on_action API should be same as action API: \349d0e67-a734-44cf-9976-10b4a93345e3\ /on_select/0/message/order/provider/locations/0/id must be equal to constant (022) /on_select/0/message/order/fulfillments/0 must NOT have additional properties (provider_id) /on_select/0/message/order/quote must pass \isQuoteMatching\ keyword validation

/on_init/0/message/order/provider must have required property 'locations' /on_init/0/message/order/fulfillments/0/id must be equal to constant (1) /on_init/0/message/order/quote/price/value must be equal to constant (0)

/on_confirm/0/message/order/quote must pass \isQuoteMatching\ keyword validation /on_confirm/0/message/order/tags must NOT have fewer than 2 items

Message Error -

on_select (For items not in stock) "quoteItemQuantity1": "Item quantity in quote breakup should be equal to the items/quantity/selected/count" "outOfStockErr": "Error object with appropriate error code should be sent when the selected item quantity is not available"

Note --

  1. Kindly share the correct payload for on_select call for out of stock flow within the same transaction and timestamp.
  2. Kindly resubmit fresh logs for the buyer and seller cancellation flows with the updated APIs.

@StelCoreM

sonalishakya commented 1 month ago

Hi @StelCoreM

Seems like a great improvement in the logs. Below are few more errors from Flow 2. Kindly share the select call logs for the item out of stock payload as well (for the message ID check). Also, the buyer and seller cancellation logs are not updated as per the updated APIs. Kindly share fresh logs so we could run a check against them as well.

Log report for Flow 2 -- Schema: schemaErr0: /on_select/2/context/message_id Message ID for on_action API should be same as action API: ff5b72dc-362a-4cf9-a13b-d126b437e91a schemaErr1: /on_init/0/message/order/provider must have required property 'locations' schemaErr2: /on_confirm/0/message/order/quote must pass \isQuoteMatching\ keyword validation schemaErr3: /on_confirm/0/message/order/tags must NOT have fewer than 2 items

Message: on_select_0: quoteItemQuantity1: Item quantity in quote breakup should be equal to the items/quantity/selected/count

sonalishakya commented 1 month ago

@StelCoreM

Buyer and Seller Cancellation Flow Issues --

/on_confirm/0/message/order/cancellation_terms/2/fulfillment_state/descriptor/code must be equal to one of the allowed values - Domestic-Custom-Cleared /on_cancel/0/message/order must NOT have additional properties (cancel) /on_cancel/0/message/order must NOT have additional properties (documents) /on_cancel/0/message/order/payments/1/collected_by must be equal to constant (buyer) in case of refund

For all the flows, kindly change the value of settlement type / payment type to OPGSP. There seems to be a lot of discrepancy in the updated flow 2. Kindly share clean and fresh logs for the same.

sonalishakya commented 3 weeks ago

@StelCoreM

Flow Issues --

Buyer Cancellation - /on_cancel/0/message/order/payments/1/params/amount should be updated to updated quote price - \"80.00\" as per the refund amount set in the quote/breakup/ title": "Convenience Fee", "@ondc/org/title_type": "refund",

Seller Cancellation - Refund details are not mentioned in payments for PRE-FULFILMENT orders.

Flow 2 - The select and on_select call have different timestamps and message ID. How are further calls (init - confirm) even possible if the select and on_select are not compatible and the only other select call is for item out of stock for the same item ID.

For all the flows, kindly change the value of settlement type / payment type to OPGSP.

sonalishakya commented 3 weeks ago

@StelCoreM

Seller Cancellation —  /on_cancel/0/message/order/quote, the quote/price/value is not matching the breakup (total amount should be item amount minus refund value) /on_cancel/0/message/order/payments must NOT have fewer than 2 items, add second item with refund details which will be further collected_by the buyer.

Buyer Cancellation —  /on_cancel/0/message/order/payments/1 must have collected_by as 'buyer’

Changes pending from RTGS —> OPGSP Flows - confirm, on_confirm, on_status Path - payments//@ondc~1org~1settlement_details//settlement_type

sonalishakya commented 2 weeks ago

@StelCoreM

How is the total calculation for the quote break in buyer cancellation wrong (because 80 - 10 != 0) but correct for the seller cancellation, when both are running on the same API's code?

StelCoreM commented 2 weeks ago

Hi Team,

There must be a mixup while creating the logs, sorry about that we'll make sure this won't happen again.

Regards, Sharmad Joshi

On Mon, Oct 21, 2024 at 5:23 PM Sonali Shakya @.***> wrote:

@StelCoreM https://github.com/StelCoreM

How is the total calculation for the quote break in buyer cancellation wrong (because 80 - 10 != 0) but correct for the seller cancellation, when both are running on the same API's code?

— Reply to this email directly, view it on GitHub https://github.com/ONDC-Official/verification-logs/issues/1635#issuecomment-2426458275, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKDY2R7T5ZZ2Q47REV3PKP3Z4TTNJAVCNFSM6AAAAABMLOCOA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRWGQ2TQMRXGU . You are receiving this because you were mentioned.Message ID: @.***>

-- StelCore Management Services Private Limited 

This e-mail message may contain confidential and/or privileged information. If you are not an addressee or otherwise authorized to receive this message, you should not use, copy, disclose or take any action based on this e-mail or any information contained in the message. If you have received this material in error, please advise the sender immediately by reply e-mail and delete this message. Thank you.

tanyamadaan commented 5 days ago

/on_search:

@StelCoreM

abhinavv245 commented 5 days ago

Flow 1

/on_select

/confirm

/on_status

Flow 2

/on_select

/on_init

Flow 5

/init

Buyer Cancel

/on_confirm

/cancel

Seller Cancel

/on_cancel

@StelCoreM Please remove older files to avoid confusion. Let us know if there are any concerns, we can have a call in that case.