Skip to content

integrations/messaging/rcs/dist

Interfaces

ParseRcsWebhookOptions

Properties

clientToken?
optional clientToken?: string;
jwtVerifier?
optional jwtVerifier?: RcsJwtVerifier;
requireSignature?
optional requireSignature?: boolean;
sharedSecret?
optional sharedSecret?: string;
verifier?
optional verifier?: RcsWebhookVerifier;

RcsAgentEvent

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

eventType
eventType: RcsAgentEventType;
messageId?
optional messageId?: string;

RcsAgentMessage

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

contentMessage?
optional contentMessage?: RcsContentMessage;
expireTime?
optional expireTime?: string;
messageTrafficType?
optional messageTrafficType?: RcsMessageTrafficType;
representative?
optional representative?: RcsMessagingJsonObject;
ttl?
optional ttl?: string;

RcsAgentResource

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

displayName?
optional displayName?: string;
name?
optional name?: string;
rcsBusinessMessagingAgent?
optional rcsBusinessMessagingAgent?: RcsMessagingJsonObject;

RcsBusinessMessagingSdkClient

Properties

files
files: {
  create: Promise<RcsBusinessMessagingSdkResponse<RcsFileResource>>;
};
create()
create(params, options?): Promise<RcsBusinessMessagingSdkResponse<RcsFileResource>>;
Parameters
Parameter Type
params RcsMessagingJsonObject & { access_token?: string; agentId?: string; media?: { body?: unknown; mimeType?: string; }; requestBody?: RcsCreateFileInput; }
options? RcsBusinessMessagingSdkRequestOptions
Returns

Promise\<RcsBusinessMessagingSdkResponse\<RcsFileResource>>

phones
phones: {
  agentEvents: {
     create: Promise<RcsBusinessMessagingSdkResponse<RcsAgentEvent>>;
  };
  agentMessages: {
     create: Promise<RcsBusinessMessagingSdkResponse<RcsAgentMessage>>;
  };
  getCapabilities: Promise<RcsBusinessMessagingSdkResponse<RcsCapabilityResponse>>;
};
agentEvents
agentEvents: {
  create: Promise<RcsBusinessMessagingSdkResponse<RcsAgentEvent>>;
};
agentEvents.create()
create(params, options?): Promise<RcsBusinessMessagingSdkResponse<RcsAgentEvent>>;
Parameters
Parameter Type
params RcsMessagingJsonObject & { access_token?: string; agentId?: string; eventId?: string; parent: string; requestBody: RcsAgentEvent; }
options? RcsBusinessMessagingSdkRequestOptions
Returns

Promise\<RcsBusinessMessagingSdkResponse\<RcsAgentEvent>>

agentMessages
agentMessages: {
  create: Promise<RcsBusinessMessagingSdkResponse<RcsAgentMessage>>;
};
agentMessages.create()
create(params, options?): Promise<RcsBusinessMessagingSdkResponse<RcsAgentMessage>>;
Parameters
Parameter Type
params RcsMessagingJsonObject & { access_token?: string; agentId?: string; messageId: string; parent: string; requestBody: RcsAgentMessage; }
options? RcsBusinessMessagingSdkRequestOptions
Returns

Promise\<RcsBusinessMessagingSdkResponse\<RcsAgentMessage>>

getCapabilities()
getCapabilities(params, options?): Promise<RcsBusinessMessagingSdkResponse<RcsCapabilityResponse>>;
Parameters
Parameter Type
params RcsMessagingJsonObject & { access_token?: string; agentId?: string; name: string; requestId?: string; }
options? RcsBusinessMessagingSdkRequestOptions
Returns

Promise\<RcsBusinessMessagingSdkResponse\<RcsCapabilityResponse>>


RcsBusinessMessagingSdkRequestOptions

Properties

rootUrl?
optional rootUrl?: string;
signal?
optional signal?: AbortSignal;

RcsBusinessMessagingSdkResponse

Type Parameters

Type Parameter
T

Properties

data?
optional data?: T;

RcsCapabilityResponse

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

carrier?
optional carrier?: string;
features?
optional features?: string[];

RcsContentInfo

Properties

