[ { "useIf": { "blField": "payment_method", "condition": "startsWith", "value": "Inpost" }, "blField": "admin_comments", "operation": "append", "separator": "-", "prefix": "Paczkomat", "externalField": "note", "suffix": "suffix", "modifiers": [ [ "replace", "inpost", "paczomat" ], [ "substr", "10", "50" ], [ "trim" ], [ "addText", "jaki\u015b dodatkowy teks" ] ] } ]
Pozwala określić warunki dla których reguła będzie użyta
Allows you to specify conditions for which the rule will be used
Ścieżka do pola w zamówieniu w BL
Allows you to specify conditions for which the rule will be used
Warunek dla którego wartość zostanie użyta
Allows you to specify conditions for which the rule will be used
Nazwa / Name | Opis / Description | Uwagi / Comments |
---|---|---|
equals | Sprawdza czy wartość jest równa Checks if the value is equal | |
notEquals | Sprawdza czy wartość nie jest równa Checks if the value is not equal | |
contains | Sprawdza czy wartość zawiera Checks if the value contains | |
notContains | Sprawdza czy wartość nie zawiera Checks if the value does not contain | |
startsWith | Sprawdza czy wartość zaczyna się od Checks if the value starts with | |
notStartsWith | Sprawdza czy wartość nie zaczyna się od Checks if the value does not start with | |
endsWith | Sprawdza czy wartość kończy się na Checks if the value ends with | |
notEndsWith | Sprawdza czy wartość nie kończy się na Checks if the value does not end with | |
greaterThan | Sprawdza czy wartość jest większa niż Checks if the value is greater than | |
greaterThanOrEqual | Sprawdza czy wartość jest większa lub równa Checks if the value is greater than or equal to | |
lessThan | Sprawdza czy wartość jest mniejsza niż Checks if the value is less than | |
lessThanOrEqual | Sprawdza czy wartość jest mniejsza lub równa Checks if the value is less than or equal to | |
in | Sprawdza czy wartość jest w tablicy Checks if the value is in the array | podaj wartości oddzielone przecinkiem enter values separated by a comma |
notIn | Sprawdza czy wartość nie jest w tablicy Checks if the value is not in the array | podaj wartości oddzielone przecinkiem enter values separated by a comma |
empty | Sprawdza czy wartość jest pusta Checks if the value is empty | |
notEmpty | Sprawdza czy wartość nie jest pusta Checks if the value is not empty | |
beetwen | Sprawdza czy wartość jest pomiędzy Checks if the value is between | podaj dwie wartości oddzielone przecinkiem enter two values separated by a comma |
notBeetwen | Sprawdza czy wartość nie jest pomiędzy Checks if the value is not between | podaj dwie wartości oddzielone przecinkiem enter two values separated by a comma |
Wartość do użycia
Allows you to specify conditions for which the rule will be used
Ścieżka do pola w zamówieniu w BL
Path to the field in the order in BL
extra_fields_1 => Pole dodatkowe 1
products[].location => Pole 'location' w każdym produkcie w zamówieniu
products[].attributes.Kod producenta => Dodaje parametr 'Kod producenta' do 'attributes' w każdym produkcie w zamówieniu
Pole w zewnętrznym systemie, możemy wskazać dowolne pole w zamówieniu z zewnętrznego systemu
w przypadku gdy pole jest elementem tablicy, należy wskazać po którym z pól tablicy chcemy filtrować wybierając pole z listy rozwijanej 'if' oraz wprowadzić wartość do pola 'equals'
np additional_fields[].value if field_id=3, pobierze wartość pola 'value' jeśli pole field_id będzie miało wartość 3
[ [ "value"=>"ABC", "field_id"=>7 ], [ "value"=>"XYZ", "field_id"=>3 ] ]Można również powiązać dwie tabele ze sobą, w tym celu jako wartość do dopasowania należy użyć skrótu 'tgt.NAZWA_POLA' gdzie 'NAZWA_POLA' to nazwa pola z pierwszej tabeli, np.:
$blOrder=[ "products"=>[ [ "id"=>1, "name"=>"Produkt 1", "sku"=>"" ], [ "id"=>2, "name"=>"Produkt 2", "sku"=>"" ] [ ]; $externalOrder=[ "items"=>[ [ "code"=>"AWS", "product_id"=>2 ], [ "code"=>"XYZ", "product_id"=>1 ] ] ]np.: blField: products[].sku, externalField items[].code if product_id=tgt.id, pobierze wartość pola 'code' jeśli pole 'product_id' będzie miało wartość zgodną z polem 'id' z pierwszej tabeli, otrzymamy wtedy:
$blOrder=[ "products"=>[ [ "id"=>1, "name"=>"Produkt 1", "sku"=>"XYZ" ], [ "id"=>2, "name"=>"Produkt 2", "sku"=>"AWS" ] [ ];Można również użyć powiązania po kluczu, w tym celu jako 'if' należy wybrać 'idx' a jako wartość do dopasowania należy użyć skrótu 'tgt.idx' gdzie 'idx' to klucz z pierwszej tabeli, np.: np.: blField: products[].sku, externalField items[].code if idx=tgt.idx, otrzymamy wtedy:
$blOrder=[ "products"=>[ [ "id"=>1, "name"=>"Produkt 1", "sku"=>"AWS" ], [ "id"=>2, "name"=>"Produkt 2", "sku"=>"XYZ" ] [ ];w miejscu 'tgt.idx' można również użyć wartości liczbowej wskazującej na pozycję w tablicy zaczynając od '0', np. '0' oznacza pierwszy element tablicy, '1' drugi itd.,
$blOrder=[ "extra_field_1"=>"XYZ", ];w przypadku wybrania pola, które jest elementem tablicy elementów i nie wskazaniu dopasowania, zostaną wartości ze wszystkich pól,i rozdzielone wartością z pola 'value separator' np.: np.: blField: extra_field_1, externalField items[].code otrzymamy wtedy:
$blOrder=[ "extra_field_1"=>"XYZ,ABC", ];
Field in the external system, we can specify any field in the order from the external system. In the case where the field is an element of an array, you should indicate after which field of the array you want to filter by selecting a field from the dropdown list 'if' and entering a value into the 'equals' field. For example, `additional_fields[].value if field_id=3` will retrieve the 'value' of the field if the 'field_id' has a value of 3: json [ { "value": "ABC", "field_id": 7 }, { "value": "XYZ", "field_id": 3 } ] You can also link two tables together. To do this, you should use the abbreviation 'tgt.FIELD_NAME' as the matching value, where 'FIELD_NAME' is the name of the field from the first table. For instance:
$blOrder = [ "products" => [ [ "id" => 1, "name" => "Product 1", "sku" => "" ], [ "id" => 2, "name" => "Product 2", "sku" => "" ] ] ]; $externalOrder = [ "items" => [ [ "code" => "AWS", "product_id" => 2 ], [ "code" => "XYZ", "product_id" => 1 ] ] ];For example, `blField: products[].sku, externalField items[].code if product_id=tgt.id` will retrieve the 'code' value if the 'product_id' matches the 'id' from the first table:
$blOrder = [ "products" => [ [ "id" => 1, "name" => "Product 1", "sku" => "XYZ" ], [ "id" => 2, "name" => "Product 2", "sku" => "AWS" ] ] ];You can also use key-based associations. In this case, you should choose 'idx' for 'if' and use the abbreviation 'tgt.idx' as the matching value, where 'idx' is the key from the first table. For instance, `blField: products[].sku, externalField items[].code if idx=tgt.idx` will result in:
$blOrder = [ "products" => [ [ "id" => 1, "name" => "Product 1", "sku" => "AWS" ], [ "id" => 2, "name" => "Product 2", "sku" => "XYZ" ] ] ];In place of 'tgt.idx', you can also use a numerical value indicating the position in the array starting from '0', where '0' represents the first element, '1' the second, and so on. For example, `blField: extra_field_1, externalField items[].code if idx=1` will result in:
$blOrder = [ "extra_field_1" => "XYZ" ];If you choose a field that is an element of an array and do not specify a match, values from all fields will be included, separated by the 'value separator' value. For example, `blField: extra_field_1, externalField items[].code` will result in:
$blOrder = [ "extra_field_1" => "XYZ,ABC" ];
Operacja na wartościach
Operation on values
Dodaje wartość do istniejącej
Adds a value to an existing one
Doda wartość na początku istniejącej
Adds a value at the beginning of an existing one
Zamienia wartość
Replaces the value
Czyści wartość
Clears the value
Ustawia wartość NULL
Sets the value to NULL
Modyfikator wartości, przyjmuję wartości według schematu podanego poniżej, modyfikatorów można użyć wiele rozdzielając je znakiem & lub jako tablice,
parametry modyfikatorów podajemy po przecinku, lub jako kolejne elementy tablicy, której kluczem zero jest nazwa modyfikatora
Value modifier, it accepts values according to the scheme given below, you can use many modifiers by separating them with the & sign or as an array,
modifier parameters are given after a comma, or as subsequent elements of an array, whose zero key is the name of the modifier
Konwertuje wartość na datę według podanego formatu
Converts the value to a date according to the given format
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
format | Format daty Date format | Y-m-d H:i:s |
["toTime","H:i:s Y-m-d"]
Rezultat / Result: '2021-01-01 00:00:00' => '00:00:00 01-01-2021'
Konwertuje date na wartość w formacie UNIX
Converts the date to a UNIX format value
Przykład / Example: toTimestampRezultat / Result: '2021-01-01 00:00:00' => 1609459200
Usuwa białe znaki z początku i końca wartości
Removes white spaces from the beginning and end of the value
Przykład / Example:["trim"]
Rezultat / Result: ' test ' => 'test'
Usuwa białe znaki z początku wartości
Removes white spaces from the beginning of the value
Przykład / Example:["ltrim"]
Rezultat / Result: ' test ' => 'test '
Usuwa białe znaki z końca wartości
Removes white spaces from the end of the value
Przykład / Example:["rtrim"]
Rezultat / Result: ' test ' => ' test'
Zamienia wartość na wielkie litery
Converts the value to uppercase
Przykład / Example:["upper"]
Rezultat / Result: 'test test' => 'TEST TEST'
Zamienia wartość na małe litery
Converts the value to lowercase
Przykład / Example:["lower"]
Rezultat / Result: 'TEST TEST' => 'test test'
Zamienia pierwszą literę na wielką
Converts the first letter to uppercase
Przykład / Example:["ucfirts"]
Rezultat / Result: 'test test' => 'Test test'
zamienia wartości
replaces values
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
search | Wartość do zamiany Value to replace | |
replace | Wartość zamiany Replacement value |
["replace"," ","-"]
Rezultat / Result: 'test test' => 'test-test'
Zwraca fragment wartości
Returns a fragment of the value
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
start | Początek fragmentu Fragment start | |
length | Długość fragmentu Fragment length |
["substr",1,5]
Rezultat / Result: 'test test' => 'est t'
Zwraca wartość w zależności od warunku
Returns a value depending on the condition
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
true | Jeśli wartość jest prawdziwa If the value is true | |
false | Jeśli wartość jest fałszywa If the value is false |
["condition","Yes","No"]
Rezultat / Result: '1' => 'Tak'
Jeśli wartość jest pusta zwraca wartość alternatywną
If the value is empty, it returns an alternative value
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
alternativeValue | Wartość alternatywna Alternative value |
["conditionSelfText","abc"]
Rezultat / Result: ' ' => 'abc'
Jeśli wartość jest pusta zwraca wartość z podanego pola
If the value is empty, it returns the value from the given field
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
field | Pole z którego ma zostać pobrana wartość Field from which the value is to be retrieved |
["conditionSelfText","delivery_name"]
Rezultat / Result: ' ' => 'DHL'
Zamienia wartość na podstawie wyrażenia regularnego
Replaces the value based on a regular expression
Nazwa / Name | Opis / Description | Domyślna wartość / Default value |
---|---|---|
pattern | Wyrażenie regularne w formie /find_regex/ Regular expression in the form /find_regex/ | |
replace | Wartość zamiany Replacement value |
["regex","/test/","-"]
Rezultat / Result: 'test test' => '- -'
["replace,ab,bb","upper","sustr,1,2"]
'abc' => 'bbc', 'bbc'=>'BBC', 'BBC' => 'BC', otrzymamy 'BC'
Prefix dodany do wartości
Prefix added to the value
Suffix dodany do wartości
Suffix added to the value