Socket
Socket
Sign inDemoInstall

@grabjs/superapp-sdk

Package Overview
Dependencies
1
Maintainers
42
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @grabjs/superapp-sdk

SDK for Grab SuperApp WebView.


Version published
Maintainers
42
Install size
42.2 kB
Created

Readme

Source

JavaScript to Native bridge communication

Overview

Communication between web-app and native Grab app happens via web bridge. Each request and response object must have a structure defined in this document.

Currently available modules

  • Location Module.
  • Media Module.
  • Scope Module.
  • Locale Module.
  • Storage Module
  • Platform Module

One point to note is that partner engineers need to call ScopeModule.reloadScopes after redirection to partner website to load permissions from GrabID:

const scopeModule = new ScopeModule();
await scopeModule.reloadScopes();

Afterwards, calls to module methods will reflect actual permissions.

Request

Each request to native API should be done through JavaScript bridge provided by Grab. Please refer to specific Module API documentation for more details

Response

Each resonse from the native bridge follows the same structure described bellow.

KeyTypeDescription
status_codeIntegerResponse status code (see list of codes below)
resultObject or primitive typeResult object according to method specification (required for 200 status code)
errorStringError message (required for non-200 status codes)

Response status codes

CodeTypeDescription
200OKRequest successful, result value contains response data
204No ContentRequest successful, result value doesn't contain data
400Bad RequestThe request is malformed (e.g. missing parameters, missing method name)
403ForbiddenThe client doesn't have permission to access this method
424Failed DependencyUnderlying request returned an error
500Internal ErrorUnexpected internal error (e.g. failed to serialize response object)

Success response example

{
  "status_code": 200,
  "result": {
    "latitude": 1.234523,
    "longitude": 1.4356345
  }
}

Failure response example

{
  "status_code": 403,
  "error": "Client doesn't have access to method \"getLocation\" in module \"LocationModule\""
}

Keywords

FAQs

Last updated on 11 Sep 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc