Cordova SDK Changelog

2.5.0(2022-05-17)

Features

  • Added SMT AMO cancellation
  • Added SHOW_ORDERS non transactional intent
scgateway.showOrders(function(data) {
  
  //success callback
  
}, function(error) {
  
  //failure callback
  
}, []);

Bug Fixes

  • Fixed an issue which caused broker chooser to show only 2 brokers when navigated from show_orders to transactional flow
  • Lead Gen status response from 5paisa PWA screen and broker redirection screen
  • Fixed an issue which caused broker chooser to show more than allowed brokers for show_orders.
  • Fixed an issue in show_orders which caused the SDK to launch user investments landing page for iframe brokers like AxisDirect and HDFC Sec.
  • Added intent_not_enabled_for_broker 3000 error in case a connected user's broker tries to launch show_orders even if it is not allowed to.
  • Fixed an issue which caused files of type .xlsx to fail downloading on smallcase module.

Dev improvements

  • Refactored mobile SDK version sent to gateway api.
  • Refactored smallcase gateway branding in connect-ui
  • Updated copy content in connect-ui.
    (for more details, please refer this)
  • Added a method to expose sdk version to the host module (internal-tracking).
  • Compiled the iOS framework with Xcode 13 (Swift 5.5) along with library evolution.
  • Fixed an issue which caused broker chooser to show only 1 broker when navigated from an intent with single available broker to an intent with available brokers > 1.

Intents Impacted: All Transactional Intents.

2.4.0(2022-01-19)

Features

  • Added Distribution Module to enable transactions without requiring a transactionId from the consumer. The consumer can launch the distribution module with a custom header text and a custom route along with any parameters.

  • Syntax:

scgateway.launchSmallplug(function(data) {
      
      //success callback
      
    }, function(error) {
        
      //error callback
      
    }, [targetEndpoint, params]);
  • Integrated Mixpanel sdk to track user events.
  • Integrated Sentry sdk for logging exceptions and unknown error cases.

Bug Fixes

  • Fixed an issue which caused an order to cancel when the app was minimised.
  • Removed redundant orderConfig while communicating with broker chooser.
  • Fixed an issue which caused SMT transactions to fail for a GUEST user.
  • Added objc for using smallcase module.

Dev improvements

  • Upgraded mrmike ok2curl interceptor library to version 0.7.0.
  • Removed deprecated R8 from gradle properties.
  • Replaced Coil with Glide library for inflating remote images in ImageView
  • Added support for Xcode 13

Intents Impacted : All Transaction Intents.

2.3.0(2021-12-15)

Bug Fixes

  • Fixed an issue which caused custom tab to destroy as soon as user navigates away from the app.
  • Fixed an issue which caused the sdk to be unresponsive when user clicks on back button on custom tab.
  • Fixed title and subtitle for connected users on gateway loading screen.
  • Fixed an issue which caused transactions to fail on iFrame brokers.
  • Fixed the title text of Axis Direct consent screen for SMT transactions.
  • Fixed leprechaun toggle flow in Broker Chooser. Clicking 10 times on Login with your broker will toggle the leprechaun mode for transactions.
  • Fixed an issue causing the SDK to return with init_sdk 3004 if the user logged out from the Broker Platform.
  • Fixed an issue which caused the Gateway SDK to return with no_broker 1008 code while passing an incorrect broker name during SDK initialisation.

Dev improvements

  • Removed redundant network calls to check transactionId status.
  • Broker chooser would now close automatically once the transactionId expires (i.e. in 5 minutes)

Intents Impacted : All Transaction Intents.

2.2.0(2021-08-27)

Features

  • Added Lead Id and Lead Status in LeadGen response. SDK will now send the leadId and status of the application in response to triggerLeadGen method invocation.

  • Syntax:

scgateway.triggerLeadGen(function(data) {
        // success response
  }, function(error) {
      // error response
  },[params]);

Sample LeadGen response:

{
   "leadId":"600988900ccc05c1398f59df",
   "status":"PROCESSING"
}
  • Added broker name in Transaction responses.

Sample transaction response

{
  "data": {
    "batches": [
      {
        "filled": 1,
        "variety": "regular",
        "buyAmount": 121,
        "sellAmount": 0,
        "orders": [
          {
            "orderType": "MARKET",
            "product": "CNC",
            "exchange": "NSE",
            "status": "COMPLETE",
            "quantity": 11,
            "tradingsymbol": "YESBANK",
            "transactionType": "BUY",
            "filledQuantity": 11,
            "averagePrice": 11,
            "exchangeOrderId": "611f4c58053f50b5bca736de611f4ce9053f50b5bca736e2"
          }
        ],
        "unplaced": [],
        "batchId": "611f4ce96cc52ec2a55af32d",
        "quantity": 1,
        "status": "COMPLETED",
        "completedDate": "2021-08-20T06:34:20.796Z",
        "transactionId": "TRX_ac3d3d23eddc45a48c627d32b2fa0282"
      }
    ]
  },
  "signup": false,
  "broker": "kite-leprechaun",
  "transactionId": "TRX_ac3d3d23eddc45a48c627d32b2fa0282",
  "smallcaseAuthToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFsbGNhc2VBdXRoSWQiOiI2MTFmNGNjNTAwMzIyY2E5NmIxOTVmZDciLCJpYXQiOjE2Mjk0NDEyNjUsImV4cCI6MTYyOTQ0NDg2NX0.sJkUtXGa8jg26XqyMcfHcdpRr_gm27gJ6qfr7NXm_E8"
}