fileUrl
fileUrl: string;
forceRefresh?
optional forceRefresh?: boolean;
thumbnailUrl?
optional thumbnailUrl?: string;

RcsContentMessage

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

contentInfo?
optional contentInfo?: RcsContentInfo;
richCard?
optional richCard?: RcsRichCard;
suggestions?
optional suggestions?: RcsSuggestion[];
text?
optional text?: string;
uploadedRbmFile?
optional uploadedRbmFile?: RcsUploadedRbmFile;

RcsCreateFileInput

Properties

fileUrl
fileUrl: string;
thumbnailUrl?
optional thumbnailUrl?: string;

RcsCredentialStatusInput

Properties

accessToken?
optional accessToken?: string;
agentId?
optional agentId?: string;
agentName?
optional agentName?: string;
expiresAt?
optional expiresAt?: string;
providerClientConfigured?
optional providerClientConfigured?: boolean;
scopes?
optional scopes?: string[];
serviceAccountConfigured?
optional serviceAccountConfigured?: boolean;
tokenProviderConfigured?
optional tokenProviderConfigured?: boolean;
webhookClientToken?
optional webhookClientToken?: string;

RcsFileResource

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

fileUrl?
optional fileUrl?: string;
name?
optional name?: string;
thumbnailUrl?
optional thumbnailUrl?: string;

RcsLiveCheckOptions

Extends

Properties

accessToken?
optional accessToken?: string;
Inherited from

RcsMessagingClientOptions.accessToken

agentId?
optional agentId?: string;
Inherited from

RcsMessagingClientOptions.agentId

agentName?
optional agentName?: string;
Inherited from

RcsMessagingClientOptions.agentName

baseUrl?
optional baseUrl?: string;
Inherited from

RcsMessagingClientOptions.baseUrl

capabilityPhoneNumber?
optional capabilityPhoneNumber?: string;
client?
optional client?: Pick<RcsMessagingClient,
  | "getAgent"
  | "getAgentLaunch"
  | "getAgentVerification"
| "getCapabilities">;
fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

Inherited from

RcsMessagingClientOptions.fetch

managementApiBaseUrl?
optional managementApiBaseUrl?: string;
Inherited from

RcsMessagingClientOptions.managementApiBaseUrl

managementBaseUrl?
optional managementBaseUrl?: string;
Inherited from

RcsMessagingClientOptions.managementBaseUrl

messagingApiBaseUrl?
optional messagingApiBaseUrl?: string;
Inherited from

RcsMessagingClientOptions.messagingApiBaseUrl

providerClient?
optional providerClient?: RcsMessagingProviderClient;
Inherited from

RcsMessagingClientOptions.providerClient

region?
optional region?: string;
Inherited from

RcsMessagingClientOptions.region

retry?
optional retry?:
  | number
  | ProviderJsonRetryOptions;
Inherited from

RcsMessagingClientOptions.retry

sdkClient?
optional sdkClient?: RcsBusinessMessagingSdkClient;
Inherited from

RcsMessagingClientOptions.sdkClient

serviceAccount?
optional serviceAccount?: RcsServiceAccountCredentials;
Inherited from

RcsMessagingClientOptions.serviceAccount

signal?
optional signal?: AbortSignal;
Inherited from

RcsMessagingClientOptions.signal

timeoutMs?
optional timeoutMs?: number;
Inherited from

RcsMessagingClientOptions.timeoutMs

tokenProvider?
optional tokenProvider?: RcsAccessTokenProvider;
Inherited from

RcsMessagingClientOptions.tokenProvider


RcsMessagingClient

Extends

Properties

providerClient
providerClient: RcsMessagingProviderClient;
rawClient?
optional rawClient?: unknown;
Inherited from

RcsMessagingProviderClient.rawClient

Methods

createFile()
createFile(input): Promise<RcsFileResource>;
Parameters
Parameter Type
input RcsCreateFileInput
Returns

Promise\<RcsFileResource>

Inherited from

RcsMessagingProviderClient.createFile

getAgent()
getAgent(agentName?): Promise<RcsAgentResource>;
Parameters
Parameter Type
agentName? string
Returns

Promise\<RcsAgentResource>

Inherited from

