What we provide?

We provide a complete solution to give an access or share any content of your WordPress blog through an JSON/XML API,
with very high secure different levels and full control in every API service and every data element in the services.
Full integration with Advanced Custom Fields Free and Pro to build a very dynamic and custom APIs.
Monitor the size of API requests for each account by visual statistics and control in the allowed size of requests.
Plugin is ready for Web and Mobile development and Templates design.

Extra Help !

Our plugin can retrieve any data from WordPress and its plugins but this depending on your reading for plugin documentation and if you don’t know how we will help you for free over our support center http://smartiolabs.com/support

For example

You need to retrieve all posts for custom post type `product` user categories 1,4,6 and make a search in the post table columns besides the postmeta table columns and finally order your results with one of the post meta values.
Simply you can build easily build this query using the plug-in service `getposts` and the request will be something like that:

http://smartiolabs.com/demo/api/getposts/?categoryid=1,4,6&custom_post=product&custom_search_and={"comment_count":"between 1 and 100","post_title":"like 'test'","post_author":"='1'"}&custom_meta_and={"price":">=300","size":"in(1,3,5,8)"}&orderby=postmeta.price&order=desc

For who?

Normal User: Share your WordPress content with anybody.
Mobile developers: Easily access to API services for getting any data from WordPress, Plugin is ready for mobile development.
Web developers: Use API functions in your plugins development.
Templates designers: Use API functions inside your templates.

Additional Plans:

We also provide additional plans for developers and enterprises here

API Services

  • User operations:
  • Login
  • Singup
  • Social signup and login
  • Edit the user profile
  • Lost password
  • Change user password
  • Change user profile image
  • List of authors
  • Get full profile for author
  • List of posts published by an author
  • Get posts that user comment in it
  • Posts:
  • Publish new post
  • Update or edit a post
  • Upload media file
  • Get posts by category or custom taxonomy
  • Search in posts
  • Last posts in blog
  • Popular Posts in range days
  • Get posts by post format
  • View post by id
  • Archive
  • Get posts by archive time
  • Comments:
  • Get comments of a post
  • Comment in a post
  • Update or edit a comment
  • Last comments in the blog
  • View comment by ID
  • Pages:
  • Get list of pages
  • View a page by ID
  • Categories:
  • Get list of all categories
  • View a category by ID
  • Taxonomies:
  • Get a list of all custom taxonomies
  • View custom taxonomy object
  • Tags:
  • Get list of all tags
  • Get posts by tag
  • Services:
  • Display the list of network sites
  • Social accounts links and stats
  • Blog options and information
  • Contact WordPress administrator
  • Management Actions:
  • Change the post status
  • Change the comment status
  • Delete user permanently
  • Delete post permanently
  • Delete comment permanently
  • Custom Services & Options:
  • Call one of the custom services you made
  • Get a list of all custom options value
  • Push Notification:
  • Save new device token
  • Edit the device subscription in channels
  • Get a list of channels and whichever device subscribed
  • Get the list of all channels

Features

  • Outputs two different data types XML / JSON / JSONP
  • OAuth 2.0 Authentication
  • Full integration with Advanced Custom Fields Free and Pro to build a very dynamic and custom APIs
  • OAuth log-in page authentication to protect your content from stealing
  • Special permissions for every OAuth client ID
  • API usage limit for every OAuth access token
  • Complex authentication level for the premium content
  • Client management system for OAuth 2.0
  • Complete statistics for API usage
  • Support Geolocation services
  • API Full control : Enable/Disable every API service & every callback parameters
  • Determine the access level role for every API service
  • Build your own service that you make you to build a custom API service
  • Create custom options for end-user to make him customise the application
  • Support custom taxonomies, custom fields, custom post types and meta boxes
  • Many of dynamic options to you (developer) and to the end-user
  • Full integration with WordPress’s core
  • Integrates with some awesome plugins and there is a future plan to more other plugins
  • Special settings for the application allows the user full control over the many options
  • Full integration with WordPress options and settings
  • Support post formats in WordPress 3.8
  • All inputs are filtered and secured
  • Check required inputs for every method and show errors if missed any parameter
  • Tables and rows are fixed so no output tags will change and that’s mean no app crashes will happen
  • Option to use API with an authentication key
  • Full documentation embedded inside the plugin for developer use
  • Option to Enable or Disable developer mode

Push Notification System

Mobile push notification features require “Push Notification System” plugin .

API integrates with the following plugins:

Categories Images plugin
Advanced Custom Fields plugin
Stats module in Jetpack plugin
Social Count Plus plugin
Mobile Push Notification Messages plugin

Code Samples

OAuth Example

<?php
/*
Download source library from
http://smartiolabs.com/blog/wordpress-api-plugin-oauth-lib/
*/
require('OAuth.php');

const CLIENT_ID     = 'REPLACE_CLIENT_ID';
const CLIENT_SECRET = 'REPLACE_CLIENT_SECRET';

const REDIRECT_URI           = 'http://smartiolabs.com/demo/oauth/callback.php';
const AUTHORIZATION_ENDPOINT = 'http://smartiolabs.com/demo/api/authorize/';
const TOKEN_ENDPOINT         = 'http://smartiolabs.com/demo/api/access_token/';

$client = new OAuth2Client(CLIENT_ID, CLIENT_SECRET);
if (!isset($_GET['code'])){
    $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI);
    header('Location: ' . $auth_url);
}
else{
    $params = array('code' => $_GET['code'], 'redirect_uri' => REDIRECT_URI);
    $response = $client->getAccessToken(TOKEN_ENDPOINT,...