AbsoluteJS

@absolutejs/dispatch-aws-end-user-messaging

@absolutejs/dispatch-aws-end-user-messagingv0.1.0betaMessaging

AWS End User Messaging SMS, MMS, RCS, Notify, and WhatsApp adapter for @absolutejs/dispatch.

#Installation

BASH
bun add @absolutejs/dispatch-aws-end-user-messaging

#Capabilities

Overview

AWS End User Messaging adapter for AbsoluteJS Dispatch. It uses AWS SDK v3 and IAM credentials to send SMS, MMS, plain or rich RCS, managed Notify templates, and WhatsApp messages.

Use an AWS phone pool as originationIdentity to get provider-managed RCS-to-SMS fallback. Put identities for only one consented use case in each pool. Configure an event destination and a Protect configuration for delivery telemetry and AIT fraud controls.

Template content uses AWS Notify when notifyConfigurationId is configured. Rich RCS accepts the provider request body under message.extensions.aws.rcs. WhatsApp template or rich payloads can be supplied under message.extensions.aws.whatsapp; ordinary text messages are generated automatically.

Outcomes

What you can build

Build on the supported package contract

Use @absolutejs/dispatch-aws-end-user-messaging through its supported public entry points.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/dispatch-aws-end-user-messaging version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/dispatch-aws-end-user-messaging example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#@absolutejs/dispatch-aws-end-user-messaging quick start

Partial snippet

# @absolutejs/dispatch-aws-end-user-messaging

TS
import { PinpointSMSVoiceV2Client } from "@aws-sdk/client-pinpoint-sms-voice-v2";
import { SocialMessagingClient } from "@aws-sdk/client-socialmessaging";
import { createAwsEndUserMessagingAdapter } from "@absolutejs/dispatch-aws-end-user-messaging";

const messaging = createAwsEndUserMessagingAdapter({
  client: new PinpointSMSVoiceV2Client({ region: "us-east-1" }),
  configurationSetName: "alerts-events",
  originationIdentity: process.env.AWS_EUM_POOL_ARN!,
  protectConfigurationId: process.env.AWS_EUM_PROTECT_ID,
  socialClient: new SocialMessagingClient({ region: "us-east-1" }),
  whatsappPhoneNumberId: process.env.AWS_WHATSAPP_PHONE_NUMBER_ID,
});

#Public entry points

Supported entry points declared by this package manifest.

Package entry point declared in package.json.

@absolutejs/dispatch-aws-end-user-messaging@absolutejs/dispatch-aws-end-user-messaging/manifest@absolutejs/dispatch-aws-end-user-messaging/manifest.json

#Package commands

Scripts declared by this package manifest.

bun run buildrm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/dispatch --external '@absolutejs/dispatch/*' --external @absolutejs/manifest --external @absolutejs/reliability --external @sinclair/typebox --external @aws-sdk/client-pinpoint-sms-voice-v2 --external @aws-sdk/client-socialmessaging && tsc --project tsconfig.build.json && absolute-manifest emit
bun run check:packagebun run format && bun run typecheck && bun run test && bun run verify-package && bun run build && bun run verify-package --artifacts
bun run formatprettier --write "./**/*.{ts,json,md}"
bun run testbun test
bun run typechecktsc --noEmit

#API reference

Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.

13 symbols
createMemoryWebhookInboxStoreexportPermalinkSource
TS
createMemoryWebhookInboxStore
Exported from @absolutejs/dispatch-aws-end-user-messaging