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

MethodRouteDescription
GET/dokan/v1/ordersList 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}/productsList vendor's products
POST/dokan/v1/productsCreate a new product
GET/wc/v1/subscriptionsList 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());
    }
}