Djamo · AsyncAPI Specification

Djamo Business API Webhooks

Version v1

Server-to-server webhook events emitted by the Djamo Business API for transaction lifecycle and charge status changes. Each delivery is signed with an HMAC-SHA256 signature (base64) in the `x-djamo-hmac-sha256` header, computed over the raw request body using the partner SECRET_KEY.

View Spec View on GitHub CompanyFinancial ServicesFintechPaymentsBankingMoney TransferAfricaCôte d'IvoireSénégalAsyncAPIWebhooksEvents

Channels

transactionsStarted
transactionsCompleted
transactionsFailed
chargeEvents

Messages

transactionStarted
Transaction started
A transaction request has been received and queued.
transactionCompleted
Transaction completed
The transaction has been successfully executed.
transactionFailed
Transaction failed
The transaction failed to execute.
chargeEvents
Charge status updated
The status of a charge was updated.

AsyncAPI Specification

Raw ↑
generated: '2026-07-18'
method: generated
source: https://docs.djamo.com/api/webhooks.html
spec_type: AsyncAPI
note: >-
  Djamo publishes no AsyncAPI document; this 3.0.0 spec is generated faithfully
  from the four documented webhook event types and the documented HMAC-SHA256
  signature scheme. Payload fields mirror the documented `data` object.
asyncapi: 3.0.0
info:
  title: Djamo Business API Webhooks
  version: v1
  description: >-
    Server-to-server webhook events emitted by the Djamo Business API for
    transaction lifecycle and charge status changes. Each delivery is signed with
    an HMAC-SHA256 signature (base64) in the `x-djamo-hmac-sha256` header, computed
    over the raw request body using the partner SECRET_KEY.
  externalDocs:
    url: https://docs.djamo.com/api/webhooks.html
defaultContentType: application/json
components:
  securitySchemes:
    hmac:
      type: httpApiKey
      name: x-djamo-hmac-sha256
      in: header
      description: Base64 HMAC-SHA256 of the raw payload keyed with the partner SECRET_KEY.
  messages:
    transactionStarted:
      name: transactions/started
      title: Transaction started
      summary: A transaction request has been received and queued.
      payload:
        type: object
        properties:
          topic: { type: string, const: transactions/started }
          data: { type: object }
    transactionCompleted:
      name: transactions/completed
      title: Transaction completed
      summary: The transaction has been successfully executed.
      payload:
        type: object
        properties:
          topic: { type: string, const: transactions/completed }
          data: { type: object }
    transactionFailed:
      name: transactions/failed
      title: Transaction failed
      summary: The transaction failed to execute.
      payload:
        type: object
        properties:
          topic: { type: string, const: transactions/failed }
          data: { type: object }
    chargeEvents:
      name: charge/events
      title: Charge status updated
      summary: The status of a charge was updated.
      payload:
        type: object
        properties:
          topic: { type: string, const: charge/events }
          data: { type: object }
channels:
  transactionsStarted:
    address: transactions/started
    messages:
      transactionStarted:
        $ref: '#/components/messages/transactionStarted'
  transactionsCompleted:
    address: transactions/completed
    messages:
      transactionCompleted:
        $ref: '#/components/messages/transactionCompleted'
  transactionsFailed:
    address: transactions/failed
    messages:
      transactionFailed:
        $ref: '#/components/messages/transactionFailed'
  chargeEvents:
    address: charge/events
    messages:
      chargeEvents:
        $ref: '#/components/messages/chargeEvents'
operations:
  receiveTransactionStarted:
    action: receive
    channel: { $ref: '#/channels/transactionsStarted' }
    security:
      - $ref: '#/components/securitySchemes/hmac'
  receiveTransactionCompleted:
    action: receive
    channel: { $ref: '#/channels/transactionsCompleted' }
    security:
      - $ref: '#/components/securitySchemes/hmac'
  receiveTransactionFailed:
    action: receive
    channel: { $ref: '#/channels/transactionsFailed' }
    security:
      - $ref: '#/components/securitySchemes/hmac'
  receiveChargeEvents:
    action: receive
    channel: { $ref: '#/channels/chargeEvents' }
    security:
      - $ref: '#/components/securitySchemes/hmac'