Miva

Tags:

Updated:

6 minute read

What is Miva?

Miva is an ecommerce platform which provides businesses with a flexible website, fully-customizable catalog and checkout system with control over the look, content, and functionality of their online store. Miva is invested in its core competency as an ecommerce platform provider, continuously developing solutions to modern merchants most pressing needs. Miva excels at supporting businesses whose complex product catalogs or specialized industry requirements have proved too challenging for other ecommerce platforms to handle.

How Miva Supports a Ecommerce System?

  • Interface provides web management for non-technical users.
  • Platform designed to enable B2B and DTC sales on a single website.
  • Extensive native functionality minimizes the need for third-party apps and plugins.
  • Unlimited product variations for high SKU count catalogs and dependent SKUs.
  • Managed ERP integrations with Miva Connect.
  • Back-office integrations through Miva’s JSON API.

How Miva Helps Merchants Create a Store That Sells More?

  • Built-in subscriptions and reordering for frictionless repeat purchasing.
  • Online sales quotes help sales teams automate their sales processes.
  • Custom product builders help customers bundle products into kits and custom orders.
  • Advanced shipping logic supports complex shipping and compliance requirements.
  • Smart pricing options for customer and rule-based pricing.

As APPSeCONNECT is a Business Process Automation tool, this will allow you to develop and configure seamless integration between business applications. Therefore, application configuration is a fundamental activity prior to the process of integration. If your chosen application is Miva, credentials need to be provided for validating the agent both in case of OP and Cloud. Here you will find the detailed description on how to configure the agaents for the application Miva, troubleshooting issues, action and its filters.

Pre-requisites for Miva Configuration

1) Create a developer account in Miva with necessary credentials. Everytime, you login to Miva, you need to pass the two-factor authentication.
2) Click here to know the authentication mechanism and different APIs of the application along with their structures.
3) You need to use the Endpoint URL as https://www.domain.com/mm5/json.mvc where the domain name will be the merchant admin name that has been mailed to you during the registration process.

How to generate the Access Token

1) Log in to your MIVA application with valid credentials. From dashboard, navigate to Settings -> User Management -> API Tokens. Click on Add API Token.
2)Provide a suitable name to your token and 0.0.0.0/0 in Allowed IP Address. In Allowed IP Address, you need to provide the IP addresses to which you want to provide the access. Specify 0.0.0.0/0 to provide access to any IP address.
3) The Endpoint URL and Acess Token will be already be provided in the specified fields. No changes need to be done in Signature and Timestamp fields.
miva_accesstoken

How to get the Store Code

1) Log in to your MIVA application with valid credentials. From dashboard, navigate to Settings -> Store Settings -> Store Details -> Store Code. miva_storecode

On-Premise Agent Configuration

Installation of On-Premise Agent

You need to install the agent on your local server. To Know about On-Premise Agent Configuration, Click here.

Configure the Miva Application in OP Agent

1) Create a processflow with monday as source or destination application, and deploy the processflow in On-Premise agent.
2) Open the agent and click the checkbox in Settings Panel.
3) Move into the App Configurational Panel of the agent and configure the details of the respective application.

Steps to Configure the credentials in OP Agent

1) Open the OP Agent by providing correct credentials.
2) In the App Configurations panel of the agent, click on the + button, beside the application miva. The credential panel opens for the application miva. miva_opagent1

3) Enter Endpoint Url, Access Token and Store Code at the required place. miva_opagent2

4) Click on the “Validate” button, to validate the connection. A message “Test Connection Successful” will appear if all the credentials provided by you for miva is valid. After providing all the credentials. Click “Save” button. A message “Connection Data Saved” will appear if all the credentials provided by you for miva is valid.

Following the above processes, you can configure the miva application in the OP agent.

Troubleshooting

ISSUE 1 : User Account should be created as Developer in Miva application.

You should create an account in miva application as developer user. After creating the account, you should create API Token correctly.

ISSUE 2 : Agent Validation failed due to improper credential provided in the agent

While validating the credentials in the agent, sometimes the validation fails due to improper Endpoint URL, Access Token and Store Code. Check the credentials once again and re-Validate the credentials.

Attributes and Actions

While defining a connection to an API in miva, you require clear understanding about the data requirements and endpoint configurations. You can refer to this document to find all the endpoint details of your miva application. To define the endpoint in APPSeCONNECT, you need to define Schemas and Actions. Actions are specifically targeted for an endpoint while schema is the data needed to execute the API. Here is the list of some of the pre-packaged API actions defined for you which you can easily plug and play while doing your integration.

You can refer to miva application to know the authuorization and APIs in details.

Endpoint Action Action Type Schema UI Help API Path
Customer CustomerList_Load_Query GET Customer This function allows you to load a list of customer records from Miva. Customer
Order OrderList_Load_Query GET Order This function is used to query one or more orders from Miva. Order
Customer Customer_Insert POST Customer This function allows you to insert a new customer. Customer
Product Product_Update PUT Product This function is used to update a product in Miva. The product you want to update can be specified using Product_ID, Product_Code, Edit_Product or Product_SKU. Product

Action Filter Implementation

Data is fetched from source application using APIs, and as you are aware of, API provides filters which will allow you to specify a subset of data from the whole bunch of data created in the server, the same can be specified through Actions and Action filters. The Action generally defines the endpoint of the application which is being fetched, while the filters define the search criteria of the data. You can add any parameters in the action filter to define the search criteria. The parameters are added in the body section of the action filter. We shall look into, how you can provide the action filter.

Let us consider that any user creates several orders in miva to maintain and visualize their information. The API structure of each such order looks like :

{
	"Store_Code": "beta",
	"Function": "OrderList_Load_Query",
	"Count": "0",
	"Offset": "0",
	"Filter": [
		{
			"name": "search",
			"value": [
				{
					"field": "ship_fname",
					"operator": "EQ",
					"value": "Brennan"
				}
			]
		},
		{
			"name": "ondemandcolumns",
			"value": [
				"payment_module",
				"cust_pw_email",
				"cust_login",
				"ship_method",
				"customer",
				"items",
				"charges",
				"coupons",
				"discounts",
				"payments",
				"payment_data",
				"notes",
				"CustomField_Values:customfields:*"
			]
		}
	],
	"Passphrase": "helloworldhelloworld@123"
}

You need to configure the action filter depending on the API structure of the endpoints. Click here to know the action filter of the respective endpoints. In the current scenerio, while you need to fetch order from miva application, use count to specify the number of orders to fectched. From the API structure, you could see all the conditions has been specified under Filter. Similarly, you should use Filter as the key and search as the key value in action filter as the parent conditon. Under this parent condition, use any field any from the API strcuture as the filtering the condition. Here, we have used orderdate as the key with an appropriate value in the value field. mivaactionfilter_1

Use Filter as the key and ondemandcolumns as the value to mention the fields that you want to fetch. Mention the fields as the child condition of ondemandcolumns. Specify value as the key and the fields(items,customer,payments) as the value. mivaactionfilter_2