To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).
Then install it via:
```shell
npm install sf_gate --save
```
Finally, you need to build the module:
```shell
npm run build
```
##### Local development
To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:
```shell
npm install
```
Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:
```shell
npm link
```
To use the link you just defined in your project, switch to the directory you want to use your sf_gate from, and run:
```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```
Finally, you need to build the module:
```shell
npm run build
```
#### git
If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:
```shell
npm install GIT_USER_ID/GIT_REPO_ID --save
```
### For browser
The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file):
```shell
browserify main.js > bundle.js
```
Then include *bundle.js* in the HTML pages.
### Webpack Configuration
Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:
```javascript
module: {
rules: [
{
parser: {
amd: false
}
}
]
}
```
## Getting Started
Please follow the [installation](#installation) instruction and execute the following JS code:
```javascript
var SfGate = require('sf_gate');
var defaultClient = SfGate.ApiClient.instance;
// Configure API key authorization: ApiKeyAuth
var ApiKeyAuth = defaultClient.authentications['ApiKeyAuth'];
ApiKeyAuth.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//ApiKeyAuth.apiKeyPrefix['X-API-Key'] = "Token"
var api = new SfGate.AccountsApi()
var opts = {
'accountId': "accountId_example" // {String} Taxnexus Record Id of an Account
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.deleteAccount(opts, callback);
```
## Documentation for API Endpoints
All URIs are relative to *http://sf-gate.vernonkeenan.com:8080/v1*
*SfGate.CompanyProductsApi* | [**getCompanyProducts**](docs/CompanyProductsApi.md#getCompanyProducts) | **GET** /companyproducts | Get a list of companyproducts
*SfGate.CompanyProductsApi* | [**postCompanyProducts**](docs/CompanyProductsApi.md#postCompanyProducts) | **POST** /companyproducts | Add a new companyproduct to Taxnexus
*SfGate.IndustriesApi* | [**getIndustries**](docs/IndustriesApi.md#getIndustries) | **GET** /industries | Get a list of industries
*SfGate.IndustriesApi* | [**postIndustries**](docs/IndustriesApi.md#postIndustries) | **POST** /industries | Add a new industry to Taxnexus
*SfGate.IndustryProductsApi* | [**postIndustryproducts**](docs/IndustryProductsApi.md#postIndustryproducts) | **POST** /industryproducts | Add a new industryproduct to Taxnexus
*SfGate.IndustryproductsApi* | [**getIndustryProducts**](docs/IndustryproductsApi.md#getIndustryProducts) | **GET** /industryproducts | Get a list of industryproducts