RSJSON Parser

Overview

RSJSON (Rich syndication 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 transform the entity information messages from data sources like Azure Event Bus in RSJSON format to a simplified (flat) JSON file. Learn more about parser 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 Parser Overview

Prerequisites

None.

Limitations

  • The Snap ignores the entity's relationships that do not contain relTo information while parsing the RSJSON format to the simplified JSON format.
  • The Snap parses only relationships available in the metadata of the entity for generating the simplified JSON format. It ignores any relationship that exists outside of the entity's metadata.

Known issues

None.

Snap views

View Description Examples of upstream and downstream Snaps
Input This Snap has at the most one document input view and allows you to parse RSJSON information and write it to a JSON document. It expects the input in one of the following formats:
  • Array of entities: {"entities": [{entity data},{entity data}]}
  • Single entity object: {entity data}
Output This Snap has exactly one document output view. The Snap returns the records in the required type in the output view.
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.

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 Parser

Example: Parse RSJSON to JSON
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.

Note: This field does not support upstream values.

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 entity types from all domains that the Snap account can access.

Default value: None.

Example: product

Locale String/Expression

Specify one or more locales, separated by a comma (,), for which you want to parse the localizable information on the entities, in addition to the global properties. The Snap fetches only those entity attributes that have information specific to the locale.

Note: This field does not support upstream values.
Note:
  • If you leave this field empty, the Snap parses entity information for all those locales that are currently available for each entity in the upstream input.
  • If a particular localizable entity does not contain information in the requested locale, the Snap returns null for that attribute.

Default value: None.

Example: en-US, fr-FR

UOM Separator String/Expression

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

Note: This field does not support upstream values.

Default value: ##

Example: @$%, ^$*

Include context Checkbox

Each entity's information in the Syndigo's database is associated with one or more contexts for which it was created. By default, the Snap's output contains only global attributes. Select this checkbox to include the context information in the parsed output for each matching entity ID.

Default status: Deselected

Contexts This field set is displayed when you select the Include context checkbox.

For each context, specify the Context name and Context value.

Important: If you do not specify a context in this field set after selecting the Include context checkbox, the Snap parses all available context information for the matching entities.
Context name String/Expression/ Suggestion

Specify the context name to be included in the entity's parsed information. The list of suggested context names is based on the values specified in the Entity.

Note: This field does not support upstream values.

Default value: None.

Example: refcountrylist

Context value String/Expression

Specify the context value for the chosen context name.

Note: This field does not support upstream values.

Default value: None.

Example: France

Output attributes Use this field set if you want to parse only specific attributes of each matching entity.
Output attribute String/Expression/ Suggestion

Specify one or more entity attributes, separated by a comma (,), from the suggested list of attributes to include in the parsed entity information. The attribute suggestions for this field correspond to the specified Entity type, if specified.

Note: This field does not support upstream values.

Default value: None.

Example: thgdisplayname,mdmid,mdmname

Related entities Use this field set if you want to parse only specific relationships of each matching entity. Specify one relationship per row.
Important:
  • If you do not specify a Relationship in this field set, the Snap parses all available relationships information for the matching entities.
  • The Snap output includes related entity information as available with the matching entities. If this information is not available, the Snap outputs only the entity ID and the entity type of the matching entity.
Related entity String/Expression/ Suggestion

Specify a related entity from the suggested list of entities to include in the parsed entity information. The entity suggestions for this field correspond to the specified Entity type and include entities associated as either owned or whereused relationships.

Note: This field does not support upstream values.

Default value: None.

Example: associatedsku-sku, hasvideo-video

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