RSJSON Formatter

Overview

RSJSON (Rich Structured JSON) is a custom JSON-based format used by Syndigo to represent and exchange rich product content. It is designed to:
  • Support complex product hierarchies
  • Handle rich media assets (images, videos, documents, and so on)
  • Include localized data (multilingual descriptions, and so on)
  • Maintain attribute-driven product details (ingredients, dimensions, and so on)
  • Preserve data relationships (between parent and child SKUs, and so on)
Though RSJSON is ideal for capturing rich and flexible product content, integrations with external systems expect simpler and flattened JSON structures to read and parse the information.

You can use this Snap to format the entity information stored in flattened JSON files to RSJSON-compliant structure. Learn more about formatter mappings.

Important: Snaps in Syndigo Snap Pack automatically cache and refresh model information once in every 24 hours. To reflect any changes to the model in the Snap outputs, restart the Snaplex.

Syndigo RSJSON Formatter Overview

Limitations and known issues

None.

Snap views

View Description Examples of upstream and downstream Snaps
Input This Snap has exactly one document input view and allows you to format JSON information and write it to RSJSON format document.
Output This Snap has exactly one document output view. The output is in one of the following formats:
  • Array of entities: {"entities": [{entity data},{entity data}]}
  • Single entity object: {entity data}
Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution Stops the current pipeline execution when an error occurs.
  • Discard Error Data and Continue Ignores the error, discards that record, and continues with the remaining records.
  • Route Error Data to Error View Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Here is a depiction of the formatting nuances between a simplified JSON input to this Snap and its corresponding RSJSON output.



Snap settings

Legend:
  • Expression icon (): Allows using JavaScript syntax to access SnapLogic Expressions to set field values dynamically (if enabled). If disabled, you can provide a static value. Learn more.
  • SnapGPT (): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
  • Suggestion icon (): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
  • Upload : Uploads files. Learn more.
Learn more about the icons in the Snap settings dialog.
Field / Field set Type Description
Label String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: RSJSON Formatter

Example: Transform JSON to RSJSON
Domain String/Expression/ Suggestion

A (data) domain in Syndigo refers to a large data set that covers a specific area of importance like Product data, Customer data, Asset data, or Suppplier data. Specify the domain from which you want to parse the entity information. See the list of permitted domains.

Default value: None.

Example: thing

Entity String/Expression/ Suggestion

Required. Specify the entity type (category) under the chosen domains to parse the entity information from. The list of suggested entities is based on the specified domain. If no Domain is specified, this field suggests all entities that the Snap account can access.

Default value: None.

Example: product

Validate input Checkbox

Select this checkbox for the Snap to validate the input data against the expected schema for the selected Domain-Entity combination.

Note: If this checkbox is selected, the Snap verifies whether:
  1. All attributes, relationships, and contexts specified in the input pertain to the entity model.
  2. The input matches with atleast one of the following attributes:
    • Entity identifier (Entity ID)
    • External Name
    • One matching configuration

Default status: Selected

Global locale String/Expression

Specify the global locale to be used, in the xx-XX language identifier format, while formatting this simplified/flattened JSON input data to RSJSON format.

Default value: en-US

Example: fr-FR

Global source String/Expression

Specify the source to be used, whether it is internal or external, while formatting this simplified/flattened JSON input data to RSJSON format.

Default value: internal

Example: external

UOM Separator String/Expression

Specify the separator character/string to place between a value and its unit of measure (UOM) in the RSJSON response.

Default value: ##

Example: @$%, ^$*

Snap execution Dropdown list
Choose one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Validate & Execute

Example: Execute only