Replies: 8 comments 11 replies
-
Adding few use cases: Use Case 1: The QR code will be available at a seller place like in-store displays, physical advertisements etc. which can be scanned by any buyer willing to look at the catalog. While a QR code is scanned, it will identify the apps that support the URI or are beckn enabled and will return an on_search response with the catalog. The deep link may look like:
Use Case 2: The beckn enabled deep link can be used in conjunction with voice-based search. When a buyer is looking for coffee using a voice-based search, it can construct the beckn enabled deep link by embedding the recognized keywords into the deep link, which then instructs the OS to identify the apps that support the URI or are beckn enabled and can pass the data embedded in the link to show relevant results in the app.
Use Case 3: The beckn enabled deep links can be integrated with advertisements or campaigns to direct users from an add to a beckn enabled application to show relevant results. |
Beta Was this translation helpful? Give feedback.
-
Thoughts:
Based on these principles, i suggest the following. For Store QR *. Baps could use (https://${registry_base_url}/lookup} to identify the bpp url and post a /search on the bpp's subscriber url directly, On an online search if a buy now button is enabled via an ad company such as google , it could be
This pattern can be easily extended if we need to pass more information that is passable in the intent. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your comprehensive feedback, @venkatramanm. I'd like to share a few thoughts on the points you've raised: Testing between stage, Preprod, and Prod: Current beckn API specifications or protocol doesn't differentiate between environments through parameters, thus not indicating the specific registry endpoint for each. I'm inclined to think that during the testing phase, the QR code should be initially validated with BAPs in the staging and preprod environments. Once validated, BPPs can facilitate its production release. The inclusion of "ondc" will act as an identifier for the intended ONDC registry. I've also put together a concept note elucidating the QR code use case. I'd appreciate your insights on the same. To ensure we're aligned and to delve deeper into this topic, will try scheduling a call based on everyone's availability? It could offer us a platform for more streamlined communication and understanding. |
Beta Was this translation helpful? Give feedback.
-
Based on the discussions, have updated the document and added 7 use cases. Please review the document and provide your feedback. |
Beta Was this translation helpful? Give feedback.
-
@tanya-ondc @venkatramanm @nitinmish basis the above discussions, I'd like to summarize the following. Below is the proposed format.
For any network, the default network identifier SHOULD be the FQDN. For example, for ONDC, let it be The BAP SHOULD maintain an internal lookup table that maps the unique network identifier to the respective registry lookup endpoint of that network. It can be a lookup API, a text file, or anything else that allows the BAP to resolve the network participants of a specific network. Let us keep the So an example uri that indicates a search request to browse a specific provider on ONDC can be
This will result in a broadcast search from the BAP Let's take another case where the provider has availed the services of a search provider (say Google) who has indexed their catalog. In such a case, the
Do provide your thoughts and comments. Thanks |
Beta Was this translation helpful? Give feedback.
-
Beckn Enabled Deep LinksObjectiveTo facilitate seamless and standardized user interactions across digital ecosystems, it is crucial to create a universally recognized and standardized "beckn" URI scheme, similar to what Unified Payments Interface (UPI) and WhatsApp has achieved for major platforms like Web, Android and iOS, thus enhancing deep linking capabilities for entities using the Beckn protocol. Furthermore, the scheme should have easy integration and accessibility through software languages like Java, Python, etc. Problem StatementCurrently, beckn interactions primarily rely on URL-based RESTFul interfaces that are generic and require additional information carried on wire. Moreover, in an unbundled and interoperable framework, there is a need for a standard whereby creation of information datum needs to be standardized creating the possibility of invoking boilerplate codes for specific actions. To enable widespread adoption and interoperability within the ecosystem, there is a need to establish a universally recognized beckn anchor tag that seamlessly integrates with major platforms, similar to UPI, WhatsApp, messaging interfaces (such as XMPP) etc. For the current use case of enabling QR codes for merchant shops, merchants lack a unified method to generate QR codes, irrespective of the interfaces where the QR will be consumed, which may direct customers to their specific offerings and catalog within the Beckn ecosystem. Even with the QR codes created, the consumers scanning the QR codes might encounter varied landing experiences due to the absence of a standardized deep linking mechanism via anchor tags. Hence, in order to increase the accessibility and adoption, embedded QR code is required to direct the consumers to apps compliant with beckn. There is a need for unbundling consumer experience, primarily integrated through buyer apps, at the merchant stores. This will also help the merchants to broaden their reach on any network complying to beckn protocol enabling buyers to buy from identified stores of their choice. Proposed SolutionThe solution proposed here is to introduce beckn as an identified anchor tag and established protocol within developer community and platforms such as openJDK, Android, iOS etc. As the first use case, it is proposed to enable QR code features for merchants facilitated by their respective BPPs (Seller Apps in this context). Creating a QR code with data drafted in a deep link enabled through anchor tags of beckn in line of what UPI/ WhatsApp/XMPP have enabled, will enable the discovery of stores and their catalog on the buyer app of their choice. Consumers shall scan such QR stores visibly available on stores onboarded on any network (like ONDC) through a seller app and will be offered for downloading and displaying in the store. Each BAP shall need to respect a standard anchor tag identified through a beckn complaint application and make the store catalog visible on device. The QR code shall make information available in format below. There are two suggestive modes of operation for this anchor tag, however, buyer Apps are free to innovate and create more handles to provide experience to their buyers.
As the primary goal specifically for generating and interpreting QR codes for onboarded merchants, defining the well-defined schema and structure for the beckn anchor tag. This QR code will be available at a seller place like in-store displays, physical advertisements etc. which can be scanned by any buyer willing to engage with a particular seller and their catalog while visiting the store. While a QR code is scanned, it will identify the apps that support the URI or are beckn enabled and will return an on_search response with the catalog. The deep link for QR code in store is mentioned below:
Data Fields:The fields provided here are only for reference and serve as a guidance. As use cases evolve and expand, the input fields in the deep link may also grow or change to cater to the specific needs and scenarios. The field structure refers to the beckn protocol specifications. Below fields are populated based on the use cases defined in below sections.
QR code generationBPPs would facilitate the sellers to generate the QR codes specific to the provider. Networks may offer open-source SDKs designed to produce QR codes embedded with merchant-specific information. However, BPPs may decide to provide their own feature and technology sets to generate standard QR codes with appropriate density for each scanning of the code. URI scheme RecognitionEach BAP application that are beckn enabled would need to add Platform IntegrationsDifferent platforms have different handling mechanisms, for example, Android uses Intent Filters and iOS uses URL schemes or Universal links to identify which apps can handle which URI schemes or use fallback URLs to redirect the consumer to a fallback web URL, usually prompting them to download the relevant app. If multiple apps have registered the same URI scheme, it will either redirect to the default app or prompt the user to select the app they would like to use. Network IdentificationThe component in the deep link identifies the specific network to which the request belongs to. For example, The BAPs would need to maintain a local lookup table that maps the unique network identifier to the respective registry endpoint based on the network. The registry endpoint may be an API endpoint, a github endpoint, or a local registry DB to lookup the network participants of the specified network. Interpreting Deep LinkThe interpretation of a beckn deep link depends on the specific parameters and values included in the deep link URL. Beckn deep links are designed to convey specific instructions or information to Beckn enabled applications (Buyer Application Platforms or BAPs). Here's a general guide on how a beckn deep link is typically interpreted. Beckn Deep Link Structure:
Defining deep links can help in
Use Cases:Deep linking with the beckn URI scheme can open the door to a wide range of use cases, each designed to enhance user interaction, convenience, and efficiency across different domains within the network. While the possibilities are vast, we've cataloged a few illustrative use cases to showcase the potential of this technology.
Imagine a buyer walking into a store and having the power to view the complete merchant's catalog using their smartphone. By scanning a QR code generated by the seller (facilitated by BPP), customers can have instant access to the entire inventory, enhancing the shopping experience while making it more efficient.
The seller might want to create QR codes for each category of products, for example
For products that require a deeper understanding—be it tech gadgets with intricate specifications or luxury goods with detailed craftsmanship—sellers can generate QR codes. Once scanned, these codes will lead customers to a product details page for the specific product.
During the festive season, buyer apps (BAPs) might want to generate a QR code for specific domains with some offers. BAPs can generate QR codes that, when scanned, provide users with a consolidated view of offerings from various BPPs within the chosen domain, enriching their browsing experience.
Imagine a QR code present at a public place, like Airport. When a buyer scans the QR code, they are redirected to the buyer app with their current location already set, simplifying their commute process.
Imagine a buyer comes across a beckn-enabled QR code through an advertisement that promises a hassle-free purchase experience for a health insurance policy.
Imagine each product in the store has a beckn-enabled QR code associated with it, which links to the product's online listing. The QR code contains a deep link with all the necessary information for adding the product to the cart. Considerations
|
Beta Was this translation helpful? Give feedback.
-
Updated document based on today's discussion. @ravi-prakash-v Please let me know if it looks good now. @nitinmish @venkatramanm @pramodkvarma Beckn Enabled Deep LinksObjectiveTo facilitate seamless and standardized user interactions across digital ecosystems, it is crucial to create a universally recognized and standardized "beckn" URI scheme, similar to what Unified Payments Interface (UPI) and WhatsApp has achieved for major platforms like Web, Android and iOS, thus enhancing deep linking capabilities for entities using the Beckn protocol. Furthermore, the scheme should have easy integration and accessibility through software languages like Java, Python, etc. Problem StatementCurrently, beckn interactions primarily rely on URL-based RESTFul interfaces that are generic and require additional information carried on wire. Moreover, in an unbundled and interoperable framework, there is a need for a standard whereby creation of information datum needs to be standardized creating the possibility of invoking boilerplate codes for specific actions. To enable widespread adoption and interoperability within the ecosystem, there is a need to establish a universally recognized beckn anchor tag that seamlessly integrates with major platforms, similar to UPI, WhatsApp, messaging interfaces (such as XMPP) etc. For the current use case of enabling QR codes for merchant shops, merchants lack a unified method to generate QR codes, irrespective of the interfaces where the QR will be consumed, which may direct customers to their specific offerings and catalog within the Beckn ecosystem. Even with the QR codes created, the consumers scanning the QR codes might encounter varied landing experiences due to the absence of a standardized deep linking mechanism via anchor tags. Hence, in order to increase the accessibility and adoption, embedded QR code is required to direct the consumers to apps compliant with beckn. There is a need for unbundling consumer experience, primarily integrated through buyer apps, at the merchant stores. This will also help the merchants to broaden their reach on any network complying to beckn protocol enabling buyers to buy from identified stores of their choice. Proposed SolutionThe solution proposed here is to introduce beckn as an identified anchor tag and established protocol within developer community and platforms such as openJDK, Android, iOS etc. As the first use case, it is proposed to enable QR code features for merchants facilitated by their respective BPPs (Seller Apps in this context). Creating a QR code with data drafted in a deep link enabled through anchor tags of beckn in line of what UPI/ WhatsApp/XMPP have enabled, will enable the discovery of stores and their catalog on the buyer app of their choice. Consumers shall scan such QR codes visibly available on stores onboarded on any network (like ONDC) through a seller app and will be offered for downloading and displaying in the store. Each BAP shall need to respect a standard anchor tag identified through a beckn complaint application and make the store catalog visible on device. The QR code shall make information available in format below. There are two suggestive modes of operation for this anchor tag, however, buyer Apps are free to innovate and create more handles to provide experience to their buyers.
As the primary goal specifically for generating and interpreting QR codes for onboarded merchants, defining the well-defined schema and structure for the beckn anchor tag. This QR code will be available at a seller place like in-store displays, physical advertisements etc. which can be scanned by any buyer willing to engage with a particular seller and their catalog while visiting the store. While a QR code is scanned, it will identify the apps that support the URI or are beckn enabled and will return an on_search response with the catalog. The deep link for QR code in store is mentioned below:
Data Fields:The fields provided here are only for reference and serve as a guidance. As use cases evolve and expand, the input fields in the deep link may also grow or change to cater to the specific needs and scenarios. The field structure refers to the beckn protocol specifications. Below fields are populated based on the use cases defined in below sections.
QR code generationBPPs would facilitate the sellers to generate the QR codes specific to the provider. Networks may offer open-source SDKs designed to produce QR codes embedded with merchant-specific information. However, BPPs may decide to provide their own feature and technology sets to generate standard QR codes with appropriate density for each scanning of the code. URI scheme RecognitionEach BAP application that are beckn enabled would need to add Platform IntegrationsDifferent platforms have different handling mechanisms, for example, Android uses Intent Filters and iOS uses URL schemes or Universal links to identify which apps can handle which URI schemes or use fallback URLs to redirect the consumer to a fallback web URL, usually prompting them to download the relevant app. If multiple apps have registered the same URI scheme, it will either redirect to the default app or prompt the user to select the app they would like to use. Network IdentificationThe component in the deep link identifies the specific network to which the request belongs to. For example, The BAPs would need to maintain a local lookup table that maps the unique network identifier to the respective registry endpoint based on the network. The registry endpoint may be an API endpoint, a github endpoint, or a local registry DB to lookup the network participants of the specified network. Interpreting Deep LinkThe interpretation of a beckn deep link depends on the specific parameters and values included in the deep link URL. Beckn deep links are designed to convey specific instructions or information to Beckn enabled applications (Buyer Application Platforms or BAPs). Here's a general guide on how a beckn deep link is typically interpreted. Beckn Deep Link Structure:
Defining deep links can help in
Use Cases:Deep linking with the beckn URI scheme can open the door to a wide range of use cases, each designed to enhance user interaction, convenience, and efficiency across different domains within the network. While the possibilities are vast, we've cataloged a few illustrative use cases to showcase the potential of this technology.
Imagine a buyer walking into a store and having the power to view the complete merchant's catalog using their smartphone. By scanning a QR code generated by the seller (facilitated by BPP), customers can have instant access to the entire inventory, enhancing the shopping experience while making it more efficient.
The seller might want to create QR codes for each category of products, for example
For products that require a deeper understanding—be it tech gadgets with intricate specifications or luxury goods with detailed craftsmanship—sellers can generate QR codes. Once scanned, these codes will lead customers to a product details page for the specific product.
During the festive season, buyer apps (BAPs) might want to generate a QR code for specific domains with some offers. BAPs can generate QR codes that, when scanned, provide users with a consolidated view of offerings from various BPPs within the chosen domain, enriching their browsing experience.
Imagine a QR code present at a public place, like Airport. When a buyer scans the QR code, they are redirected to the buyer app with their current location already set, simplifying their commute process.
Imagine a buyer comes across a beckn-enabled QR code through an advertisement that promises a hassle-free purchase experience for a health insurance policy.
Imagine each product in the store has a beckn-enabled QR code associated with it, which links to the product's online listing. The QR code contains a deep link with all the necessary information for adding the product to the cart. Considerations
|
Beta Was this translation helpful? Give feedback.
-
I believe we have specs that are good to start with. Let's enable the first use case of creation of QR code by sellers to help buyers explore their catalog while in store. Future use cases and their model implementations will evolve as we foray into its assimilation in the eco-system. @ravi-prakash-v , Do we need to checkin a PR for these specs under protocol specifications? Please advise. |
Beta Was this translation helpful? Give feedback.
-
Context
Beckn is fast catching up as a viable protocol for many transactional oriented systems. While beckn abstracts much of transactional complexities by standardizing specifications and protocol imperatives, it is pertinent that beckn gets identified as an established anchor tag, in line with what upi has done for major platforms (HTML, Android, iOS etc.). A similar tag is available in whatsapp as well. Following are few examples:
upi://pay?pa=upiaddress@okhdfcbank&pn=JohnDoe&cu=INR
whatsapp://send?abid=phonenumber&text=Hello%2C%20World!
Problem
One of the immediate use case for this purpose is enabling QR code for merchant shops. Today, the QR code are either very localized to merchant or have a platform centric approach, where the embedded QR code can only direct to a specific app. There is a need for unbundling this and creating a deep link enabled through anchor tags like that of in upi, that will enable the discovery of store irrespective of the BPP they are associated with. Each BAP shall need to respect a standard anchor tag identified through a beckn complaint application and make the catalog for store visible on device. The anchor tag will also ensure that specific SDKs/Libraries will have an identification of beckn as protocol which developers can use to activate boilerplate codes.
Proposed Solution
We are proposing to have something similar to that of UPI anchor tags, that most platforms for ready references within applications which can be embedded in QR codes. Our use case is that a QR code outside a shop can be pasted that will call a scanner and identify apps that support the URI pushed. I am proposing something similar to below:
beckn://ondc?bppID=&providerID=&providerName=
This will ensure that major software platforms and browsers start recognizing with the protocol beckn. For ONDC, we propose to use the nomenclature above.
The flow of one of the use case is:
Examples
• beckn://ondc?bppID=&providerID=&providerName=
References
• UPI github links for UPI example https://github.com/bhar4t/upiqr
@pramodkvarma @ravi-prakash-v @tanya-ondc @BLR-0118 @92shreyansh
Beta Was this translation helpful? Give feedback.
All reactions