> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# nShift

> Connect Alumio to nShift.

## Extra information

System documentation nShift v1:
System documentation nShift v2:

## Connector package documentation

\[details="nShift API Version 1"]

# Setting up HTTP Client for NShift

## Steps

1. In Alumio Dashboard, go to Clients > HTTP Clients. Create a new HTTP Client and select nShift V1 HTTP Client as the prototype of the HTTP Client.
2. Fill in the Base URI.
3. Save and Continue.

# Subscribing to Entities from NShift

## Steps

1. Go to Connections -> Incoming and create a new incoming configuration and select NShift V1 Subscriber as the subscriber.
2. Select the Command you want to subscribe from NShift.
3. Add “Key” and “Actor” before Subscribing,
   Recommended to create Environment Variable as **nShift\_key** and **nShift\_actor**.

* Create [Environment Variable](https://forum.alumio.com/t/environment-variables-in-alumio/188) go to Settings > Environment Variables > Create new Environment Variable > Insert Name & Value (Name as nShift\_key/nShift\_actor) > Save.

4. Add any “Data” and “Options” needed to subscribe to the entity (optional).
5. You can optionally add a transformer to transform the request parameters into something you need.
6. Select the NShift HTTP Client to use.

## General Concept

We follow NShift documentation on building this connector so you can easily use the connector based on NShift API Reference.

**Command**
It’s the Command you want to subscribe from NShift. Please refer to the entities in Management APIs from the NShift API Reference page.

**Key**
It’s the Key for Authentication of nShift.

**Actor**
It’s the Actor for Authentication of nShift.

**Data & Options**
These are the parameters you can provide to get the needed entity based on NShift API Reference. Please look at the example below when subscribing to “Get All shopments from a Stacks’

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/nshift-01.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=0d2a22ea4360ade86c05880f4999beb3" alt="nShift connector screenshot 1" width="579" height="500" data-path="images/connectors/nshift-01.png" />

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/nshift-02.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=00230755ed08e59ec5833cee4dd105f9" alt="nShift connector screenshot 2" width="690" height="480" data-path="images/connectors/nshift-02.png" />

That’s why we need to define **StackCSID , StartIndex, Count, SortField, and SortDirection** properties.

**Input Transformer**
Any transformers set here will be executed after the Request Parameters are loaded. So, you basically can add any transformer to provide and transform the request parameters into anything you need either as path parameters and/or as query parameters of an entity.

**HTTP Client**
It’s the HTTP Client configuration or prototype you will use to access NShift.

# Publishing Entity to NShift

## Steps

1. Go to Connections -> Outgoing, create a new outgoing configuration, and select NShift Publisher as the publisher.
2. Select the action that you want the publisher to do with the data.
3. Select the NShift entity you want the data to be published.
4. Select the HTTP Client to use.
   <img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/nshift-03.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=041f527a0d202fa4b3866b2a72bf0783" alt="nShift connector screenshot 3" width="690" height="172" data-path="images/connectors/nshift-03.png" />

## General Concept

Like the subscriber, the publisher has similar methods on how to use it. The difference is the payload that will be submitted by the publisher originating from the data (from routes, from transformers in outgoing configuration).

**Entity**
We support publishing to most NShift Command. Please refer to the entities in Management APIs from the NShift API Reference page. Based on the documentation, some Command may need one or more path parameters.

For Command that require an object as the request payload, please look at the example below. For example, we want to Create a new Stack. Please select “Create a new Stack” as the entity of the publisher.

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/nshift-04.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=09b3ad51ed275017fc2e4d1392dcc4e7" alt="nShift connector screenshot 4" width="690" height="353" data-path="images/connectors/nshift-04.png" />

Heres an Example of Entity Data for Publisher
Same as Example Above we only need to insert Entity and Client as the Data is already carried from Route.

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/nshift-05.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=795fb5a784e1c80e98c8af16131a7019" alt="nShift connector screenshot 5" width="690" height="167" data-path="images/connectors/nshift-05.png" />

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/nshift-06.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=4e394d3ef76b3099a9e28808b4e73a9a" alt="nShift connector screenshot 6" width="683" height="500" data-path="images/connectors/nshift-06.png" />

You can put the payload object as **actor, key, data, and options**. Other than 4 of this key in the payload will not be processed, as for the command is already inputted in Publisher.

**HTTP Client**
It’s the HTTP Client configuration or prototype you will use to access NShift.
\[/details]
\[details="nShift API Version 2"]

\[/details]
