Djamo Business API

REST API for businesses to collect payments, send single and mass transfers, check balance, manage sub-companies, and receive HMAC-signed webhooks.

Documentation

Specifications

Other Resources

AsyncAPI Specification

djamo-webhooks-asyncapi.yml 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'