Clepti API For Vendors
This guide provides a quick overview of the Clepti REST API endpoints with example usage in multiple languages.
1. Overview
Base URL: https://clepti.com/wp-json/
Authentication: HTTP Basic Auth
Authorization: Basic BASE64(vendor_username:vendor_password)
2. Endpoints
Method | Route | Description |
---|---|---|
GET | /dokan/v1/orders | List all orders for the vendor |
GET | /dokan/v1/orders/{order_id} | Get details of a single order |
GET | /dokan/v1/stores/{vendor_id} | Retrieve vendor store details |
GET | /dokan/v1/stores/{vendor_id}/products | List vendor's products |
POST | /dokan/v1/products | Create a new product |
GET | /wc/v1/subscriptions | List all subscriptions |
GET | /wc/v1/subscriptions/{subscription_id} | Get subscription details |
3. Shell / cURL
# List all orders
curl -u vendor_user:vendor_pass \
https://clepti.com/wp-json/dokan/v1/orders \
-H 'Content-Type: application/json'
# Get single order
curl -u vendor_user:vendor_pass \
https://clepti.com/wp-json/dokan/v1/orders/848
# List subscriptions
curl -u vendor_user:vendor_pass \
https://clepti.com/wp-json/wc/v1/subscriptions
# Get single subscription
curl -u vendor_user:vendor_pass \
https://clepti.com/wp-json/wc/v1/subscriptions/1234
4. PHP (WordPress HTTP API)
<?php
$user = 'vendor_user';
$pass = 'vendor_pass';
function api_get( $path ) {
global $user, $pass;
$url = "https://clepti.com/wp-json/{$path}";
$response = wp_remote_get( $url, [
'headers' => [
'Authorization' => 'Basic ' . base64_encode("$user:$pass"),
'Content-Type' => 'application/json',
],
] );
if ( is_wp_error( $response ) ) {
return $response;
}
return json_decode( wp_remote_retrieve_body( $response ), true );
}
// Examples:
$orders = api_get( 'dokan/v1/orders' );
$order_848 = api_get( 'dokan/v1/orders/848' );
$subscriptions = api_get( 'wc/v1/subscriptions' );
?>
5. JavaScript
5.1 Fetch (Browser)
const auth = 'Basic ' + btoa('vendor_user:vendor_pass');
async function getData(path) {
const res = await fetch(`https://clepti.com/wp-json/${path}`, {
headers: {
'Authorization': auth,
'Content-Type': 'application/json'
}
});
return res.json();
}
// Calls:
getData('dokan/v1/orders').then(console.log);
getData('wc/v1/subscriptions?status=active').then(console.log);
5.2 Axios (Node.js)
const axios = require('axios');
async function getData(path) {
const res = await axios.get(`https://clepti.com/wp-json/${path}`, {
auth: { username: 'vendor_user', password: 'vendor_pass' }
});
return res.data;
}
// Calls:
getData('dokan/v1/orders').then(console.log);
getData('wc/v1/subscriptions/1234').then(console.log);
6. Python (requests)
import requests
from requests.auth import HTTPBasicAuth
BASE = 'https://clepti.com/wp-json'
def get_data(path):
url = f"{BASE}/{path}"
resp = requests.get(url, auth=HTTPBasicAuth('vendor_user','vendor_pass'))
resp.raise_for_status()
return resp.json()
# Examples:
orders = get_data('dokan/v1/orders')
order_848 = get_data('dokan/v1/orders/848')
subs = get_data('wc/v1/subscriptions')
7. Ruby (Net::HTTP)
require 'net/http'
require 'json'
require 'uri'
BASE = URI('https://clepti.com/wp-json')
def get_data(path)
uri = BASE + "/#{path}"
req = Net::HTTP::Get.new(uri)
req.basic_auth 'vendor_user', 'vendor_pass'
req['Content-Type'] = 'application/json'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(req)
end
JSON.parse(res.body)
end
# Calls:
orders = get_data('dokan/v1/orders')
subs = get_data('wc/v1/subscriptions?status=active')
8. Java (HttpClient)
import java.net.URI;
import java.net.http.*;
import java.util.Base64;
public class ApiClient {
private static final String BASE = "https://clepti.com/wp-json/";
private static HttpRequest buildRequest(String path) {
String auth = Base64.getEncoder()
.encodeToString("vendor_user:vendor_pass".getBytes());
return HttpRequest.newBuilder()
.uri(URI.create(BASE + path))
.header("Authorization", "Basic " + auth)
.header("Content-Type", "application/json")
.GET()
.build();
}
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpResponse res1 = client.send(
buildRequest("dokan/v1/orders"), HttpResponse.BodyHandlers.ofString()
);
System.out.println(res1.body());
HttpResponse res2 = client.send(
buildRequest("wc/v1/subscriptions"), HttpResponse.BodyHandlers.ofString()
);
System.out.println(res2.body());
}
}