RcsMessagingProviderClient.getAgent

getAgentLaunch()
getAgentLaunch(agentName?): Promise<RcsMessagingProviderResponse>;
Parameters
Parameter Type
agentName? string
Returns

Promise\<RcsMessagingProviderResponse>

Inherited from

RcsMessagingProviderClient.getAgentLaunch

getAgentVerification()
getAgentVerification(agentName?): Promise<RcsMessagingProviderResponse>;
Parameters
Parameter Type
agentName? string
Returns

Promise\<RcsMessagingProviderResponse>

Inherited from

RcsMessagingProviderClient.getAgentVerification

getCapabilities()
getCapabilities(input): Promise<RcsCapabilityResponse>;
Parameters
Parameter Type
input { phoneNumber: string; requestId?: string; }
input.phoneNumber string
input.requestId? string
Returns

Promise\<RcsCapabilityResponse>

Inherited from

RcsMessagingProviderClient.getCapabilities

rawRequest()?
optional rawRequest<T>(operation, input?): Promise<T>;
Type Parameters
Type Parameter Default type
T RcsMessagingProviderResponse
Parameters
Parameter Type
operation string
input? unknown
Returns

Promise\<T>

Inherited from

RcsMessagingProviderClient.rawRequest

sendAgentEvent()
sendAgentEvent(input): Promise<RcsAgentEvent>;
Parameters
Parameter Type
input RcsSendAgentEventInput
Returns

Promise\<RcsAgentEvent>

Inherited from

RcsMessagingProviderClient.sendAgentEvent

sendCard()
sendCard(input): Promise<RcsAgentMessage>;
Parameters
Parameter Type
input RcsSendCardInput
Returns

Promise\<RcsAgentMessage>

sendMedia()
sendMedia(input): Promise<RcsAgentMessage>;
Parameters
Parameter Type
input RcsSendMediaInput
Returns

Promise\<RcsAgentMessage>

sendMessage()
sendMessage(input): Promise<RcsAgentMessage>;
Parameters
Parameter Type
input RcsSendMessageInput
Returns

Promise\<RcsAgentMessage>

Inherited from

RcsMessagingProviderClient.sendMessage

sendReadReceipt()
sendReadReceipt(input): Promise<RcsAgentEvent>;
Parameters
Parameter Type
input { eventId?: string; messageId: string; phoneNumber: string; }
input.eventId? string
input.messageId string
input.phoneNumber string
Returns

Promise\<RcsAgentEvent>

sendText()
sendText(input): Promise<RcsAgentMessage>;
Parameters
Parameter Type
input RcsSendTextInput
Returns

Promise\<RcsAgentMessage>

sendTyping()
sendTyping(input): Promise<RcsAgentEvent>;
Parameters
Parameter Type
input { eventId?: string; phoneNumber: string; }
input.eventId? string
input.phoneNumber string
Returns

Promise\<RcsAgentEvent>

uploadFile()
uploadFile(input): Promise<RcsFileResource>;
Parameters
Parameter Type
input RcsUploadFileInput
Returns

Promise\<RcsFileResource>

Inherited from

RcsMessagingProviderClient.uploadFile


RcsMessagingClientOptions

Extended by

Properties

accessToken?
optional accessToken?: string;
agentId?
optional agentId?: string;
agentName?
optional agentName?: string;
baseUrl?
optional baseUrl?: string;
fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

managementApiBaseUrl?
optional managementApiBaseUrl?: string;
managementBaseUrl?
optional managementBaseUrl?: string;
messagingApiBaseUrl?
optional messagingApiBaseUrl?: string;
providerClient?
optional providerClient?: RcsMessagingProviderClient;
region?
optional region?: string;
retry?
optional retry?:
  | number
  | ProviderJsonRetryOptions;
sdkClient?
optional sdkClient?: RcsBusinessMessagingSdkClient;
serviceAccount?
optional serviceAccount?: RcsServiceAccountCredentials;
signal?
optional signal?: AbortSignal;
timeoutMs?
optional timeoutMs?: number;
tokenProvider?
optional tokenProvider?: RcsAccessTokenProvider;

RcsMessagingJsonObject

Extended by

