Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Purpose

The purpose of this document is to list the high-level API endpoints required for headless commerce(B2C). This will helps in finalizing API design.

API Endpoints

Authentication

GET /getGuestToken
Sr No.API EndpointDescriptionTasksStatusPhase
1POST /guest-tokenThis API will return a token for a guest account.
PlanningI
2POST /getCustomerTokencustomer-tokenThis API will return a token for the registered user.
PlanningI
3POST /refreshTokenrefresh-tokenIn case we need to update the token. As JWT token ideally contains a certain expiry time. So if the user is active then instead of getting him to log out, this API can generate a new token from the existing token.
PlanningI


Customer

Sr No.API EndpointDescriptionTasks/PRsStatusPhase
1POST /customersTo register the customer.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
2GET /customers/{customerPartyId}To get the customer's personal information, addresses, emails, phones, etc.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
3PUT /customers/{customerPartyId}To update the customer's personal information.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
4POST /customers/reset-passwordTo get the reset password link on the registered email.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
5POST /customers/{customerPartyId}/change-passwordTo change the password.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
6GET /customers/{customerPartyId}/shipping-addressesTo get the customer's shipping addresseshttps://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
7POST /customers/{customerPartyId}/shipping-addressesTo create the shipping address.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
8PUT /customers/{customerPartyId}/shipping-addresses/{contactMechId}To update the shipping address.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
9DELETE /customers/{customerPartyId}/shipping-addresses/{contactMechId}To delete/expire the shipping address.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
10POST /customers/{customerPartyId}/payment-methodsTo save a payment method e.g. credit card, gift card, eft accounthttps://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
11GET /customers/{customerPartyId}/payment-methodsTo get the user's payment methods eg. saved credit cards, gift cards, eft accountshttps://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
12PUT /customers/{customerPartyId}/payment-methods/{paymentMethodId}To update the payment method detail.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
13DELETE /customers/{customerPartyId}/payment-methods/{paymentMethodId}To remove a saved credit card, gift card, eft account.https://github.com/apache/ofbiz-plugins/pull/45In Code ReviewI
14GET /customers/{customerPartyId}/order-historyTo fetch all the orders of a customer.
In ProgressI


Catalog

Sr No.API EndpointDescriptionTasksStatusPhase
1GET /categoriesTo get the category hierarchy.
PlanningI
2GET /categories/{categoryId}This will fetch all the products of a category.
PlanningI
3GET /productsThis API will have support for the search string and other additional filters. This API will also bring the products of a selected category if provided.
PlanningI
4GET /products/{productId}To get the product detail.
PlanningI
5POST /products/{productId}/reviewsTo add a review of a product.
PlanningI
6GET /offersTo list the special offers.
PlanningI


Wishlist

Sr No.API EndpointDescriptionTasksStatusPhase
1POST /customers/{customerPartyId}/wishlistTo Create a wishlist.
Planning
1PUT /customers/{customerPartyId}/wishlist/{wishlistId}To add a product to the wishlist.
PlanningI
2DELETE /customers/{customerPartyId}/wishlist/{wishlistId}/{productId}To remove a product from the wishlist.
PlanningI
3GET /customers/{customerPartyId}/wishlist/{wishlistId}To get the wishlist.
PlanningI


Checkout

/createCustomer
Sr No.API EndpointDescriptionTasksStatusPhase
1POST /ordersTo Create an order with all the necessary detail (items, shipping address, payment information, etc.)
PlanningI
2PATCH /orders/{orderId}/statuses/CANCELTo cancel an order.
PlanningI
3PATCH /orders/{orderId}/items/statuses/CANCELTo Cancel order items.
PlanningI2POST /getPasswordHint3POST /resetPassword4POST /changePassword5GET /getCustomerProfile6POST /updatePersonalInformaion7POST /createPostalAddress8POST /updatePostalAddress9POST /removePostalAddress10POST /setDefaultAddress11POST /createTelecomNumber12POST /updateTelecomNumber13POST /removeTelecomNumber14POST /createEmailAddress15POST /updateEmailAddress16POST /removeEmailAddress17POST /createContactInformation18POST /updateContactInformation19POST /removeContactInformation20POST /sendEmail21POST /createCreditCard22POST /updateCreditCard23POST /removeCreditCard24POST /createGiftCard25POST /updateGiftCard26POST /removeGiftCard27POST /createEftAccount28POST /updateEftAccount29POST /removeEftAccount30POST /setDefaultPaymentMethod31POST /setDefaultShipmentMethod32POST /subscribeContactList33POST /unsubscribeContactList