apI
  1. Emole Developer FrontEnd APi EndPoints
apI
  • Emole Developer FrontEnd APi EndPoints
    • Authintication
    • Api Flow Chart
    • Public Back In Stock Subscription
      • Subscribe to back in stock product
      • Get customer back in stock subscriptions
      • Opt out from back in stock subscriptions
      • Prepare back in stock subscription model
    • Public Blog
      • Get all blog posts
      • Get all blog post tags
      • Get all blog post months
      • Get blog post
      • Add comment to a blog post
    • Public Category
      • Get categories to be displayed on home page
      • Get main top menu
      • Get specific category
      • Get category products
      • Get all root categories
      • Get all sub categories of the specified category
    • Public Checkout
      • Get order summary
      • Get all billing addresses
      • Select billing address
      • Add a new billing address
      • Get all pickup points
      • Get all shipping addresses
      • Select shipping address
      • Add a new shipping address
      • Get all shipping methods
      • Select shipping method
      • Get all payment methods
      • Select payment method
      • Prepare payment info model
      • Validate the payment info
      • Prepare confirm order model
      • Confirm and pay the order
      • Get completed order info
    • Public Common
      • Get all states of specific country
      • Get all languages
      • Set working language
      • Get all currencies
      • Set working currency
      • Get all tax types
      • Set tax display type
      • Find entity
    • Public Customer
      • Impersonate a customer
      • Get guest token to continue as a guest
      • Prepare login model
      • Login
      • Logout
      • Refresh access token on expiration
      • Prepare password recovery model
      • Submit password recovery request
      • Prepare the customer registration model
      • Submit the customer register request
      • Check username availability
      • Prepare customer navigation model
      • Get the customer info
      • Update the customer info
      • Delete the external authentication record
      • Get customer addresses
      • Delete the customer address
      • Prepare the add new customer address model
      • Add a new customer address
      • Get specific customer address
      • Update the customer address
      • Get the customer downloadable products
      • Get user agreement
      • Prepare change password model
      • Submit the change password request
      • Get customer avatar
      • Upload customer avatar
      • Remove customer avatar
      • Prepare GDPR tools model
      • Export customer GDPR info
      • Delete request of GDPR info
      • Prepare check gift card balance model
      • Check gift card balance
    • Public Download
      • Download product sample
      • Download the downloadable product
      • Download the order license
      • Download the file upload file
      • Download the order note file
    • Public Forum
      • Get all forums
      • Get all active discussions
      • Get active discussions in small for forum's index page
      • Get specific forum group
      • Get specific forum
      • Watch/Unwatch forum
      • Get specific forum topic
      • Watch/Unwatch forum topic
      • Prepare the move topic model
      • Move topic to another forum
      • Delete topic
      • Prepare create topic model
      • Create a new forum topic
      • Prepare edit topic model
      • Update the forum topic
      • Delete the post
      • Prepare create post model
      • Create a new forum topic post
      • Prepare edit post model
      • Update the post
      • Vote the post
      • Get last/latest post
      • Search into forum
      • Get customer forum subscriptions
      • Delete customer forum subscriptions
      • Prepare customer profile model
    • Public General
      • Get Topic
        • Get the specific topic(page) by topic identifier
        • Get the specific topic(page) by system name
      • Ping to check the api server status
      • Get all locale string resources
      • Get all settings of current store
      • Get header links info
      • Get footer info
      • Get polls to be displayed on home page
      • Vote a poll
      • Get all topics
      • Authenticate the topic(page)
      • Get nivo slider images(plugin)
      • Prepare the contact us model
      • Submit the contact us request
      • Prepare the contact vendor model
      • Submit the contact vendor request
      • Prepare newsletter box model
      • Subscribe to the news letters
    • Public Manufacturer
      • Prepare the manufacturer model
      • Get all manufacturers
      • Get manufacturer products
    • Public News
      • Get news to be displayed on home page
      • Get all news of the current store
      • Get specific news item
      • Add a new news item comment
    • Public Order
      • Get customer orders
      • Cancel recurring payment
      • Retry last recurring payment
      • Get customer reward points
      • Get specific order details
      • Get order invoice in pdf format
      • Re-order
      • Retry payment (Only redirection payment method type supported by nopCommerce)
      • Get specific shipment details
    • Public Private Messages
      • Get specific private message
      • Get all inbox messages
      • Get all sent messages
      • Delete inbox messages (selected)
      • Mark messages as unread (selected)
      • Delete sent messages (selected)
      • Prepare send message model
      • Send private message
      • Delete a private message
    • Public Product
      • Get products to be displayed on home page
      • Get best selling products
      • Get a product details
      • Change and apply product attributes
      • Estimate shipping
      • Get product combinations
      • Get marked as new products
      • Get product reviews
      • Add a new product review
      • Set product review helpfulness
      • Get customer product reviews
      • Prepare product email a friend model
      • Email the product to a friend
      • Get popular product tags
      • Get products by tag
      • Get related products
      • Get cross sell products
      • Get also purchased products
    • Public Return Request
      • Get customer return requests
      • Prepare return request model
      • Submit a return request
      • Upload a return request file
    • Public Search
      • Get search term auto complete response
      • Prepare search model
      • Search products
    • Public Shopping Cart
      • Get selected checkout attributes
      • Change and apply checkout attributes
      • Upload product attribute file
      • Upload checkout attribute file
      • Get customer cart
      • Delete cart items
      • Update quantities of the cart items
      • Add product to the cart
      • Apply discount coupon
      • Apply gift card coupon
      • Prepare estimate shipping model
      • Estimate shipping
      • Select shipping option
      • Remove discount coupon
      • Remove gift card coupon
      • Get order totals
      • Start checkout (to validate cart and go on checkout page)
      • Get customer wish list
      • Add product to wish list
      • Delete wish list items
      • Update quantities of wish list items
      • Move wish list items to cart
      • Prepare email wish list model
      • Send wish list link on email
    • Public Vendor
      • Prepare vendor model
      • Get vendor products
      • Get all vendors
      • Prepare apply for vendor model
      • Submit apply for vendor request
      • Prepare vendor info model
      • Update vendor info
      • Remove vendor picture
  • Emole Developer BackEnd Api
    • categories
      • {id}
        • Get Category By Id
        • Update Category
        • Delete Category
      • Get Categories
      • Create Category
      • Get Categories Count
    • customers
      • {id}
        • Get Customer By Id
        • Update Customer
        • Delete Customer
      • {customer Id}
        • Set Billing Address
        • Set Shipping Address
      • Get Customers
      • Create Customer
      • Get Current Customer
      • Get Customers Count
      • Search Customers
    • languages
      • current
        • Get Current Language
        • Set Current Language
      • Get All Languages
    • manufacturers
      • {id}
        • Get Manufacturer By Id
        • Update Manufacturer
        • Delete Manufacturer
      • Get Manufacturers
      • Create Manufacturer
      • Get Manufacturers Count
    • news letter subscriptions
      • Get News Letter Subscriptions
      • Deactivate News Letter Subscription
    • orders
      • {order Id}
        • items
          • {order Item Id}
            • Get Order Item By Id For Order
            • Update Order Item
            • Delete Order Item By Id
          • Get Order Items
          • Create Order Item
          • Delete All Order Items For Order
          • Get Order Items Count
        • Get Pdf Invoice
      • {id}
        • Get Order By Id
        • Update Order
        • Delete Order
      • Get Orders
      • Create Order
      • Get Orders Count
      • Get Orders By Customer Id
    • productattributes
      • {id}
        • Get Product Attribute By Id
        • Update Product Attribute
        • Delete Product Attribute
      • Get Product Attributes
      • Create Product Attribute
      • Get Product Attributes Count
    • product category mappings
      • {id}
        • Get Product Category Mapping By Id
        • Update Product Category Mapping
        • Delete Product Category Mapping
      • Get Product Category Mappings
      • Create Product Category Mapping
      • Get Product Category Mappings Count
    • product manufacturer mappings
      • {id}
        • Get Product Manufacturer Mapping By Id
        • Update Product Manufacturer Mapping
        • Delete Product Manufacturer Mapping
      • Get Product Manufacturer Mappings
      • Create Product Manufacturer Mapping
      • Get Product Manufacturer Mappings Count
    • products
      • {id}
        • Get Product By Id
        • Update Product
        • Delete Product
      • Get Products
      • Create Product
      • Get Products Count
    • productspecificationattributes
      • {id}
        • Get Product Specification Attribute By Id
        • Update Product Specification Attribute
        • Delete Product Specification Attribute
      • Get Product Specification Attributes
      • Create Product Specification Attribute
      • Get Product Specification Attributes Count
    • shopping cart items
      • {id}
        • Update Shopping Cart Item
        • Delete Shopping Cart Item
      • Get Shopping Cart Items
      • Create Shopping Cart Item
      • Delete Shopping Cart Items
      • Get Current Shopping Cart
      • Batch Create Shopping Cart Items
    • specificationattributes
      • {id}
        • Get Specification Attribute By Id
        • Update Specification Attribute
        • Delete Specification Attribute
      • Get Specification Attributes
      • Create Specification Attribute
      • Get Specification Attributes Count
    • topics
      • {id}
        • Get Topic By Id
        • Update Topic
        • Delete Topic
      • Get Topics
      • Create Topic
    • token
      • Request Token
      • Validate Token
    • Get Countries
      GET
    • Get All Customer Roles
      GET
    • Get Current Store
      GET
    • Get All Stores
      GET
  1. Emole Developer FrontEnd APi EndPoints