Indexable

[key: string]: RcsMessagingProviderExtensionValue

RcsMessagingProviderClient

Extended by

Properties

rawClient?
optional rawClient?: unknown;

Methods

createFile()
createFile(input): Promise<RcsFileResource>;
Parameters
Parameter Type
input RcsCreateFileInput
Returns

Promise\<RcsFileResource>

getAgent()
getAgent(agentName?): Promise<RcsAgentResource>;
Parameters
Parameter Type
agentName? string
Returns

Promise\<RcsAgentResource>

getAgentLaunch()
getAgentLaunch(agentName?): Promise<RcsMessagingProviderResponse>;
Parameters
Parameter Type
agentName? string
Returns

Promise\<RcsMessagingProviderResponse>

getAgentVerification()
getAgentVerification(agentName?): Promise<RcsMessagingProviderResponse>;
Parameters
Parameter Type
agentName? string
Returns

Promise\<RcsMessagingProviderResponse>

getCapabilities()
getCapabilities(input): Promise<RcsCapabilityResponse>;
Parameters
Parameter Type
input { phoneNumber: string; requestId?: string; }
input.phoneNumber string
input.requestId? string
Returns

Promise\<RcsCapabilityResponse>

rawRequest()?
optional rawRequest<T>(operation, input?): Promise<T>;
Type Parameters
Type Parameter Default type
T RcsMessagingProviderResponse
Parameters
Parameter Type
operation string
input? unknown
Returns

Promise\<T>

sendAgentEvent()
sendAgentEvent(input): Promise<RcsAgentEvent>;
Parameters
Parameter Type
input RcsSendAgentEventInput
Returns

Promise\<RcsAgentEvent>

sendMessage()
sendMessage(input): Promise<RcsAgentMessage>;
Parameters
Parameter Type
input RcsSendMessageInput
Returns

Promise\<RcsAgentMessage>

uploadFile()
uploadFile(input): Promise<RcsFileResource>;
Parameters
Parameter Type
input RcsUploadFileInput
Returns

Promise\<RcsFileResource>


RcsMessagingProviderExtensionFields

Extends

Indexable

[key: string]: RcsMessagingProviderExtensionValue

RcsMessagingProviderResponse

Extends

Indexable

[key: string]: RcsMessagingProviderExtensionValue

RcsRichCard

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

carouselCard?
optional carouselCard?: RcsMessagingJsonObject;
standaloneCard?
optional standaloneCard?: RcsMessagingJsonObject;

RcsSelectedOperation

Properties

api
api: "rcsbusinessmessaging.v1" | "businesscommunications.v1";
functionName
functionName: string;
method
method: "GET" | "POST";
notes?
optional notes?: string;
path
path: string;
sourceUrl
sourceUrl: string;
uid
uid: string;

RcsSendAgentEventInput

Properties

event
event: RcsAgentEvent;
eventId?
optional eventId?: string;
phoneNumber
phoneNumber: string;

RcsSendCardInput

Properties

expireTime?
optional expireTime?: string;
messageId
messageId: string;
messageTrafficType?
optional messageTrafficType?: RcsMessageTrafficType;
phoneNumber
phoneNumber: string;
richCard
richCard: RcsRichCard;
suggestions?
optional suggestions?: RcsSuggestion[];
ttl?
optional ttl?: string;

RcsSendMediaInput

Properties

contentInfo?
optional contentInfo?: RcsContentInfo;
expireTime?
optional expireTime?: string;
messageId
messageId: string;
messageTrafficType?
optional messageTrafficType?: RcsMessageTrafficType;
phoneNumber
phoneNumber: string;
suggestions?
optional suggestions?: RcsSuggestion[];
ttl?
optional ttl?: string;
uploadedRbmFile?
optional uploadedRbmFile?: RcsUploadedRbmFile;

RcsSendMessageInput

Properties

message
message: RcsAgentMessage;
messageId
messageId: string;
phoneNumber
phoneNumber: string;

RcsSendTextInput

Properties

expireTime?
optional expireTime?: string;
messageId
messageId: string;
messageTrafficType?
optional messageTrafficType?: RcsMessageTrafficType;
phoneNumber
phoneNumber: string;
suggestions?
optional suggestions?: RcsSuggestion[];
text
text: string;
ttl?
optional ttl?: string;

