Если у вас клиент это продавец. То:
GET /api/v1/{userId}/products
GET /api/v1/{userId}/product/{id}
POST /api/v1/{userId}/product
PATCH /api/v1/{userId)/product/{id}
DELETE /api/v1/{userId}/product/{id}
Если покупатель, то вам по-хорошему добавить сущность cart.
GET /api/v1/cart
POST /api/v1/cart/item
PATCH /api/v1/cart/item/{id}
DELETE /api/v1/cart/item/{id}
Тут если запросы приходят от пользователя, его id не нужен.
Заказы:
GET /api/v1/{userId}/orders
GET /api/v1/{userId}/order/{id}
POST /api/v1/{userId}/order
PATCH /api/v1/{userId)/order/{id}
DELETE /api/v1/{userId}/order/{id}
Разруливать эндпоинты через action плохая идея.