Authintication

Authentication
You must know before using Emole Developer FrontEnd Api Endpoints that you need Two parameters sent it in header Section The Store APi Key and JWT Access Token,You Request Api Key From Emole Services Team Because You Can Show Any Store Data until The Vendor or Store owner Request it . **So After Store owner Bought your appliction mobile From Service Store Or Store owner send email To Service Team Email To request FrontEnd Api Premission our team Will Create Store Api Application And Send the api key and Access token **.

NOTE

The application API key must be stored on the client end because it needs to be sent in header of each request.Please save this key with you because you will need it while making further requests

CAUTION

You need a JWT access token to create request on all available public API methods except below mentioned methods:

/api/PublicGeneral/GetLocaleStringResources
/api/PublicGeneral/GetSettings
/api/PublicCustomer/GetGuestToken

For above mentioned methods you just need the application API key

Create a guest customer

To create a JWT access token, the first step is to create a request on /api/PublicCustomer/GetGuestToken method with the application API key in X-API-KEY header. On success, you will get an AccessToken in the response.

NOTE

You need to save this access token to further authorize a customer login and you can also continue to use guest customer access token to create requests on the other public methods unless disabled by the Emole Team.


In response to this method, you also get the RefreshToken and RefreshTokenExpiration which must be saved somewhere in order to request a new access token when the access token is expired.

