@shopline/admin-embedded-app-sdk
v1.3.1
Published
Admin Embedded App SDK
Downloads
2
Keywords
Readme
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();