*
character. For example using "*static_value*"
in the transformation document will indicate which type of field to use for the output data. The examples below will show each of the different field definitions and an example of how they can be used."status"
and that field will contain the value of "Released".*ppk*
acronym in the transformation document will allow the lookup of a value based on the key provided. We defined the phrase "Producer Payload Key" as being the path to the data in the payload produced by the source system. The path is relative to the list that the transformation is currently looping, and hierarchy can be indicated by used a full stop. Two examples below show a path on the current level, and one that is nested. dummy_payload_in.json
). In the two examples above in order to map the correct data we reference two fields from the dummy payload below. The first example references a key on the top level created_at
and maps it to a field called date
in the output. The second example references a nested key inside of the customer block, therefore to get the nested data we have to give the full path: customer.email
, to see a working example of this check out Simple Example 1.PPK
's together where it is necessary e.g to join first name and last name to get the full name. *ppk_tracked*
option in the transformation file allows the tracking of data between two systems. This normally takes the shape of tracking ID's from the source and the destination system, tying them together with a name
field. The name field normally contains a value that is the same in both systems. *ppk_tracked*
field, there is the a standard *ppk*
block with an additional *tracked_fields*
option. This option details how the core system should track the data. The options here are: key_lookup
, click here.*stream_setting*
option in the mapping file example shown below will attempt a lookup based on the defined JSON value. Seen below is an JSON example of how the setting from the setting from the screenshot above could be pulled in to the transformation: ROTH001
with a key of warehouse
.line1
line based on if the input data has a company name set:*list*
- The list definition first defines the path to the input data where the list is available. In the example above, where we are receiving data from Shopify, the Order data comes in the format of an array, which is keyed by the word "orders".*list_fields*
- The next definition indicates the start of the output field list. This is the point at which the input data (in example from Shopify) will start to be looped over. In the list_fields, each field will then be created in an output array with the relative values to the input data.orders.0.name
, but in the example above you can see that inside the list, it can simply be referenced as name
. *list_field*
- Instead of *list_fields*
, the singular *list_field*
can be used to create a list of items in the output that does not have a key. for example:*list_count*
- Can be used to get the total count of items in a list. Example:parent_id
can result in output data that is multi-dimensional and more fitting to the destination system requirements. option_values
has been mapped to the input variable (the key on the right side) of product.options.0.values
. In the case above, we are expecting the input variable to be in the format of an array, therefore we apply the post format function of squash
, then pass in the option ",". add_key_to_list
definition). expand
example below, where by it adds in a key of src
to each of the image elements in the array.ppk_replace
when a calculated figure is required from the input data.group.0.images
), which it will then split based on a comma.ppk
is empty.numbers_only
, but allows for the +
symbol in addition to the numbers 0 to 9. ppk
is empty, the value of static_value
will be used in the output data instead of blank.new line
. In the example, address1
takes the first element, and address2
takes the second element. *Note: If the input string doesn't contain the on
value, it will only return the input value in part 0
.UKWEB
to the start of the order_number
field.