Thank you

Thank you for purchasing this software. As I said at the beginning, I'd be glad to help you if you have any questions relating to this software. I'll do my best to assist. If you have a more general question relating to softwares on CodeCanyon, you might consider visiting the forums and asking your question in the "Item Discussion" section.

Installation

For the application to function correctly PHP version 5.6.4 or newer is required and a MySQL 5.2 or newer database. Browsers starting with IE9 and newer are supported.
After downloading all the files, copy and upload the "SellerKit" directory anywhere on your web server (for example to the root directory of your website). "SellerKit" folder contains all of the necessary files (configuration, scripts, data and resources).
Note that files/directories should be both readable and writable by PHP. to run installation wizard visit your installation directory , when application is accessed for the first time, you will be redirected to the installation wizard (or go directly to yourwebsite.com/install).
The application will check the php version , the mail() function , mod_rewrite , short tags , safe_mod , mbstring , curl and mysqli . please check these requirements before install .
If all requirements are available , you'll be able to continue installation . Now you should create your database using your favourite database administration tool ( phpMyAdmin ...)
If the database hostname isn't provided by your hosting , try localhost or request it from your hosting provider
Then click "continue" , after a successful connection to database you'll be able to insert your site settings (all fields are required) and enter your admin login informations .
After installation you'll be able to access your website and admin area !

Content Management

You can add , edit or delete content on your website in the admin panel .
To add content , select it from navigation menu , and click on the rounded right-top button .
To edit content click on the pencil icon .
To delete content click on the trash icon .
You can't add / delete some content like e-mail templates , but you can edit them .

Translation

SellerKit allow you to build your site in your language directly in your admin panel , and it comes with French language built-in .
To add your language simply click on add language in Language section , and fill required fields : language name & code ( e.g : en ) , then visit your site and select your language from the header , now click on your language name in the admin panel and insert translated words in the text field and click the little check mark .

Backup & restore

You can backup your site via the admin panel , click on the "export" link in the menu and choose what you want to backup ( Database or files ) , then the backup will be downloaded instantly .
To restore your files simply upload your backup and extract it in the application folder .
To restore your database go to your favourite database administration tool ( phpMyAdmin ...) , select your database and click import then select the downloaded sql file !

Customization

This app is highly customizable letting you build anything using our incredible easy to use page builder or our theme editor directly inside your admin panel .
To customize theme colors , change the homepage media file or add custom js and css go to the theme settings in the admin panel .

A large majority of users want custom menus , this why we created an easy to use drag and drop menu builder , to edit your menu click on the "Main menu" or "Footer menu" section in the admin panel menu , and create your menu items (link and url) , then you can use the drag and drop menu builder to re-order them .

Themes

Themes can provide much more control over the look and presentation of the material on your website, and you can edit your template by using the built-in template editor , or navigate to resources/views and choose a file to edit .

Builder

You can also use the drag-n-drop builder to edit your website components (called blocs) . Simply select the builder from the menu and select a page under the title , then add a block ( you can insert html code ) click add block and re-order it using the drag and drop functionality , then click save .
to add php code , use widgets that can be developed by following these 4 simple steps :


Functions

We have created the following functions to help you with your developement process and to avoid code repetition , The source code can be found in functions.php

mailing()

Send e-mails from your website with custom templates .
mailing($template,$array,$subject,$to)
$template : E-mail template.
$array : Variables for email template.
$subject : E-mail Subject.
$to : E-mail receiver.

path()

Generate url from id and string
path($str,$id = false)
$str : String.
$id : Item ID to be prepended.

image_order()

Get the first image (for products)
image_order($string, $order = 0)
$string : Product images.
$order : Image order.

string_cut()

Cutting strings with text append
string_cut($text, $length = 100,$end = '')
$text : Text to be cutted.
$length : Length of the output.
$end : Text to be appended.

getOS()

Get user operation system
getOS()

getBrowser()

Get user Browser
getBrowser()

getReferrer()

Get user Referrer
getReferrer()

getCountry()

Get user Country
getCountry()

timegap()

Get Time difference between current timestamp and the provided one
timegap($old,$level = 0)
$old : The compared time.
$level : Time level.

percentage()

Percentage change between two numbers
percentage($old, $new)
$old : The old figure.
$new : The new figure.

currency()

Add currency to a price
currency($price)
$price : price.

country()

Returns country name from an iso code
country($iso)
$iso : Country iso code.

status()

Order status from status ID
status($i)
$i : Satus ID.

translate()

Return translation of a word from database
translate($word)
$word : Word to be translated.

customer()

Get current customer data
customer($info)
$info : The information to be retrieved.

API Reference

SellerKit provide very powerful and organized API using HTTP response , allowing you to interact securely with your website API from a client-side web application .
Api response can be plain text or in JSON format .
All API requests can be made over HTTPS or HTTP.
Please change example.com to your website url

Register

Add a customer to your database


POST http://example.com/api/register
Parameters :


					{
						"error":  // Error message 
					}
					or
					{
						"success":  // Success message 
					}
				

Login

Get the token of the customer


POST http://example.com/api/login
Parameters :


					{
						"error":  // Error message 
					}
					or
					{
						"success":  // Success message 
						"sid":  // User token 
					}
				

account

Get user informations and orders


POST http://example.com/api/account
Parameters :


					{
					  "id":  // Customer ID 
					  "name":  // Customer Name 
					  "email":  // Customer Email 
					  "orders": {
						"1": {
						  "id":  // Order ID 
						   // Order fields like name and email 
						  "products": [
							{
							  "title":  // Product name 
							  "quantity":  // Product quantity 
							  "price":  // Product price 
							  "options": [
								{
								  "title":  // Option title 
								  "value":  // Option value 
								}
							  ]
							}
						  ],
						  "discount": {
							"discount":  // Discount amount 
							"type":  // % or $ 
						  },
						  "shipping":  // Shipping cost 
						  "total":  // Total amount 
						  "payment": {
							 // Payment details 
						  }
						}
					  }
					}
				