RcsServiceAccountCredentials

Properties

clientEmail
clientEmail: string;
privateKey
privateKey: string;
scopes?
optional scopes?: string[];
tokenUri?
optional tokenUri?: string;

RcsSuggestion

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

action?
optional action?: RcsMessagingJsonObject;
reply?
optional reply?: RcsMessagingJsonObject;

RcsUploadedRbmFile

Properties

fileName
fileName: string;
thumbnailName?
optional thumbnailName?: string;

RcsUploadFileInput

Properties

body
body: BodyInit;
contentType
contentType: string;

RcsWebhookEnvelope

Indexable

[key: string]: RcsMessagingProviderExtensionValue

Properties

clientToken?
optional clientToken?: string;
message?
optional message?: {
[key: string]: RcsMessagingProviderExtensionValue;
  attributes?: Record<string, string>;
  body?: string;
  data?: string;
  messageId?: string;
  publishTime?: string;
};
Index Signature
[key: string]: RcsMessagingProviderExtensionValue
attributes?
optional attributes?: Record<string, string>;
body?
optional body?: string;
data?
optional data?: string;
messageId?
optional messageId?: string;
publishTime?
optional publishTime?: string;
secret?
optional secret?: string;
subscription?
optional subscription?: string;

RcsWebhookEvent

Properties

decodedBody?
optional decodedBody?: string;
encodedMessageBody?
optional encodedMessageBody?: string;
envelope
envelope: RcsWebhookEnvelope;
kind
kind: RcsWebhookEventKind;
payload
payload: RcsMessagingJsonObject;
rawBody
rawBody: string;

ValidateRcsWebhookSignatureInput

Properties

clientToken
clientToken: string;
encodedMessageBody
encodedMessageBody: string;
signature
signature: string;

Type Aliases

RcsAccessTokenProvider

type RcsAccessTokenProvider = (input) => string | Promise<string>;

Parameters

Parameter Type
input { fetch: typeof fetch; scopes: string[]; }
input.fetch typeof fetch
input.scopes string[]

Returns

string | Promise\<string>


RcsAgentEventType

type RcsAgentEventType = "READ" | "IS_TYPING";

RcsJwtVerifier

type RcsJwtVerifier = (input) => boolean | Promise<boolean>;

Parameters

Parameter Type
input { decodedBody: string; envelope: RcsWebhookEnvelope; rawBody: string; request: Request; token: string; }
input.decodedBody string
input.envelope RcsWebhookEnvelope
input.rawBody string
input.request Request
input.token string

Returns

boolean | Promise\<boolean>


RcsMessageTrafficType

type RcsMessageTrafficType =
  | "MESSAGE_TRAFFIC_TYPE_UNSPECIFIED"
  | "AUTHENTICATION"
  | "TRANSACTION"
  | "PROMOTION"
  | "SERVICEREQUEST"
  | "ACKNOWLEDGEMENT";

RcsMessagingJsonPrimitive

type RcsMessagingJsonPrimitive = string | number | boolean | null;

RcsMessagingJsonValue

type RcsMessagingJsonValue =
  | RcsMessagingJsonPrimitive
  | RcsMessagingJsonObject
  | readonly RcsMessagingJsonValue[];

RcsMessagingProviderExtensionValue

type RcsMessagingProviderExtensionValue = RcsMessagingJsonValue | object | undefined;

RcsMessagingProviderPayload

type RcsMessagingProviderPayload = RcsMessagingJsonObject | object;

RcsMessagingProviderQuery

type RcsMessagingProviderQuery = Record<string, RcsMessagingProviderExtensionValue>;

RcsWebhookEventKind

type RcsWebhookEventKind =
  | "verification"
  | "message"
  | "delivery-receipt"
  | "read-receipt"
  | "typing"
  | "subscription"
  | "suggestion"
  | "platform"
  | "unknown";

RcsWebhookVerifier

type RcsWebhookVerifier = (input) => boolean | Promise<boolean>;

Parameters

