List carriers (regions)

The carrier networks where an RBM agent can be launched are defined as "regions" in the RBM Management API.

The RBM Support team maintains an up-to-date carrier list, which grows as more carriers adopt RBM.

Code snippets on this page are taken from the Java samples and Node.js samples.

List regions

You need to retrieve a list of the launchable regions before you can submit an agent for launch.

Node.js

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper.listRegions().then((response) => {
  console.log(response.data);
}).catch((err) => {
  console.log(err);
});  

Java

List<RcsBusinessMessagingRegion> regions = api.listAllRbmLaunchRegions();
List<String> regionIds = regions.stream().map(RcsBusinessMessagingRegion::getName).sorted()
  .collect(Collectors.toList());
logger.info("Fetched region Ids: " + regionIds);

This code returns a list of all the carriers where an agent can be submitted for launch:

{
  regions: [
    {
      name: '/v1/regions/dt-germany',
      displayName: 'Germany: DT',
      managementType: 'CARRIER_MANAGED'
    },
   {
      name: '/v1/regions/9mobile-nigeria',
      displayName: 'Nigeria: 9 Mobile',
      managementType: 'GOOGLE_MANAGED'
    },
    ...
    ...
  ]
}

Carriers which are listed as CARRIER_MANAGED operate their own approval process and charge for delivery of RBM messages to their subscribers. You need to have a commercial agreement in place directly with these carriers before you can deliver RBM messages to their subscribers.