Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amritms/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.
https://github.com/amritms/waveapps-client-php
graphql-client laravel-package php waveapps
Last synced: 26 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/amritms/waveapps-client-php
- Owner: amritms
- Created: 2020-05-15T11:41:40.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-19T04:09:17.000Z (over 1 year ago)
- Last Synced: 2024-09-28T21:43:02.569Z (about 1 month ago)
- Topics: graphql-client, laravel-package, php, waveapps
- Language: PHP
- Size: 16.6 KB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WaveApps Client PHP
A wrapper to use the [WaveApps][wave-apps]'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][subbe-waveapp]
The original documentation is available at:
- [Wave - Developer Portal][wave-documentation-url]
- [API Reference][wave-api-schema]
- [API Playground][wave-api-playground]To use WaveApps, you will need to [register][wave-create-an-app] 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 updatephp artisan vendor:publish
```
## Route
```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" => "",
"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][subbe-waveapp]
[wave-apps]: https://www.waveapps.com/
[wave-documentation-url]: https://developer.waveapps.com/hc/en-us/categories/360001114072
[wave-api-schema]: https://developer.waveapps.com/hc/en-us/articles/360019968212-API-Reference
[wave-api-playground]: https://developer.waveapps.com/hc/en-us/articles/360018937431-API-Playground
[wave-create-an-app]: https://developer.waveapps.com/hc/en-us/sections/360003012132-Create-an-App
[subbe-waveapp]:https://github.com/subbe/waveapp