Parameter Type
input { decodedBody: string; envelope: RcsWebhookEnvelope; rawBody: string; request: Request; }
input.decodedBody string
input.envelope RcsWebhookEnvelope
input.rawBody string
input.request Request

Returns

boolean | Promise\<boolean>

Variables

RCS_BUSINESS_COMMUNICATIONS_SCOPE

const RCS_BUSINESS_COMMUNICATIONS_SCOPE: "https://www.googleapis.com/auth/businesscommunications" = "https://www.googleapis.com/auth/businesscommunications";

RCS_HOST_CLIENT_METADATA

const RCS_HOST_CLIENT_METADATA: {
  allowlistChecksum: string;
  allowlistChecksumAlgorithm: "sha256";
  apiCoverage: {
     checkedAt: "2026-06-25";
     operationCatalog: "package:src/selected-operations.ts";
  };
  checkedAt: "2026-06-25";
  sdkDecision: {
     failClosedWithoutCredentialedTransport: true;
     notes: readonly ["@google/rcsbusinessmessaging is the default runtime for RBM agentMessages, agentEvents, files, and phone capabilities.", "The package does not expose the Business Communications brands.agents readiness API used by this support slice, so those read-only checks use a strict typed REST adapter.", "Both runtime paths share the same accessToken, tokenProvider, and service-account credential handling.", "API key-only transport is rejected; hosts may inject RcsMessagingProviderClient when they want to wrap Google's SDK or another approved provider runtime."];
     officialRuntimeSdk: {
        docsUrl: "https://developers.google.com/business-communications/rcs-business-messaging/reference/libraries";
        npmModifiedAt: "2025-04-30T16:44:00.722Z";
        packageName: "@google/rcsbusinessmessaging";
        status: "real-maintained-rbm-runtime";
        versionChecked: "1.0.10";
     };
     selectedDefaultClient: "google-rcsbusinessmessaging-sdk-plus-businesscommunications-rest";
     viableAsSoleDefaultRuntime: false;
     viableForRbmMessagingRuntime: true;
  };
  selectedOperations: (
     | {
     api: "rcsbusinessmessaging.v1";
     functionName: string;
     method: "POST";
     notes?: never;
     path: string;
     sourceUrl: string;
     uid: string;
   }
     | {
     api: "rcsbusinessmessaging.v1";
     functionName: string;
     method: "POST";
     notes: string;
     path: string;
     sourceUrl: string;
     uid: string;
   }
     | {
     api: "rcsbusinessmessaging.v1";
     functionName: string;
     method: "GET";
     notes?: never;
     path: string;
     sourceUrl: string;
     uid: string;
   }
     | {
     api: "businesscommunications.v1";
     functionName: string;
     method: "GET";
     notes?: never;
     path: string;
     sourceUrl: string;
     uid: string;
  })[];
  source: "official Google RCS for Business SDK plus Business Communications REST reference";
  sourceVersion: "rcsbusinessmessaging.v1 + businesscommunications.v1 public docs checked 2026-06-25";
  strategy: "provider-sdk-hybrid";
};

Type Declaration

