Class: Pago::V2026_04::Models::BenefitGrantedEvent

Inherits:
Model
  • Object
show all
Defined in:
lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs

Overview

An event created by Pago when a benefit is granted to a customer.

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  id: "id",
  timestamp: "timestamp",
  organization_id: "organization_id",
  customer_id: "customer_id",
  customer: "customer",
  external_customer_id: "external_customer_id",
  member_id: "member_id",
  external_member_id: "external_member_id",
  child_count: "child_count",
  parent_id: "parent_id",
  label: "label",
  source: "source",
  name: "name",
  metadata: "metadata"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["id", "timestamp", "organization_id", "customer_id", "customer", "external_customer_id", "label", "source", "name", "metadata"].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

#==, #[], #field_set?, #hash, #inspect, json_keys, required_json_keys, #to_json, #to_json_hash, wrap_raw

Constructor Details

#initialize(id:, timestamp:, organization_id:, customer_id:, customer:, external_customer_id:, member_id: ::Pago::UNSET, external_member_id: ::Pago::UNSET, child_count: ::Pago::UNSET, parent_id: ::Pago::UNSET, label:, source:, name:, metadata:) ⇒ BenefitGrantedEvent

Returns a new instance of BenefitGrantedEvent.

Parameters:

  • id: (String)
  • timestamp: (String)
  • organization_id: (String)
  • customer_id: (String, nil)
  • customer: (Object)
  • external_customer_id: (String, nil)
  • member_id: (String, nil) (defaults to: ::Pago::UNSET)
  • external_member_id: (String, nil) (defaults to: ::Pago::UNSET)
  • child_count: (Integer, nil) (defaults to: ::Pago::UNSET)
  • parent_id: (String, nil) (defaults to: ::Pago::UNSET)
  • label: (String)
  • source: (String)
  • name: (String)
  • metadata: (Models::BenefitGrantMetadata)


6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
# File 'lib/pago/v2026_04/models.rb', line 6583

def initialize(
  id:,
  timestamp:,
  organization_id:,
  customer_id:,
  customer:,
  external_customer_id:,
  member_id: ::Pago::UNSET,
  external_member_id: ::Pago::UNSET,
  child_count: ::Pago::UNSET,
  parent_id: ::Pago::UNSET,
  label:,
  source:,
  name:,
  metadata:
)
  super()
  assign(:id, id)
  assign(:timestamp, timestamp)
  assign(:organization_id, organization_id)
  assign(:customer_id, customer_id)
  assign(:customer, customer)
  assign(:external_customer_id, external_customer_id)
  assign(:member_id, member_id)
  assign(:external_member_id, external_member_id)
  assign(:child_count, child_count)
  assign(:parent_id, parent_id)
  assign(:label, label)
  assign(:source, source)
  assign(:name, name)
  assign(:metadata, )
end

Instance Attribute Details

#child_countInteger (readonly)

Number of direct child events linked to this event.

Returns:

  • (Integer)


6562
6563
6564
# File 'lib/pago/v2026_04/models.rb', line 6562

def child_count
  @child_count
end

#customerObject? (readonly)

The customer associated with the event.

Returns:

  • (Object, nil)


6546
6547
6548
# File 'lib/pago/v2026_04/models.rb', line 6546

def customer
  @customer
end

#customer_idString? (readonly)

ID of the customer in your Pago organization associated with the event.

Returns:

  • (String, nil)


6542
6543
6544
# File 'lib/pago/v2026_04/models.rb', line 6542

def customer_id
  @customer_id
end

#external_customer_idString? (readonly)

ID of the customer in your system associated with the event.

Returns:

  • (String, nil)


6550
6551
6552
# File 'lib/pago/v2026_04/models.rb', line 6550

def external_customer_id
  @external_customer_id
end

#external_member_idString? (readonly)

ID of the member in your system within the customer's organization who performed the action inside B2B.

Returns:

  • (String, nil)


6558
6559
6560
# File 'lib/pago/v2026_04/models.rb', line 6558

def external_member_id
  @external_member_id
end

#idString (readonly)

The ID of the object.

Returns:

  • (String)


6530
6531
6532
# File 'lib/pago/v2026_04/models.rb', line 6530

def id
  @id
end

#labelString (readonly)

Human readable label of the event type.

Returns:

  • (String)


6570
6571
6572
# File 'lib/pago/v2026_04/models.rb', line 6570

def label
  @label
end

#member_idString? (readonly)

ID of the member within the customer's organization who performed the action inside B2B.

Returns:

  • (String, nil)


6554
6555
6556
# File 'lib/pago/v2026_04/models.rb', line 6554

def member_id
  @member_id
end

#metadataModels::BenefitGrantMetadata (readonly)



6581
6582
6583
# File 'lib/pago/v2026_04/models.rb', line 6581

def 
  @metadata
end

#nameString (readonly)

The name of the event.

Returns:

  • (String)


6578
6579
6580
# File 'lib/pago/v2026_04/models.rb', line 6578

def name
  @name
end

#organization_idString (readonly)

The ID of the organization owning the event.

Returns:

  • (String)


6538
6539
6540
# File 'lib/pago/v2026_04/models.rb', line 6538

def organization_id
  @organization_id
end

#parent_idString? (readonly)

The ID of the parent event.

Returns:

  • (String, nil)


6566
6567
6568
# File 'lib/pago/v2026_04/models.rb', line 6566

def parent_id
  @parent_id
end

#sourceString (readonly)

The source of the event. system events are created by Pago. user events are the one you create through our ingestion API.

Returns:

  • (String)


6574
6575
6576
# File 'lib/pago/v2026_04/models.rb', line 6574

def source
  @source
end

#timestampString (readonly)

The timestamp of the event.

Returns:

  • (String)


6534
6535
6536
# File 'lib/pago/v2026_04/models.rb', line 6534

def timestamp
  @timestamp
end

Class Method Details

.from_json(data) ⇒ BenefitGrantedEvent?

Parameters:

  • data (Hash, String, nil)

Returns:



6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
# File 'lib/pago/v2026_04/models.rb', line 6618

def self.from_json(data)
  data = ::JSON.parse(data) if data.is_a?(String)
  data = ::Pago::Serde.object(data)
  return nil if data.nil?

  wrap_raw(
    new(
      id: (data.key?("id") ? data["id"] : ::Pago::UNSET),
      timestamp: (data.key?("timestamp") ? data["timestamp"] : ::Pago::UNSET),
      organization_id: (data.key?("organization_id") ? data["organization_id"] : ::Pago::UNSET),
      customer_id: (data.key?("customer_id") ? data["customer_id"] : ::Pago::UNSET),
      customer: (data.key?("customer") ? Unions::Customer.from_json(data["customer"]) : ::Pago::UNSET),
      external_customer_id: (data.key?("external_customer_id") ? data["external_customer_id"] : ::Pago::UNSET),
      member_id: (data.key?("member_id") ? data["member_id"] : ::Pago::UNSET),
      external_member_id: (data.key?("external_member_id") ? data["external_member_id"] : ::Pago::UNSET),
      child_count: (data.key?("child_count") ? data["child_count"] : ::Pago::UNSET),
      parent_id: (data.key?("parent_id") ? data["parent_id"] : ::Pago::UNSET),
      label: (data.key?("label") ? data["label"] : ::Pago::UNSET),
      source: (data.key?("source") ? data["source"] : ::Pago::UNSET),
      name: (data.key?("name") ? data["name"] : ::Pago::UNSET),
      metadata: (data.key?("metadata") ? Models::BenefitGrantMetadata.from_json(data["metadata"]) : ::Pago::UNSET)
    ),
    data
  )
end