Products

Get products list based on multiple parameters .


GET http://example.com/api/products
Parameters :


					{
						"products": [
							{
							"id":  // Product ID  ,
							"images":  // Full product image path ,
							"title":  // Product name ,
							"text":  // truncated product description ,
							"path":  // Product URL ,
							"price":  // Product price 
							}
						]
					}
				

Posts

Get blog posts list based on multiple parameters .


GET http://example.com/api/posts
Parameters :


					{
					"posts": [
					{
					"id":  // Post ID  ,
					"image":  // Full post image path ,
					"title":  // Post title ,
					"content":  // truncated post content ,
					"path":  // Post URL ,
					"time":  // time difference (ago) 
					"timestamp":  // Post timestamp 
					}
					]
					}
				

Add to cart

Add product to user cart . Cart items are saved in cart cookie


GET http://example.com/api/add
Parameters :


					updated  // Product already added , quantity updated 
					success  // Product successfully added to cart 
					unavailable  // Quantity more than available stock 
				

Add to wishist

Add product to user wishlist . Cart items are saved in wishlist cookie


GET http://example.com/api/wish
Parameters :


					Added successfully  // Product added to the wishlist 
					Removed successfully  // Product removed from the wishlist 
				

Cart items

Get Cart items saved in cart cookie


GET http://example.com/api/cart


					{
					"count":  // Number of products ,
					"header":  // Cart header (html format) ,
					"products": [
				    {
					"id":  // Product ID ,
					"images":  // Image name in assets directory ,
					"title":  // Product name ,
					"price":  // Unit price ,
					"quantity":  // Quantity selected ,
					"options":  // Product options ,
					"total":  // Total price 
				    }
					],
					"coupon":  // Coupon apply form (html format)  
					}
				

Checkout

Returns form to be filled with user details to create the order


GET http://example.com/api/checkout


					{
					"0":  // A form components (html format) ,
					"1":  // Another form components (html format) ,
					...
					"header":  // Checkout header (html format)   
					}
				

Payment methods

Show available payment methods


POST http://example.com/api/payment
Parameters :


					{
					"header":  // Payment header (html format) ,
					"error":  // Will return true if there's an error ,
					"message":  // Type of error (html format) ,
					
					"0":  // A payment method (html format) ,
					"1":  // Another payment method (html format) ,
					}
				

Payment processing

Submits payment details to server to validate and mark order as paid !


GET http://example.com/api/pay
Parameters :


					errors :
					Invalid parameters  // Order or method not provided ,
					Invalid method  // Method dosen't exist ,
					Method inactive  // Method Is not active ,
					Invalid order  // Order dosen't exist ,
					success :
					"header":  // Checkout header (html format)   
					"0":  // Content (html format)   
				

Review

Submits product review to server


POST http://example.com/api/review
Parameters :


					errors :
					All fields are required
					success :
					success
				

Coupon

Check coupon validity and save it for checkout .


POST http://example.com/api/coupon
Parameters :


					errors :
					invalid
					success :
					success
				

Subscribe

Add email to newsletter subscribers .


POST http://example.com/api/subscribe
Parameters :


					errors :
					Already subscribed
					success :
					successfully subscribed
				

Orders

Get orders list.


GET http://example.com/api/orders
Parameters :


				{
					"orders": [
					{
					"id":  // Order ID  ,
					"field codes":  // field values ,
					...
					"products": {
					    0 : {
					        "id":  // Product id ,
					        "title":  // Product name ,
					        "price":  // Product price ,
					        "quantity":  // Product quantity ,
					        "total":  // Total price * quantity ,
					    },
					    ...
					}
					"coupon":  // Order coupon ,
					"total":  // Order total 
					}
					]
				}
				

Reviews

Get reviews list.


GET http://example.com/api/reviews
Parameters :


				{
					"reviews": [
					{
					"id":  // Review ID  ,
					"name":  // Reviewer name ,
					"email":  // Reviewer email ,
					"rating":  // Reviewer rating ,
					"review":  // Reviewer review ,
					"time":  // time difference (ago) ,
					"timestamp":  // Review timestamp ,
					}
					]
				}
				

For SellerKit 3.1 or older

The geolocation API we used in previous versions was apparently acquired/merged into another company, and it became a freemium product (you'll need to pay if the API hits reach 10,000), and they deprecated the old free API and broke all websites running SellerKit 3.1 or older unfortunately.
Update: in August we have introduced our own Geolocation API with a fallback feature to prevent future downtimes.

To fix this, you'll need to change the following function 
(in the "app/Functions.php" file):

...
function getCountry() {
	...
}
...

To:

...
function getCountry() {
	if (empty($_COOKIE['country'])) {
		$ch = curl_init('http://api.miniapps.design/?ip='.request()->ip().'&url='.env('APP_URL'));
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
		$json = '';
		if (($json = curl_exec($ch)) !== false) {
			if (!empty(json_decode($json,true)['country']['code'])){
				$country = json_decode($json,true)['country']['code'];
			} else {
				$country = 'US';
			}
			setcookie("country",$country,time()+2592000);
		} else {
			$country = 'US';
		}
		curl_close($ch);
	} else {
		$country = $_COOKIE['country'];
	}
	return $country;
}
...
                    

Licenses and Credits

We have used the following open-source softwares , images or other files as listed :