Name Type
allowlistChecksum string
allowlistChecksumAlgorithm "sha256"
apiCoverage { checkedAt: "2026-06-25"; operationCatalog: "package:src/selected-operations.ts"; }
apiCoverage.checkedAt "2026-06-25"
apiCoverage.operationCatalog "package:src/selected-operations.ts"
checkedAt "2026-06-25"
sdkDecision { failClosedWithoutCredentialedTransport: true; notes: readonly ["@google/rcsbusinessmessaging is the default runtime for RBM agentMessages, agentEvents, files, and phone capabilities.", "The package does not expose the Business Communications brands.agents readiness API used by this support slice, so those read-only checks use a strict typed REST adapter.", "Both runtime paths share the same accessToken, tokenProvider, and service-account credential handling.", "API key-only transport is rejected; hosts may inject RcsMessagingProviderClient when they want to wrap Google's SDK or another approved provider runtime."]; officialRuntimeSdk: { docsUrl: "https://developers.google.com/business-communications/rcs-business-messaging/reference/libraries"; npmModifiedAt: "2025-04-30T16:44:00.722Z"; packageName: "@google/rcsbusinessmessaging"; status: "real-maintained-rbm-runtime"; versionChecked: "1.0.10"; }; selectedDefaultClient: "google-rcsbusinessmessaging-sdk-plus-businesscommunications-rest"; viableAsSoleDefaultRuntime: false; viableForRbmMessagingRuntime: true; }
sdkDecision.failClosedWithoutCredentialedTransport true
sdkDecision.notes readonly ["@google/rcsbusinessmessaging is the default runtime for RBM agentMessages, agentEvents, files, and phone capabilities.", "The package does not expose the Business Communications brands.agents readiness API used by this support slice, so those read-only checks use a strict typed REST adapter.", "Both runtime paths share the same accessToken, tokenProvider, and service-account credential handling.", "API key-only transport is rejected; hosts may inject RcsMessagingProviderClient when they want to wrap Google's SDK or another approved provider runtime."]
sdkDecision.officialRuntimeSdk { docsUrl: "https://developers.google.com/business-communications/rcs-business-messaging/reference/libraries"; npmModifiedAt: "2025-04-30T16:44:00.722Z"; packageName: "@google/rcsbusinessmessaging"; status: "real-maintained-rbm-runtime"; versionChecked: "1.0.10"; }
sdkDecision.officialRuntimeSdk.docsUrl "https://developers.google.com/business-communications/rcs-business-messaging/reference/libraries"
sdkDecision.officialRuntimeSdk.npmModifiedAt "2025-04-30T16:44:00.722Z"
sdkDecision.officialRuntimeSdk.packageName "@google/rcsbusinessmessaging"
sdkDecision.officialRuntimeSdk.status "real-maintained-rbm-runtime"
sdkDecision.officialRuntimeSdk.versionChecked "1.0.10"
sdkDecision.selectedDefaultClient "google-rcsbusinessmessaging-sdk-plus-businesscommunications-rest"
sdkDecision.viableAsSoleDefaultRuntime false
sdkDecision.viableForRbmMessagingRuntime true
selectedOperations ( | { api: "rcsbusinessmessaging.v1"; functionName: string; method: "POST"; notes?: never; path: string; sourceUrl: string; uid: string; } | { api: "rcsbusinessmessaging.v1"; functionName: string; method: "POST"; notes: string; path: string; sourceUrl: string; uid: string; } | { api: "rcsbusinessmessaging.v1"; functionName: string; method: "GET"; notes?: never; path: string; sourceUrl: string; uid: string; } | { api: "businesscommunications.v1"; functionName: string; method: "GET"; notes?: never; path: string; sourceUrl: string; uid: string; })[]
source "official Google RCS for Business SDK plus Business Communications REST reference"
sourceVersion "rcsbusinessmessaging.v1 + businesscommunications.v1 public docs checked 2026-06-25"
strategy "provider-sdk-hybrid"

RCS_MESSAGING_SCOPE

const RCS_MESSAGING_SCOPE: "https://www.googleapis.com/auth/rcsbusinessmessaging" = "https://www.googleapis.com/auth/rcsbusinessmessaging";

RCS_SELECTED_OPERATION_COUNT

const RCS_SELECTED_OPERATION_COUNT: number;

RCS_SELECTED_OPERATIONS

const RCS_SELECTED_OPERATIONS: (
  | {
  api: "rcsbusinessmessaging.v1";
  functionName: string;
  method: "POST";
  notes?: never;
  path: string;
  sourceUrl: string;
  uid: string;
}
  | {
  api: "rcsbusinessmessaging.v1";
  functionName: string;
  method: "POST";
  notes: string;
  path: string;
  sourceUrl: string;
  uid: string;
}
  | {
  api: "rcsbusinessmessaging.v1";
  functionName: string;
  method: "GET";
  notes?: never;
  path: string;
  sourceUrl: string;
  uid: string;
}
  | {
  api: "businesscommunications.v1";
  functionName: string;
  method: "GET";
  notes?: never;
  path: string;
  sourceUrl: string;
  uid: string;
})[];

Functions

createRcsCardMessage()

function createRcsCardMessage(input): RcsAgentMessage;

Parameters

