wp_json_api 3.2.0 copy "wp_json_api: ^3.2.0" to clipboard
wp_json_api: ^3.2.0 copied to clipboard

WordPress and WooCommerce JSON API for Flutter Mobile. API allows you to login, register new users, get users info and more.

WordPress and WooCommerce JSON API Dart package for Flutter #

Official WooSignal package

API features: #

WordPress

  • Register/Sign Up API for Users
  • Login (with email or username)
  • Get Users Info
  • Update Users Info
  • Update Users Password
  • Add role to a user
  • Remove role from a user
  • Delete a user

WooCommerce

  • Get Customers Info (Billing and Shipping)
  • Update Customers details

To use this API you must have the WP JSON API Plugin installed first on your WordPress site, you can download it via the WooSignal website.

Getting Started #

In your flutter project add the dependency:

dependencies:
  ...
  wp_json_api: ^3.2.0

Usage example #

Import wp_json_api.dart

import 'package:wp_json_api/wp_json_api.dart';

Example using Wp JSON API #

import 'package:wp_json_api/wp_json_api.dart';
...

void main() {

WPJsonAPI.instance.initWith(baseUrl: "https://mysite.com");

...

Call a method from the request callback #

try {
WPUserLoginResponse wpUserLoginResponse = await WPJsonAPI.instance
          .api((request) => request.wpLogin(
            email: email,
            password: password
          ));
} on Exception catch (e) {
    print(e);
}

Available API Requests #

WordPress - Get Nonce

  • Used for returning a valid nonce
WPNonceResponse wpNonceResponse = await WPJsonAPI.instance
          .api((request) => request.wpNonce());

WordPress - Verify Nonce

  • Used for verifying register and login request
WPNonceVerifiedResponse wpNonceVerifiedResponse = await WPJsonAPI.instance
          .api((request) => request.wpNonceVerify(
            nonce: nonce
          ));

WordPress - Login with email

  • Used to login a user
WPUserLoginResponse wpUserLoginResponse = await WPJsonAPI.instance
      .api((request) => request.wpLogin(
          email: email,
          password: password,
          authType: WPAuthType.WpEmail
      ));

WordPress - Login with username

  • Used to login a user
WPUserLoginResponse wpUserLoginResponse = await WPJsonAPI.instance
      .api((request) => request.wpLogin(
          username: username,
          password: password,
          authType: WPAuthType.WpUsername
      ));

WordPress - Register

  • Used to register a user
  • The username parameter is required, ensure that this is unique
WPUserRegisterResponse wpUserRegisterResponse = await WPJsonAPI.instance
      .api((request) => request.wpRegister(
          email: email,
          password: password,
          username: username
      ));

WordPress - Get Users Info

  • Used to get a WordPress users info
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WPUserInfoResponse wpUserInfoResponse = await WPJsonAPI.instance
        .api((request) => request.wpGetUserInfo(
            userToken
          ));

WordPress - Update Users Info

  • Used to update a WordPress users info
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WPUserInfoUpdatedResponse wpUserInfoUpdatedResponse = await WPJsonAPI.instance
        .api((request) => request.wpUpdateUserInfo(
          userToken,
          firstName: firstName,
          lastName: lastName,
          displayName: displayName
      ));

WordPress - Update users password

  • Used to update a users password
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WPUserResetPasswordResponse wpUserResetPasswordResponse = await WPJsonAPI.instance
        .api((request) => request.wpResetPassword(
            userToken,
            password: password
        ));

WordPress - Add a role to a user

  • Used to add a role to a user in WordPress
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WPUserAddRoleResponse wpUserAddRoleResponse = await WPJsonAPI.instance
        .api((request) => request.wpUserAddRole(
            userToken,
            role: "customer" // e.g. customer, subscriber
        ));

WordPress - Remove a role from a user

  • Used to remove a role from a user in WordPress
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WPUserRemoveRoleResponse wpUserRemoveRoleResponse = await WPJsonAPI.instance
        .api((request) => request.wpUserRemoveRole(
            userToken,
            role: "customer" // e.g. customer, subscriber
        ));

WordPress - Delete a user

  • Used to delete a user in WordPress
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
  • You can pass an optional argument 'reassign' to reassign posts and links to new User ID.
WPUserDeleteResponse wpUserDeleteResponse = await WPJsonAPI.instance
        .api((request) => request.wpUserDelete(
            userToken
        ));

WooCommerce - Get users info in WooCommerce

  • Used to get WooCommerce info for a given user
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WCCustomerInfoResponse wcCustomerInfoResponse = await WPJsonAPI.instance
          .api((request) => request.wcCustomerInfo(
          userToken
      ));

WooCommerce - Update users info in WooCommerce

  • Used to update a users WooCommerce details
  • All the parameter are optional so if you wanted to just update the name, you could just add first_name and last_name
  • The first parameter is the userToken which is returned from the login/register response. You should have this saved somewhere e.g. shared_pref
WCCustomerUpdatedResponse wcCustomerUpdatedResponse = await WPJsonAPI.instance
        .api((request) => request.wcUpdateCustomerInfo(
            userToken,
            firstName: firstName,
            lastName: lastName,
            displayName: displayName,
            billingFirstName: billingFirstName,
            billingLastName: billingLastName,
            billingCompany: billingCompany,
            billingAddress1: billingAddress1,
            billingAddress2: billingAddress2,
            billingCity: billingCity,
            billingState: billingState,
            billingPostcode: billingPostcode,
            billingCountry: billingCountry,
            billingEmail: billingEmail,
            billingPhone: billingPhone,
            shippingFirstName: shippingFirstName,
            shippingLastName: shippingLastName,
            shippingCompany: shippingCompany,
            shippingAddress1: shippingAddress1,
            shippingAddress2: shippingAddress2,
            shippingCity: shippingCity,
            shippingState: shippingState,
            shippingPostcode: shippingPostcode,
            shippingCountry: shippingCountry,
            shippingEmail: shippingEmail,
            shippingPhone: shippingPhone
        ));

For help getting started with WooSignal, view our online documentation, which offers a more detailed guide.

Usage #

To use this plugin, add wp_json_api as a dependency in your pubspec.yaml file.

Note #

Install our WordPress plugin "WP JSON API" v3.2.0 to use this flutter plugin.

Disclaimer: This plugin is not affiliated with or supported by Automattic, Inc. All logos and trademarks are the property of their respective owners.

39
likes
0
pub points
86%
popularity

Publisher

verified publisherwoosignal.com

WordPress and WooCommerce JSON API for Flutter Mobile. API allows you to login, register new users, get users info and more.

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (LICENSE)

Dependencies

collection, flutter, http

More

Packages that depend on wp_json_api