PromoAPIs: the way a REST API should be
PromoAPIs (opens in a new tab) is a dream. The best API for Promotional Industry based on PromoStandards but it will overcome most of their limitations.
It will be using REST & JSON to start but it will combine services & methods in order to be a real RESTful interface.
GraphQL will be also provided.
Overall ideas
- It will use PSRESTful (opens in a new tab) to populate all data to our service DB(making our API faster than the suppliers which usually are slow)
- Products API combine several suppliers + will also allows search, filter, sort by the most important parameters
Endpoints examples
- /products?sellable=true&closeout=false&modified_at__gte=2021-09-14T00:00:00&lead_time__lte=10&isOnDemand=Tue&export=True&search=t-shirt
- /products/[product-id]/medias
- /products/[product-id]/inventory?part_id=
- /products/[product-id]/available-charges
- /products/[product-id]/available-locations
- /products/[product-id]/decoration-colors
- /products/[product-id]/configurations/
- /products/[product-id]/princings/
- /orders/ (both Purchase Order and Order Status Detail)
- /invoices/?voided=false&modified_at__gte=2021-09-14T00:00:00 (Combining the two methods of
Invoice
service)
Global Endpoints
- /colors?supplier=HIT
- /locations?supplier=HIT
- /imprint-methods?supplier=HIT
- /categories/?supplier=HIT
- /brands/?supplier=HIT
- /fob-points/?supplier=HIT
- /charges/?supplier=HIT
List of Features
- Be real restful instead of using the same names as PromoStandards
- Caching of Product Data/Media Content, PPC, Inventory
- Simpler Purchase Order API(generate good promo REST Payload based on simpler input)
- Allow endpoints filtered by supplier for (available imprint methods, available locations, available decorations, fob points, charges, all categories)
- Allow subscriptions to webhooks for:
- Product Data(Instead of
getProductDateModified
) - Media Content(Instead of
getMediaDateModified
) - Order Status(instead of pulling using
getOrderStatus
) - OSN changes(instead of pulling using
getOrderShipmentNotification
)
- Product Data(Instead of
- Data Explorer similar to PSRESTful
- Pricing Calculator similar to PSRESTful
- Allow entering PO Numbers in the system(without really using PO service) so the client can keep track of order status from different suppliers in the same dashboard
- Allow to create PO based on the information we have + manual data entry, the PO stays there
- If using PO creation be able to see Order Status and OSN too
- Add Semantic search
- Add Recomendation system
- Enhance the data by:
- Adding Spanish product names, descriptions, keywords & marketing points
- Improve Media classification using PSMEDx (opens in a new tab)