1.3.1 • Published 3 years ago
@shopline/admin-embedded-app-sdk v1.3.1
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_idin 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();