About the Salsify category

Put topics about this connector package here.
Always check the ‘How to use the Alumio connector packages’ topic.

Extra information

System documentation: Salsify API Reference

Connector package documentation

​​Table of Contents

  • 1. Setting up HTTP Client Salsify
    • 1.1 Steps
  • 2. Subscribing to entities from Salsify
    • 2.1 Steps
    • 2.2 General concept
  • 3. Publishing entity to Salsify
    • 3.1 Steps
    • 3.2 General concept
  • 4. Common Issue in Salsify

1. Setting up HTTP Client Salsify

1.1 Steps

  1. In the Alumio Dashboard, go to Clients → HTTP Clients. Create a new HTTP Client and select Salsify HTTP Client as the HTTP Client.
  2. Fill in the Base URI and Authentication Type.
    Please fill the base URI as https://app.salsify.com/api/v1/orgs/{org_id} and replace the {org_id} with your organization_id to make this connector working.
    (For more information, see Salsify Oauth Authentication Reference)
  3. You can optionally enable logging of request to get the log of the authentication.
  4. Save the HTTP Client for use.

2. Subscribing to Entities from Salsify

2.1 Steps

  1. Go to Connections → Incoming and create a new incoming configuration and select Salsify Subscriber as the subscriber.
  2. Select the entity you want to subscribe to from Salsify.
  3. Add any request parameters needed to subscribe to the entity.
  4. You can optionally add a transformer to transform the request parameters into something you will request from Salsify.
  5. Select the Salsify HTTP Client to use.
  6. You can also optionally enable pagination to allow Alumio fetches paginated entities.

2.2 General Concept

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

Entity

The entity you want to subscribe to Salsify. Please refer to the entities from Salsify API Reference page.

Request Parameters

These are the parameters you can provide to get the needed entity based on the Salsify API Reference.

Please look at the example below on how to fill path field when subscribing “Read Record” entity.

Please note that the {org_id} will be filled from the HTTP Client and we replace any “:” into “_” from Salsify documentation.
Based on the documentation, we can see that the end point require “salsify_id” as a path. That is why we set the “salsify_id” inside the path key in the Request Parameters.

image

  • Path is the path parameter of the url. For example the {salsify_id}.
  • Query is defined set of parameters attached to the end of a url.
    Example: www.url.com?type=true&start=0

Alumio will then make a request to Salsify with the URL /records/102918

HTTP Client

The HTTP Client configuration you will use to access Salsify.

3. Publishing Entity to Salsify

3.1 Steps

  1. Go to Connections → Outgoing, create a new outgoing configuration and select Salsify Publisher as the publisher.
  2. Select the Action that you want the publisher to perform with the data.
  3. Select the Salsify entity you want the data to be published to.
  4. You can optionally add any path data to the request on the key path.
  5. You can optionally add any query data to the request on the key query.
  6. You can optionally add any payload data to the request on the key payload.
  7. Select the HTTP Client to use.

3.2 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), though you can also add or modify payload using the Request Transformer.

Action

Currently, we support Create (HTTP POST method), Update (HTTP PUT method), and Delete (HTTP DELETE method) on submitting data to Salsify.

Entity

We support publishing to most Salsify endpoints.
Please refer to Salsify API Reference page.

For example, we want to use “Delete Product”. Please select “Delete” as the Action and “Delete Product” as the entity of the publisher.

Please note that the {org_id} will be filled from the HTTP Client and we replace any “:” into “_” from Salsify documentation.
Based on the documentation, we can see that the end point require “product_id” as a path. That is why we set the “id” inside the path key in the data.

image

  • Path is the path parameter of the url. For example the {id}.
  • Query is defined set of parameters attached to the end of a url.
    Example: www.url.com?type=true&start=0
  • Payload is the data contained within a request.

Alumio will send an API request to Salsify with URL /products/123

HTTP Client

The HTTP Client configuration you will use to access Salsify.

4. Common Issue in Salsify

Note : Please Read this before creating.

There’s an endpoints which require different clients.

There is a difference between normal endpoints and Export/Import Endpoints

image

The normal Endpoints would looks like this,

image

https://app.salsify.com/api/v1/orgs/{org_id}/products/

see the v1 is being used here,
And the Export/Import endpoints look like this

image

https://app.salsify.com/api/orgs/{org_id}/export_runs

See the V1 is not there anymore.

In this case we decided the Developer/user to create 2 clients for himself with different URI, one of the Client will looks like this :

This is client for normal Entity like products and other, and this :

This is the client for Export/Import entity used, in this case whenever user want to use Export/Import user have to use different client from the normal one.

Theres a endpoints that we do not support at the moment

image

https://salsify-dandelion.s3-external-1.amazonaws.com

This is one of the Endpoints that we do not support at the moment, the purpose of this endpoints is to create a mount point, and then import the file to.

So in order to use this Endpoints, you have to use the normal Prototypes in Alumio, or maybe Postman.