wp_json_api 4.1.0 copy "wp_json_api: ^4.1.0" to clipboard
wp_json_api: ^4.1.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.

example/main.dart

import 'package:flutter/material.dart';
import 'package:wp_json_api/enums/wp_auth_type.dart';
import 'package:wp_json_api/models/responses/wp_user_info_response.dart';
import 'package:wp_json_api/models/responses/wp_user_login_response.dart';
import 'package:wp_json_api/wp_json_api.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'WooSignal Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'WooSignal Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  TextEditingController _tfEmailController = TextEditingController();
  TextEditingController _tfPasswordController = TextEditingController();

  @override
  void initState() {
    super.initState();

    // INSTALL THE WP JSON API PLUGIN
    // FIRST ON YOUR WORDPRESS STORE
    // LINK https://woosignal.com/plugins/wordpress/wp-json-api

    WPJsonAPI.instance.init(baseUrl: "http://mysite.com");
  }

  _login() async {
    String email = _tfEmailController.text;
    String password = _tfPasswordController.text;

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

    if (wpUserLoginResponse == null) {
      print("invalid login details");
      return;
    }

    print(wpUserLoginResponse.data?.userToken);
    print(wpUserLoginResponse.data?.userId);

    // GET USER INFO
    WPUserInfoResponse? wpUserInfoResponse =
        await WPJsonAPI.instance.api((request) => request.wpGetUserInfo());

    if (wpUserInfoResponse != null) {
      print(wpUserInfoResponse.data?.firstName);
      print(wpUserInfoResponse.data?.lastName);
    } else {
      print("something went wrong");
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            TextField(
              controller: _tfEmailController,
              keyboardType: TextInputType.emailAddress,
            ),
            TextField(
              controller: _tfPasswordController,
              keyboardType: TextInputType.text,
              obscureText: true,
            ),
            MaterialButton(
              child: Text("Login"),
              onPressed: _login,
            )
          ],
        ),
      ),
    );
  }
}
41
likes
130
points
920
downloads
screenshot

Publisher

verified publisherwoosignal.com

Weekly Downloads

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
API reference

License

BSD-2-Clause (license)

Dependencies

collection, dio, flutter, nylo_support

More

Packages that depend on wp_json_api