Parameter Type
input Omit\<RcsSendCardInput, "phoneNumber" | "messageId">

Returns

RcsAgentMessage


createRcsMediaMessage()

function createRcsMediaMessage(input): RcsAgentMessage;

Parameters

Parameter Type
input Omit\<RcsSendMediaInput, "phoneNumber" | "messageId">

Returns

RcsAgentMessage


createRcsMessagingClient()

function createRcsMessagingClient(options?): RcsMessagingClient;

Parameters

Parameter Type
options? RcsMessagingClientOptions

Returns

RcsMessagingClient


createRcsMessagingLiveChecks()

function createRcsMessagingLiveChecks(options): (
  | {
  description: string;
  id: string;
  requiredCredentialIds: string[];
  run: Promise<
     | {
     details: {
        agentName: string;
        displayName?: never;
        name?: never;
     };
   }
     | {
     details: {
        agentName?: never;
        displayName: string;
        name: string;
     };
  }>;
}
  | {
  description: string;
  id: string;
  requiredCredentialIds: string[];
  run: Promise<{
     details: RcsMessagingProviderResponse;
  }>;
}
  | {
  description: string;
  id: string;
  requiredCredentialIds: string[];
  run: Promise<
     | {
     details: {
        carrier?: never;
        features?: never;
        phoneNumber: string;
     };
   }
     | {
     details: {
        carrier: string;
        features: string[];
        phoneNumber?: never;
     };
  }>;
})[];

Parameters

Parameter Type
options RcsLiveCheckOptions

Returns

( | { description: string; id: string; requiredCredentialIds: string[]; run: Promise\< | { details: { agentName: string; displayName?: never; name?: never; }; } | { details: { agentName?: never; displayName: string; name: string; }; }>; } | { description: string; id: string; requiredCredentialIds: string[]; run: Promise\<{ details: RcsMessagingProviderResponse; }>; } | { description: string; id: string; requiredCredentialIds: string[]; run: Promise\< | { details: { carrier?: never; features?: never; phoneNumber: string; }; } | { details: { carrier: string; features: string[]; phoneNumber?: never; }; }>; })[]


createRcsRestProviderClient()

function createRcsRestProviderClient(options): RcsMessagingProviderClient;

Parameters

Parameter Type
options RcsMessagingClientOptions

Returns

RcsMessagingProviderClient


createRcsSdkProviderClient()

function createRcsSdkProviderClient(options): RcsMessagingProviderClient;

Parameters

Parameter Type
options RcsMessagingClientOptions

Returns

RcsMessagingProviderClient


createRcsTextMessage()

function createRcsTextMessage(input): RcsAgentMessage;

Parameters

Parameter Type
input Omit\<RcsSendTextInput, "phoneNumber" | "messageId">

Returns

RcsAgentMessage


parseRcsWebhook()

function parseRcsWebhook(request, options?): Promise<RcsWebhookEvent>;

Parameters

Parameter Type
request Request
options? ParseRcsWebhookOptions

Returns

Promise\<RcsWebhookEvent>


rcsMessagingCredentialStatuses()

function rcsMessagingCredentialStatuses(input): {
  expiresAt?: string;
  message?: string;
  providerPackageId?: string;
  requirementId: string;
  scopes?: string[];
  state:   | "required"
     | "configured"
     | "permission-blocked"
     | "not-required"
     | "missing"
     | "expired"
     | "insufficient-scope"
     | "unavailable";
}[];

Parameters

Parameter Type
input RcsCredentialStatusInput

Returns

{ expiresAt?: string; message?: string; providerPackageId?: string; requirementId: string; scopes?: string[]; state: | "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable"; }[]


validateRcsWebhookSignature()

function validateRcsWebhookSignature(input): boolean;

Parameters

Parameter Type
input ValidateRcsWebhookSignatureInput

Returns

boolean


verifyRcsWebhookChallenge()

function verifyRcsWebhookChallenge(input): string;

Parameters

Parameter Type
input { clientToken: string; expectedClientToken: string; secret: string; }
input.clientToken string
input.expectedClientToken string
input.secret string

Returns

string

References

rcsMessagingProviderManifest

Re-exports rcsMessagingProviderManifest