1.3.1 • Published 1 year ago

@shopline/admin-embedded-app-sdk v1.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

AdminEmbeddedAppSdk

AdminEmbeddedAppSdk lives in an iframe. It provides interface to trigger request to EC Admin(parent frame)

Configuration

import { AdminEmbeddedAppSdk } from 'admin-app-extension';

const clientId = 'developer app client id';
const authUrl = 'https://developer.com/auth'
const AdminEmbeddedAppSdk = await AdminEmbeddedAppSdk.init({clientId, authUrl});

API References


adminEmbeddedAppSdk.onLanguageChanged(callback)

  • Triggered when admin language is changed
  • Returns an unsubscribe function
// to subscribe
const unsubscribe = adminEmbeddedAppSdk.onLanguageChanged(function(language) {
  console.log(language)
});

// to unsubscribe
unsubscribe();

adminEmbeddedAppSdk.getSessionToken()

  • returning a JWT token used to identify current logged in user
  • session token contains staff_id, merchant_id, client_id in token payload
const sessionToken = await adminEmbeddedAppSdk.getSessionToken();

adminEmbeddedAppSdk.redirect(url)

  • performing a parent frame redirect
adminEmbeddedAppSdk.redirect('https://shoplineapp.com')

adminEmbeddedAppSdk.goBack()

  • navigate to the last route. will not exit the admin app.
adminEmbeddedAppSdk.goBack()

adminEmbeddedAppSdk.oauth()

  • execute the oauth flow to obtain access token
adminEmbeddedAppSdk.oauth()

adminEmbeddedAppSdk.getLanguage()

  • get the current language setting from EC Admin
  const language = await adminEmbeddedAppSdk.getLanguage()

adminEmbeddedAppSdk.getCurrentUrl()

  • get the top frame url
  const parentUrl = await adminEmbeddedAppSdk.getCurrentUrl()

adminEmbeddedAppSdk.routeChange()

  • notify parent frame to update the top frame route
const path = '/page1';
const querystring = 'foo=bar&bar=foo';
adminEmbeddedAppSdk.routeChange(path, querystring)

adminEmbeddedAppSdk.intercom()

  • open intercom dialog in EC Admin
adminEmbeddedAppSdk.intercom()

adminEmbeddedAppSdk.changePageTitle()

  • change page title in EC Admin
adminEmbeddedAppSdk.changePageTitle('Demo Page Title')

adminEmbeddedAppSdk.interceptRouteChange(callback)

  • Intercept admin route change and trigger callback
  • Returns a function to stop interception
// to intercept
const stopInterception = adminEmbeddedAppSdk.interceptRouteChange(function(fromUrl, toUrl) {
  console.log('From:', fromUrl);
  console.log('To:', toUrl);
});

// to stop interception
stopInterception();

adminEmbeddedAppSdk.retryRouteChange()

  • Notify EC Admin to retry the latest intercepted route change
adminEmbeddedAppSdk.retryRouteChange();
1.3.1

1 year ago

1.3.0

1 year ago