Dev improvements

  • Refactored CONNECT Transaction response to a JSON string.
    Sample response for a new user on smallcase ecosystem
{
   "success":true,
   "transaction":"CONNECT",
   "data":"{\"broker\":\"kite-leprechaun\",\"signup\":true,\"smallcaseAuthToken\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFsbGNhc2VBdXRoSWQiOiI2MTI2MDQxMWE4ZThjMTI5ZTM4ODA5MTMiLCJpYXQiOjE2MzAwNDg4MzQsImV4cCI6MTYzMDA1MjQzNH0.Ym872W6a7SX7iSb-JbTg40l3aR4x0uilKBXuJzp-9m4\"}"
}

❗️

Breaking Change

The response for CONNECT Transaction now contains a JSON string for the key data which earlier consisted of only a string value for smallcaseAuthToken.

  • Reduced minimum iOS deployment target to 11.0.
  • Migrated podspec file to github.

🚧

Podfile changes

The source value in the Podfile needs to be updated to : https://github.com/smallcase/cocoapodspecs.git for receiving further updates to gateway iOS sdk.

  • Removed hardcoded IP address used for internal testing of jetpack compose.

Bug Fixes

  • Fixed an issue which caused the Gateway SDK to return with no_broker 1008 code while passing an incorrect broker name during SDK initialisation.
  • Fixed an issue which caused gateway sdk to return with no_broker 1008 code while passing an empty broker list in triggerTransaction method (obj-c).
  • Fixed an issue due to which basket name and image on broker chooser were not inflated (obj-c).
  • Fixed an issue that caused a race condition while triggering a transaction subsequently while initialising the SDK.
  • Fixed an issue that caused Xcode 12 to build arm64 architecture for x86_64 iphone simulator, thereby failing to build with a non-zero exit code.
  • Fixed an issue which caused the host app to crash while capturing an image during account opening journey with 5paisa.
  • Fixed an issue which caused broker-login to fail on some android devices and responded with error user_cancelled, 1011.

Intents Impacted : CONNECT, SST, SMT, HOLDINGS IMPORT.

2.1.0 (2021-06-2)

Features

  • Broker Logout:
    This functionality is used to terminate the smallcase session for the user’s broker.
    Example: If a user logged in with kite broker then an active session exists on smallcase.zerodha.com. This method can be used to terminate the broker session on smallcase.zerodha.com

    Intents Impacted : CONNECT, SST, SMT, HOLDINGS IMPORT.
    Platforms Impacted: android, iOS

    Syntax
scgateway.logout(function(data) { 
//Success Callback
 }, function(error) { 
// Error Callback
},[]);
  • Broker Chooser Redesigned
    We have now redesigned the look and feel of the broker chooser on gateway. Rather than 9 brokers + dropdown setup, we will now show brokers in the swipeable grid
  • Swipeable grid: users will now be able to see 8 brokers in the first fold, and a ‘more brokers’ button. Clicking the more button will show the remaining brokers in the next fold. On touch devices, users can swipe over the grid to move back and forth.
  • How does this work card: We will now show the user how the user journey looks like. For this, we have a different UI for the first time and returning users.
    First Time User: Expanded card above broker grid
    Returning User: Collapsed card above broker grid
  • Broker order on the grid based on recency of selection : We will now start to store recent brokers per transaction intents in partner app’s local storage. The broker will be ordered in the broker grid based on the recency of selection
  • Broker Consent block: Axis consent block will now be displayed on top of the broker grid when Axis is selected. Users can navigate back to the grid with the back button.

Note: In the podfile of your iOS project, update the iOS deployment target to 14.0 if not done already.

  • Basket name and image configuration on order popup & broker chooser for stock transactions
    This feature provides an option to the client to pass their custom Basket name and logo/image if any while placing an intent of type TRANSACTION. The order name and order logo will appear on the broker chooser popup & order popup. For this the client needs to pass the following meta object in the orderConfig while creating a transactionId

    Intents Impacted : TRANSACTION { type: SECURITIES }

    Sample curl below
curl --location --request POST 'https://gatewayapi.stag.smallcase.com/gateway/gatewaydemo/transaction'
--header 'Content-Type: application/json' \
--header 'x-gateway-secret: gatewayDemo_secret' \
--header 'x-gateway-authtoken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJndWVzdCI6InRydWUiLCJpYXQiOjE2MDI1NzAxOTR9.z8XSJbfipFbvpCzdhyKmvf708rUPXp6AJ9VEyPRVdZc' \
--data-raw '{
    "intent": "TRANSACTION",
    "orderConfig": {
        "type": "SECURITIES",
        "meta": {
            "orderName": "Rockstar Portfolio",
            "orderLogo": "https://avatars.dicebear.com/api/bottts/brrr.png"
        },
        "securities": [
            {
                "ticker": "INFY",
                "quantity": 10,
                "type": "BUY"
            },
            {
                "ticker": "TCS",
                "quantity": 10,
                "type": "BUY"
            }
        ]
    }
}'

Result:

  • 5paisa account opening - native PWA integration
    For users to complete the account opening application, earlier versions users were redirected to the installed browser outside the app. Now, Account opening with 5paisa will take place within the partner app via progresive web app.


Platforms Impacted: android, iOS
Note: To access the camera required during IPV stage of 5paisa account opening, add the key Privacy - Camera Usage Description with a relevant description for the user in your project’s info.plist file

Dev improvements:

  • Removed Order In Queue Screen
    For SST orders, if an order takes more than 30 seconds to get executed, that order is queued for execution with the broker and the user also receives acknowledgement via a popup.

Intents Impacted : SST
Platforms Impacted: android, iOS