Class: Nombaone::Resources::Events

Inherits:
BaseResource show all
Defined in:
lib/nombaone/resources/events.rb,
sig/nombaone/resources.rbs

Overview

Events — the append-only log behind every webhook. Webhook delivery is at-least-once; this log is your reconciliation backstop when a delivery was missed or you need to backfill.

Instance Method Summary collapse

Methods inherited from BaseResource

#encode, #initialize, #request, #request_page

Constructor Details

This class inherits a constructor from Nombaone::Resources::BaseResource

Instance Method Details

#catalog(request_options: {}) ⇒ NombaObject

The machine-readable event catalog — every event type the platform can emit, with a description and its data keys. Useful for building subscription pickers or codegen.

Parameters:

  • request_options (Hash) (defaults to: {})
  • request_options: (Nombaone::request_options) (defaults to: {})

Returns:

  • (NombaObject)

    a map of type => { when:, payload: }; read entries with catalog["invoice.paid"].



41
42
43
# File 'lib/nombaone/resources/events.rb', line 41

def catalog(request_options: {})
  request(:get, "/events/catalog", options: request_options)
end

#list(type: OMIT, limit: OMIT, cursor: OMIT, request_options: {}) ⇒ Page<NombaObject>

List events, newest first.

Examples:

nombaone.events.list(type: "invoice.paid").each { |event| puts event.id }

Parameters:

  • type (String) (defaults to: OMIT)

    filter to one catalog type, e.g. "invoice.paid".

  • limit (Integer) (defaults to: OMIT)

    page size, 1–100 (API default 20).

  • cursor (String) (defaults to: OMIT)

    opaque cursor from a previous page.

  • request_options (Hash) (defaults to: {})

Returns:



19
20
21
22
23
# File 'lib/nombaone/resources/events.rb', line 19

def list(type: OMIT, limit: OMIT, cursor: OMIT, request_options: {})
  request_page("/events",
               query: { type: type, limit: limit, cursor: cursor },
               options: request_options)
end

#retrieve(id, request_options: {}) ⇒ NombaObject

Retrieve one event by id.

Parameters:

  • id (String)

    nbo…evt

  • request_options (Hash) (defaults to: {})
  • request_options: (Nombaone::request_options) (defaults to: {})

Returns:



30
31
32
# File 'lib/nombaone/resources/events.rb', line 30

def retrieve(id, request_options: {})
  request(:get, "/events/#{encode(id)}", options: request_options)
end