Product Collection Enhancements
Published by Galina Vorobyova on June 26, 2023
We first introduced ProductCollections just over a year ago, and we're excited to share we've added new functionality to support additional use cases beyond private lists of products. Adding new endpoints and a new AccessLevel property allows greater flexibility in the implementation of ProductCollections in your marketplace.
Here are a few ideas of how you could use the expanded functionality:
Marketplace Owners and Suppliers can now view
ProductCollectionswith theProductCollectionReaderrole allowing insights into which products customers are saving to their collections.Allowing a customer to create a grocery list and invite someone in their household to view and administer it.
Encouraging customers to make
SharableHoliday Wish lists for family members.
New Property AccessLevel
PrivateDefault value
Product Collection owners can grant access to their
Privatecollections by creatingProductCollectionInvitationsto send to users within the same buyer organization.
PublicAllows any user, including anonymous (unregistered users), within the same buyer organization to access the
ProductCollectionviaGET v1/me/productcollections
ShareableAllows any user, including anonymous (unregistered users), within the same buyer organization to access the
ProductCollectionusing theIDviaGET v1/me/productcollections/{productCollectionID}
New role ProductCollectionReader
Marketplace Owner with this role can view
ProductCollectionsbelonging to any buyer user in their marketplace.Supplier with this role can view any
ProductCollectionsbelonging to a buyer they are authorized to sell to. They will only be able to seeProductCollectionEntriesfor products they own or are authorized to sell.Buyer user with this role can view
ProductCollectionsbelonging to any other user within the same buyer organization. They will only be able to seeProductCollectionEntriesfor products they have visibility to.
Associated Endpoints
If a user has the ProductCollectionReader role, they will be able to view ProductCollections regardless of AccessLevel, within the limitations mentioned above.
GET v1/buyers/{buyerID}/productcollectionsGET v1/buyers/{buyerID}/productcollections/{productCollectionID}GET v1/buyers/{buyerID}/productcollections/{productCollectionID}/products
New Resource ProductCollectionInvitation
A ProductCollection owner can grant access to their Private collections by creating a ProductCollectionInvitation to send to a user within the same buyer organization.
1"ProductCollectionInvitation": {2 "ID": "",3 "Name": "",4 "Admin": false,5 "Accepted": false,6 "ExpirationDate": "" ,7 "xp": {}8}
ID is not writable, it will be a generated ID that must be used to accept or decline the invitation
ExpirationDatefor an invitation defaults to 30 days and cannot be greater than 365 days from the creation date.When true,
Adminwill allow the invitee to add and remove product collection entries once they have accepted the invitation, in addition to viewing theProductCollectionand it's entries.ProductCollectionInvitationxpcan be used to store information about the user they wish to invite (name, email address, etc.), for display purposes but OrderCloud does not validate that information. Once any registered user is provided the invitation ID, they will be able to accept or decline. You can use pre-webhooks to validate information prior to acceptance if desired.
Associated Endpoints
Only require the Shopper role.
POST v1/me/productcollections/{productCollectionID}/invitationsEach individual needing access will require their own Invitation, once an Invitation is accepted or declined, it cannot be accepted by another user.
DELETE v1/me/productcollections/{productCollectionID}/invitations/{invitationID}Deleting an accepted invitation will revoke access
Deleting a pending invitation will prevent someone from accepting or declining an invitation
GET v1/me/productcollections/{productCollectionID}/invitationsPOST v1/me/productcollections/{productCollectionID}/invitations/accept/{invitationID}Limited to registered users within the same buyer organization
POST v1/me/productcollections/{productCollectionID}/invitations/decline/{invitationID}Limited to registered users within the same buyer organization
New MessageSenders
ProductCollectionInvitationAcceptedandProductCollectionInvitationDeclinedsent to the owner of the
ProductCollectionwhen someone accepts or declines an invitation
We do not provide a message sender for new invitations as OrderCloud does not collect or validate information about who an invitation is for. You can use webhooks to setup your own custom emails to notify a user of a
ProductCollectioninvitation if desired.
Still have questions?
Ask in our Community Channel