> For the complete documentation index, see [llms.txt](https://vyvojari.retailys.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vyvojari.retailys.cz/priklady-aplikaci.md).

# Příklady

## Callbacky

### Post Shopping Cart Checkout Callback

Zde je příklad vytvoření callbacku pro platební bránu pro vytvoření platby. Je třeba splnit podmínky.

```php
$callbackId = $retailysService->postShoppingCartCheckoutCallback($token, [
                    'position' => 'payment',
                    'path' => 'create-payment',
                    'method' => 'POST',
                    'redirect' => true,
                    'parameters' => [
                        [
                            'name' => 'orderId',
                            'variable' => '%orderId%',
                        ],
                        [
                            'name' => 'channelId',
                            'variable' => '%channelId%',
                        ],
                    ],
                    'condition' => '%channelId% == '.$existingChannel->getChannelId().' and %paymentProvider% == 9',
                ]);
```

{% hint style="info" %}
Endpoint  [/System/Layouts/Eshop/ShoppingCart/Checkout/Callbacks](https://api.retailys.com/v1#/System.Layouts.Eshop/postEshopShoppingCartCheckoutCallbacks) na API můžete snadno vyzkoušet.
{% endhint %}

## Vykreslení šablony

Zde je příklad, jak vykreslit šablonu, do které jsou vloženy proměnné. Je zde vrácena v JSON.

```
$snippet = $this->renderView('config/save.html.twig', [
            'config' => $config,
            'channelsData' => $channelsData,
            'configChannels' => $configChannels,
        ]);

        return $this->json(
            [
                'snippet' => $snippet,
            ]
        );
```

## Snippety

### Static Snippet

#### Post Layout

Vytvořit statický snippet v layoutu eshopu

```
$snippetId = $retailysService->postLayoutStaticSnippet($token, [
                    'position' => 'footer',
                    'raw' => $this->renderView('snippet/variable.html.twig', [
                        'variable' => $channel->getVariable(),
                    ]),
                    'condition' => '%channelId% == '.$channel->getChannelId(),
                ]);
```

{% hint style="info" %}
Endpoint [/System/Layouts/Eshop/Layout/StaticSnippets](https://api.retailys.com/v1#/System.Layouts.Eshop/postEshopLayoutStaticSnippets) na API můžete snadno vyzkoušet.
{% endhint %}

#### Put Layout

Aktualizovat statický snippet v layoutu eshopu

```
$snippetResult = $retailysService->putLayoutStaticSnippet($token, [
                    'id' => $channel->getSnippetId(),
                    'position' => 'footer',
                    'raw' => $this->renderView('snippet/variable.html.twig', [
                        'variable' => $channel->getVariable(),
                    ]),
                    'condition' => '%channelId% == '.$channel->getChannelId(),
                ]);
```

{% hint style="info" %}
Endpoint [/System/Layouts/Eshop/Layout/StaticSnippets](https://api.retailys.com/v1#/System.Layouts.Eshop/putEshopLayoutStaticSnippets) na API můžete snadno vyzkoušet.
{% endhint %}

### Dynamic Snippet

#### PostDynamicSnippet

Na děkovnou stránku v košíku eshopu.

```
$dynamicSnippetId = $retailysService->postShippingCartThankYouDynamicSnippet($token, [
                        'position' => 'footer',
                        'type' => 'twig',
                        'template' => $this->renderView('snippet/example.html.twig', [
                          'variable' => $channel->getVariable(),
                        ]),
                        'condition' => '%channelId% == '.$channel->getChannelId(),
                    ]);
```

{% hint style="info" %}
Endpoint [/System/Layouts/Eshop/ShoppingCart/Thankyou/DynamicSnippets](https://api.retailys.com/v1#/System.Layouts.Eshop/postEshopShoppingCartThankyouDynamicSnippets) na API můžete snadno vyzkoušet.
{% endhint %}
