Coder Social home page Coder Social logo

amritms / waveapps-client-php Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 17 KB

A wrapper to use the WaveApps's graphql api in your laravel SaaS application. This repo can manage webapps account on behalf of third party users.

PHP 100.00%
waveapps laravel-package php graphql-client

waveapps-client-php's Introduction

WaveApps Client PHP

A wrapper to use the WaveApps's graphql api in your laravel SaaS application. This repo can manage webapps account on behalf of third party users.

Note: If you are looking to use waveapps on behalf of a single user then use subbe/waveapp

The original documentation is available at:

To use WaveApps, you will need to register on the developer portal. And create new application and fetch client_id, client_secret

Requirement & Install

Open you composer.json file and add

"amritms/waveapps-client-php":"0.1"

and go to the location of your composer file in terminal and run

composer update

php artisan vendor:publish

Route

Route::post('webapps/token', 'WebappsController@handleToken');

Update your .env file to include

WAVE_CLIENT_ID=
WAVE_CLIENT_SECRET=
WAVE_GRAPHQL_AUTH_URI=https://api.waveapps.com/oauth2/token/
WAVE_GRAPHQL_URI=https://gql.waveapps.com/graphql/public

Queries

  • user
  • countries
  • country
  • customers
  • products
  • invoices
  • businesses
  • business
  • currencies
  • currency
  • accountTypes
  • accountSubyypes

Mutations

Customer

  • customerCreate
  • customerPatch
  • customerDelete

Account

  • accountCreate
  • accountPatch
  • accountArchive

Product

  • productCreate
  • productPatch
  • productArchive

Sales

  • salesTaxCreate
  • salesTaxPatch
  • salesTaxRateCreate
  • salesTaxArchive

Money Transaction

  • moneyTransactionCreate

Invoice

  • invoiceCreate
  • invoiceDelete
  • invoiceSend
  • invoiceApprove
  • invoiceMarkSent

How to use

Query

$waveapp = new \Amritms\WaveappsClientPhp\Waveapps();
$countries = $waveapp->countries();

--- OR ---

$country = $waveapp->country(['code' => 'US']);

Mutation

$waveapp = new \Amritms\WaveappsClientPhp\Waveapps();
$customer = [
    "input" => [
        "businessId" => "<REPLACE-THIS-WITH-THE-BUSINESS-ID>",
        "name" => "Lucifer Morningstar",
        "firstName" => "Lucifer",
        "lastName" => "Morningstar",
        "displayId" => "Lucifer",
        "email" => "[email protected]",
        "mobile" => "6666666",
        "phone" => "6666666",
        "fax" => "",
        "address" => [
            "addressLine1" => "666 Diablo Street",
            "addressLine2" => "Hell's Kitchen",
            "city" => "New York",
            "postalCode" => "10018",
            "countryCode" => "US"
        ],
        "tollFree" => "",
        "website" => "",
        "internalNotes" => "",
        "currency" => "USD",
        "shippingDetails" => [
            "name" => "Lucifer",
            "phone" => "6666666",
            "instructions" => "pray",
            "address" => [
                "addressLine1" => "666 Diablo Street",
                "addressLine2" => "Hell's Kitchen",
                "city" => "New York",
                "postalCode" => "10018",
                "countryCode" => "US"
            ]
        ]
    ]
];

$newCustomer = $waveapp->customerCreate($customer, "CustomerCreateInput");

Note: This repo is based on subbe/waveapp

waveapps-client-php's People

Contributors

amritms avatar samyakrt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

aharen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.