var client = new RestClient("https://Test.com/api/PublicCustomer/GetGuestToken");
var request = new RestRequest(Method.GET);
request.AddHeader("X-API-KEY", "<API Key>");
var response = client.Execute(request);

INFO

The Response Will Contain Four items:
Customerid,AccessToken,RefreshToken,RefreshTokenExpiration

{
 "CustomerId": -52828876,
 "AccessToken": "occaecat est qui",
 "RefreshToken": "Ut",
 "RefreshTokenExpiration": "1957-07-09T07:32:43.022Z"
}

Login / Authentication
To login / authenticate a Store customer, you need to create a request on /api/PublicCustomer/Login method with the application API key in "X-API-KEY" header, guest access token in "Authorization", "Bearer " header. Along with request headers, you need to send the "Password" and the "UsernameOrEmail" as JSON string in the request body.

NOTE

On success, you will get the "CustomerId", a new "AccessToken", a new "RefreshToken" and a new "RefreshTokenExpiration" in the response which you need to save on your end to authenticate further requests on the server.

 var client = new RestClient("https://test.com/api/PublicCustomer/Login");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("X-API-KEY", "<API Key>");
request.AddHeader("Authorization", "Bearer <Access Token>");
var body = @"{" + "\n" +
@"    ""Password"": ""mollit proident in veniam minim""," + "\n" +
@"    ""UsernameOrEmail"": ""velit nulla cupidatat elit""" + "\n" +
@"}";
request.AddParameter("text/plain", body,  ParameterType.RequestBody);
var response = client.Execute(request);
Console.WriteLine(response.Content);

INFO

The Response will contain Five items:IsImpersonationAllowed,CustomerId,AccessToken,RefreshToken,RefreshTokenExpiration

    {
 "IsImpersonationAllowed": true,
 "CustomerId": -65178875,
 "AccessToken": "laborum",
 "RefreshToken": "ut",
 "RefreshTokenExpiration": "2018-11-13T03:06:10.020Z"
}

NOTE

You must differentiate between Quest Access token and Customer Access Token
The Quest Access Token It was done to calculate the number of visitors in the store Also To Handle Quest events Like add Product To card and payment event And So On.

Next
Api Flow Chart