Class: Zavudev::Resources::Invitations

Inherits:
Object
  • Object
show all
Defined in:
lib/zavudev/resources/invitations.rb,
sig/zavudev/resources/invitations.rbs

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Invitations

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Invitations.

Parameters:



124
125
126
# File 'lib/zavudev/resources/invitations.rb', line 124

def initialize(client:)
  @client = client
end

Instance Method Details

#cancel(invitation_id, request_options: {}) ⇒ Zavudev::Models::InvitationCancelResponse

Cancel an active invitation. The client will no longer be able to use the invitation link.

Parameters:

Returns:

See Also:



112
113
114
115
116
117
118
119
# File 'lib/zavudev/resources/invitations.rb', line 112

def cancel(invitation_id, params = {})
  @client.request(
    method: :post,
    path: ["v1/invitations/%1$s/cancel", invitation_id],
    model: Zavudev::Models::InvitationCancelResponse,
    options: params[:request_options]
  )
end

#create(allowed_phone_countries: nil, client_email: nil, client_name: nil, client_phone: nil, connection_type: nil, expires_in_days: nil, phone_number_id: nil, request_options: {}) ⇒ Zavudev::Models::InvitationCreateResponse

Some parameter documentations has been truncated, see Models::InvitationCreateParams for more details.

Create a partner invitation link for a client to connect WhatsApp. The client opens the returned url and connects. Set connectionType to choose how they connect:

  • whatsapp_waba (default): the client completes Meta's embedded signup, linking an official WhatsApp Business Account.
  • whatsapp_alt: the client links their number by scanning a QR code. Requires the WhatsApp Alternative feature to be enabled for your team (otherwise returns 400).

Either way, the resulting sender is created in your project when the client completes the flow, and the invitation transitions to completed.

Parameters:

  • allowed_phone_countries (Array<String>)

    ISO country codes for allowed phone numbers.

  • client_email (String)

    Email of the client being invited.

  • client_name (String)

    Name of the client being invited.

  • client_phone (String)

    Phone number of the client in E.164 format.

  • connection_type (Symbol, Zavudev::Models::InvitationCreateParams::ConnectionType)

    How the client connects WhatsApp. whatsapp_waba (default) runs Meta's embedded

  • expires_in_days (Integer)

    Number of days until the invitation expires.

  • phone_number_id (String)

    ID of a Zavu phone number to pre-assign for WhatsApp registration. If provided,

  • request_options (Zavudev::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



43
44
45
46
47
48
49
50
51
52
# File 'lib/zavudev/resources/invitations.rb', line 43

def create(params = {})
  parsed, options = Zavudev::InvitationCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "v1/invitations",
    body: parsed,
    model: Zavudev::Models::InvitationCreateResponse,
    options: options
  )
end

#list(cursor: nil, limit: nil, status: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Invitation>

List partner invitations for this project.

Parameters:

Returns:

See Also:



88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/zavudev/resources/invitations.rb', line 88

def list(params = {})
  parsed, options = Zavudev::InvitationListParams.dump_request(params)
  query = Zavudev::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "v1/invitations",
    query: query,
    page: Zavudev::Internal::Cursor,
    model: Zavudev::Invitation,
    options: options
  )
end

#retrieve(invitation_id, request_options: {}) ⇒ Zavudev::Models::InvitationRetrieveResponse

Get invitation

Parameters:

Returns:

See Also:



64
65
66
67
68
69
70
71
# File 'lib/zavudev/resources/invitations.rb', line 64

def retrieve(invitation_id, params = {})
  @client.request(
    method: :get,
    path: ["v1/invitations/%1$s", invitation_id],
    model: Zavudev::Models::InvitationRetrieveResponse,
    options: params[:request_options]
  )
end