For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deep linking

Apps in Ecwid admin can receive specific store information before loading through deep linking. When an app is opened from a specific page, Ecwid sends a URI-encoded page slug as an app_state query parameter. Use its value to adjust app flow depending on the page users came from.

Default iframeUrl example: https://my.ecwid.com/store/1234567#app:name=my-cool-app&parent-menu=sales

Example of the iframeUrl with deep linking: https://my.ecwid.com/store/1234567/#app:name=my-cool-app&app_state=orderId%3A%2012

With the app_state, you can redirect users to the page they came from with the EcwidApp.OpenPage() method.

Receive app state when accessing store data

Apps loading in Ecwid admin can receive the app_state before the authentication process. When users open the app, you'll receive a request on your server:

GET https://www.example.com/my-app-iframe-page?payload=353035362c226163636573735f746f6b656e223a22776d6&app_state=orderId%3A%2012&cache-killer=13532

Check app_state in your authentication flow and save its value to a variable.

Code example:

<?php

// URL Encoded App state passed to the app
  if (isset($_GET['app_state'])){
    $app_state = $_GET['app_state'];
  }
?>

Decoded payload example:

{
  "store_id": 1003,
  "lang": "en",
  "access_token":"xxxxxxxxxxxxxxxx",
  "app_state":"orderId%3A%2012"
}

Last updated

Was this helpful?