sendity/whatsapp-channel

Framework-agnostic Sendity WhatsApp Business Cloud webhook channel parser.

Maintainers

Package info

gitlab.com/sendity/channels/whatsapp/php

Issues

pkg:composer/sendity/whatsapp-channel

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

v0.1.0 2026-06-11 09:49 UTC

This package is not auto-updated.

Last update: 2026-06-12 09:22:25 UTC


README

Framework-agnostic PHP package for parsing Sendity inbound WhatsApp Business Cloud webhook payloads.

sendity/whatsapp-channel accepts PSR-7 HTTP requests containing official WhatsApp Business Cloud webhook JSON, extracts sender identity and Sendity authentication codes, and returns sendity/core ParsedMessage values for the consuming server glue.

Boundaries

This package intentionally contains no Laravel/server glue and no persistence/session matching. sendity/laravel-server is responsible for webhook routing, signature/app-secret verification, channel registration, persistence, event dispatching, and auth/session matching.

Dependencies on sendity/core are limited to contracts and value objects used to express parsed channel messages.

Basic usage

use Sendity\Core\Contract\AuthCodeServiceInterface;
use Sendity\WhatsAppChannel\WhatsAppChannel;

/** @var AuthCodeServiceInterface $authCodeService */
$channel = new WhatsAppChannel(
    recipient: '+49123456789',
    authCodeService: $authCodeService,
);

$parsed = $channel->parse($psr7Request);

// $parsed->channel === 'whatsapp'
// $parsed->identifierType === 'phone'
// $parsed->codes contains extracted Sendity auth codes, if present.

Supported webhook content

The parser extracts codes from:

  • text message bodies
  • button message text
  • interactive button/list reply IDs, titles, and descriptions
  • media captions for image/video/document/audio/sticker payloads

Status-only webhook payloads do not produce codes, but may expose recipient_id as the phone identifier.