ImpulseSync™ User Manual
HomePricingContact Us
  • Introduction
    • What is Impulse?
  • Crash Course of ImpulseSync
    • Overview Of ImpulseSync
    • Step 1: Endpoints
      • Endpoint Configuration
    • Step 2: Jobs
      • Job Configuration
      • Step 2a: Content manipulators
      • Step 2b: Content mapper
    • Step 3: Syncing
  • Getting Started
    • Core Concepts
    • Creating Endpoints
    • Creating Jobs
    • Starting a Transaction
    • Transaction Reports
    • Automating Jobs with Pipelines
    • Scripting Post Sync
    • Scheduling Jobs and Pipelines
    • Dashboard
    • Managing Jobs/Pipelines
    • Content Mapper
      • Aligning Mismatched Content
      • Connector Matrix
      • Locked Fields
      • Content Aligner
      • Aligning Content Challenges
  • Reports
    • Reports Screen
    • Debug Report
    • Messages
  • Connectors
    • Common Job Options
    • All Connectors List
    • Source Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • Drupal v7
      • Drupal v9
      • GitHub
      • GraphQL
      • MS Teams
      • SCP
      • Snapshot
      • Strapi v3
      • Strapi v4
    • Destination Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • SCP
      • Strapi v3
      • Strapi v4
  • Content Manipulators
    • Common Manipulator Options
    • Add Replace Field
    • AI(Artificial intelligence)
    • Change ID Manipulator
    • CSV Store Manipulator
    • Dynamic Job Store Manipulator
    • File to Text
    • Folder Manipulator
    • Get and Set Field
    • Language
    • Liquid Field
      • Liquid On the Quick
      • Basics
        • Impulse Values
        • Impulse Variables
        • Operators
        • Truthy and falsy
        • Types
        • Whitespace control
      • Tags
        • Control flow
        • Impulse Content Objects
        • Iteration
        • Utility
        • Variable
      • Filters
        • abs
        • append
        • capitalize
        • ceil
        • compact
        • concat
        • date
        • date_str
        • default
        • divided_by
        • downcase
        • escape
        • escape_once
        • first
        • floor
        • getStoredValue
        • htmlQuery
        • htmlReplace
        • idMap
        • join
        • jq
        • json
        • last
        • lstrip
        • map
        • minus
        • modulo
        • newline_to_br
        • plus
        • prepend
        • remove
        • remove_first
        • replace
        • replace_first
        • reverse
        • round
        • rstrip
        • section
        • sections
        • size
        • slice
        • sort
        • sort_natural
        • split
        • str_to_date
        • strip
        • strip_html
        • strip_newlines
        • times
        • truncate
        • truncatewords
        • type
        • uniq
        • upcase
        • utl_decode
        • url_encode
      • Liquid Playground
    • Markdown
    • Regex
    • Relationship
    • Store Field
    • Tidy
  • Time Machine
    • Snapshot
    • Viewing Snapshots
    • Delivery from Snapshots
  • Cookbook Recipes
    • Adding Fields
    • Aligning Content between Endpoints
    • Avoid overriding Fields
    • Avoid syncing Content Types
    • Combing Fields
    • Default Field Value
    • File (.doc) to Structured Content
    • File (.docx) to Structured Content - Expanded
    • HTML to Structured Content
    • Language (Locale) mismatch between endpoints
    • Paths/IDs Changed
    • Reference to Value
    • Single Content Type to Multiple
    • Splitting Content with Reference
    • Syncing Content with Languages
    • Text Select to Boolean
    • Text to Reference
    • Text to Reference - liquid
    • Two Sources to One Destination
    • Changing a folder path
    • Combining data between content types
    • Converting HTML Sections
    • JSON object to reference
    • Use CSV to convert values
    • Storing fields with Store field motator
  • Troubleshooting
    • What to do if I run into a Job Problem
    • Troubleshooting via UI
    • Submitting a ticket
  • Using Impulse Headlessly
    • Getting Started with cURL
      • Creating Endpoints
      • Creating Jobs
      • Starting a Transaction
      • Transaction Reports
      • Automating Jobs with Pipelines
      • Scheduling Jobs and Pipelines
      • Aligning Mismatched Content
      • Scripting Post Sync
  • Organization Tier Restrictions
  • Content Storage Options
Powered by GitBook
On this page
  • Required API
  • Selecting a connector
  • Saving an Endpoint
  • Source Connector Config
  • Adapter Read Config
  • Taxi Pickup Config
  • Destination Connector Config
  • Adapter Write Config
  • Taxi Drop-off Config
  1. Using Impulse Headlessly
  2. Getting Started with cURL

Creating Endpoints

PreviousGetting Started with cURLNextCreating Jobs

Last updated 2 years ago

Required API

To create an endpoint you will need to use a number of different services APIs.

    • based on the selected connector

    • based on the selected connector

Selecting a connector

You first need to know what connector you will be using with your endpoint.

You can view all the connectors using the connector-depot's .

curl --request GET '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/public/connector-depot/connectors'

This request will list all the available connectors. You will need the id of the connector you want to use with the endpoint.

Saving an Endpoint

Now that you know the connector ID, you will need to save the endpoint to the endpoint-depot.

an example request would be as follows:

curl --request POST '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/endpoint-depot/endpoints' \
--header 'Content-Type: application/json' \
--data-raw '{
	"name" : "my-endpoint",
	"connectorId": "12dcb152-51b5-422a-b2f3-615dd3387fbd",
	"contentRepo" : "dotcms",
	"contentRepoVersion" : "5.2.7",
	"active": true
}'

