# dyspatch-client

DyspatchClient - JavaScript client for dyspatch-client
# Introduction

The Dyspatch API is based on the REST paradigm, and features resource based URLs with standard HTTP response
codes to indicate errors. We use standard HTTP authentication and request verbs, and all responses are JSON formatted.
See our [Implementation Guide](https://docs.dyspatch.io/development/implementing_dyspatch/) for more details on
how to implement Dyspatch.

## API Client Libraries
Dyspatch provides API Clients for popular languages and web frameworks.

- [Java](https://github.com/getdyspatch/dyspatch-java)
- [Javascript](https://github.com/getdyspatch/dyspatch-javascript)
- [Python](https://github.com/getdyspatch/dyspatch-python)
- [C#](https://github.com/getdyspatch/dyspatch-dotnet)
- [Go](https://github.com/getdyspatch/dyspatch-golang)
- [Ruby](https://github.com/getdyspatch/dyspatch-ruby)

This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 2020.11
- Package version: 6.0.0
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen
For more information, please visit [https://docs.dyspatch.io](https://docs.dyspatch.io)

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

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 dyspatch-client --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 dyspatch-client 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/getdyspatch/dyspatch-javascript
then install it via:

```shell
    npm install getdyspatch/dyspatch-javascript --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 DyspatchClient = require('dyspatch-client');

var defaultClient = DyspatchClient.ApiClient.instance;
// Configure API key authorization: Bearer
var Bearer = defaultClient.authentications['Bearer'];
Bearer.apiKey = "YOUR API KEY"
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Bearer.apiKeyPrefix['Authorization'] = "Token"

var api = new DyspatchClient.DraftsApi()
var draftId = "draftId_example"; // {String} A draft ID
var languageId = "languageId_example"; // {String} A language ID (eg: en-US)
var accept = "accept_example"; // {String} A version of the API that should be used for the request. For example, to use version \"2020.11\", set the value to \"application/vnd.dyspatch.2020.11+json\"
api.deleteLocalization(draftId, languageId, accept).then(function() {
  console.log('API called successfully.');
}, function(error) {
  console.error(error);
});


```

## Documentation for API Endpoints

All URIs are relative to *https://api.dyspatch.io*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DyspatchClient.DraftsApi* | [**deleteLocalization**](docs/DraftsApi.md#deleteLocalization) | **DELETE** /drafts/{draftId}/localizations/{languageId} | Remove a localization
*DyspatchClient.DraftsApi* | [**getDraftById**](docs/DraftsApi.md#getDraftById) | **GET** /drafts/{draftId} | Get Draft by ID
*DyspatchClient.DraftsApi* | [**getDraftLocalizationKeys**](docs/DraftsApi.md#getDraftLocalizationKeys) | **GET** /drafts/{draftId}/localizationKeys | Get localization keys
*DyspatchClient.DraftsApi* | [**getDrafts**](docs/DraftsApi.md#getDrafts) | **GET** /drafts | List Drafts
*DyspatchClient.DraftsApi* | [**getLocalizationForDraft**](docs/DraftsApi.md#getLocalizationForDraft) | **GET** /drafts/{draftId}/localizations | Get localizations on a draft
*DyspatchClient.DraftsApi* | [**saveLocalization**](docs/DraftsApi.md#saveLocalization) | **PUT** /drafts/{draftId}/localizations/{languageId} | Create or update a localization
*DyspatchClient.DraftsApi* | [**setTranslation**](docs/DraftsApi.md#setTranslation) | **PUT** /drafts/{draftId}/localizations/{languageId}/translations | Set translations for language
*DyspatchClient.DraftsApi* | [**submitDraftForApproval**](docs/DraftsApi.md#submitDraftForApproval) | **POST** /drafts/{draftId}/publishRequest | Submit the draft for approval
*DyspatchClient.LocalizationsApi* | [**getDraftLocalizationById**](docs/LocalizationsApi.md#getDraftLocalizationById) | **GET** /localizations/{localizationId}/drafts/{draftId} | Get Draft Localization Object by ID
*DyspatchClient.LocalizationsApi* | [**getPublishedLocalizationById**](docs/LocalizationsApi.md#getPublishedLocalizationById) | **GET** /localizations/{localizationId} | Get Localization Object by ID
*DyspatchClient.TemplatesApi* | [**getTemplateById**](docs/TemplatesApi.md#getTemplateById) | **GET** /templates/{templateId} | Get Template by ID
*DyspatchClient.TemplatesApi* | [**getTemplates**](docs/TemplatesApi.md#getTemplates) | **GET** /templates | List Templates


## Documentation for Models

 - [DyspatchClient.APIError](docs/APIError.md)
 - [DyspatchClient.CompiledRead](docs/CompiledRead.md)
 - [DyspatchClient.Cursor](docs/Cursor.md)
 - [DyspatchClient.DraftMetaRead](docs/DraftMetaRead.md)
 - [DyspatchClient.DraftRead](docs/DraftRead.md)
 - [DyspatchClient.DraftsRead](docs/DraftsRead.md)
 - [DyspatchClient.InlineObject](docs/InlineObject.md)
 - [DyspatchClient.LocalizationKeyRead](docs/LocalizationKeyRead.md)
 - [DyspatchClient.LocalizationMetaRead](docs/LocalizationMetaRead.md)
 - [DyspatchClient.LocalizationRead](docs/LocalizationRead.md)
 - [DyspatchClient.TemplateMetaRead](docs/TemplateMetaRead.md)
 - [DyspatchClient.TemplateRead](docs/TemplateRead.md)
 - [DyspatchClient.TemplatesRead](docs/TemplatesRead.md)


## Documentation for Authorization



### Bearer


- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header