Be sure to get use the correct contentRepo and contentRepoVersion when saving the endpoint. View the specific connector's doc for more details.

The response returned after the endpoint is saved will contain the endpoint ID. You will need to make note of this ID and use it in the following API.

Source Connector Config

Adapter Read Config

Once an endpoint is created and you have it's ID, you need to save config to connect to your chosen repository. The adapter read config is only available for connectors level 2 or level 3. The config is required to sync content from the repository or for full Impulse capabilities, such as diff reporting. Without this config, the content will not be picked up and saved into Impulse.

  • endPointId

    • The endpoint ID of the associated endpoint

  • taxiPickupURL

    • The relative URL of the pickup taxi

    • Public Impulse uses the value: http://taxi-pickup-app:8080

  • taxiDropoffURL

    • The relative URL of the drop off taxi

    • Public Impulse uses the value: http://taxi-dropoff-app:8080

Making the example request:

curl --request PUT '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/{{adapter-name}}/config' \
--header 'Content-Type: application/json' \
--data-raw '{
  "endPointID": "{{endpoint-id}}",
  "taxiPickupURL": "http://taxi-pickup-app:8080",
  "taxiDropoffURL": "http://taxi-dropoff-app:8080",
  "properties": {
    "dbUser": "dotcmsdbuser",
    "dbPassword": "password",
    "dbConnectionURL": "postgres://source-dotcms-db:5432/dotcms",
    "assetsPath": "/data/shared/assets",
    "defaultLanguageCode": "en",
    "defaultCountryCode": "US",
    "defaultHostStructure": "855a2d72-f2f3-4169-8b04-ac5157c4380c"
  }
}'

This same request can be used to update the adapter config. To update the config use the same endPointId in the request. This will update any existing config with that endpoint ID or create a new config if one does not exist.

Taxi Pickup Config

Once an endpoint is created and you have it's ID, you need to save config to connect to your chosen connector. The taxi pickup config is required for source connectors. These are connectors with either level 2 or level 3. If you are using the endpoint as a source you must save taxi pickup config. The config is required to sync content from the repository or for full Impulse capabilities, such as diff reporting. Without this config, the content will not be picked up and saved into Impulse.

curl --request PUT '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/taxi-pickup/config/{{endpoint-id}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "AdapterURL" : "http://{{relative-dotcms-adapter-read-domain}}:8080"
}'

The AdapterURL is the relative URL to the connector's read adapter.

Destination Connector Config

Adapter Write Config

Once an endpoint is created and you have it's ID, you need to save config to connect to your chosen repository. The adapter write config is only available for connectors level 1 or level 3. The config is required to sync content to the repository. Without this config, the content will not be saved to a destination repository.

  • endPointId

    • The endpoint ID of the associated endpoint

  • taxiPickupURL

    • The relative URL of the pickup taxi

    • Public Impulse uses the value: http://taxi-pickup-app:8080

  • taxiDropoffURL

    • The relative URL of the drop off taxi

    • Public Impulse uses the value: http://taxi-dropoff-app:8080

Making the example request:

curl --request PUT '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/{{adapter-name}}/config' \
--header 'Content-Type: application/json' \
--data-raw '{
  "endPointID": "{{endpoint-id}}",
  "taxiPickupURL": "http://taxi-pickup-app:8080",
  "taxiDropoffURL": "http://taxi-dropoff-app:8080",
  "properties": {
    "dbUser": "dotcmsdbuser",
    "dbPassword": "password",
    "dbConnectionURL": "postgres://dest-dotcms-db:5432/dotcms",
    "assetsPath": "/data/shared/assets",
    "defaultLanguageCode": "en",
    "defaultCountryCode": "US",
    "defaultHostStructure": "855a2d72-f2f3-4169-8b04-ac5157c4380c"
  }
}'

This same request can be used to update the adapter config. To update the config use the same endPointId in the request. This will update any existing config with that endpoint ID or create a new config if one does not exist.

Taxi Drop-off Config

Once an endpoint is created and you have it's ID, you need to save config to connect to your chosen connector. The taxi drop off config is required for destination connectors. These are connectors with either level 1 or level 3. If you are using the endpoint as a destination you must save taxi drop off config. Without this config, the content will not be saved to a repository.

curl --request PUT '{{impulse-protocol}}://{{impulse-domain}}:{{impulse-port}}/private/taxi-pickup/config/{{endpoint-id}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "AdapterURL" : "http://{{relative-dotcms-adapter-write-domain}}:8080"
}'

The AdapterURL is the relative URL to the connector's write adapter.

You can do this by using the endpoint-depot .

Based on which connector you want to use for the endpoint you will use a different config API. View the specific and for more information. For this example we will use the dotCMS source connector. As such you will need to create the config payload. All connectors configs have few matching attributes.

The dotCMS adapter has specific properties that are listed in both the and the .

Based on which connector you have chosen, you will use a different value in the . For this example we will use the dotCMS source connector. The example request would look like the following.

Based on which connector you want to use for the endpoint you will use a different config API. View the specific and for more information. For this example we will use the dotCMS destination connector. As such you will need to create the config payload. All connectors configs have few matching attributes.

The dotCMS adapter has specific properties that are listed in both the and the .

Based on which connector you have chosen, you will use a different value in the . For this example we will use the dotCMS destination connector. The example request would look like the following.

endpoint-depot
connector-depot
adapter-read
adapter-write
taxi-pickup
taxi-dropoff
/connectors endpoint
/endpoints endpoint
connectors user doc
API doc
API doc
dotCMS source connector doc
payload of the config
connectors user doc
API doc
API doc
dotCMS source connector doc
payload of the config