Class: Pago::V2026_04::Services::CustomerPortal::Members
- Defined in:
- lib/pago/v2026_04/services/customer_portal.rb,
sig/pago/v2026_04/generated.rbs
Instance Attribute Summary
Attributes inherited from Service
Instance Method Summary collapse
-
#add_member(body: {}) ⇒ Models::CustomerPortalMember
Add a new member to the customer's team.
-
#list_members(page: 1, limit: 10) ⇒ Models::ListResourceCustomerPortalMember
List all members of the customer's team.
-
#list_members_each(limit: 10) {|item| ... } ⇒ Pago::Paginator
Enumerate every item of
list_members, fetching pages on demand. -
#remove_member(id) ⇒ nil
Remove a member from the team.
-
#update_member(id, body: {}) ⇒ Models::CustomerPortalMember
Update a member's name or role.
Methods inherited from Service
Constructor Details
This class inherits a constructor from Pago::Service
Instance Method Details
#add_member(body: {}) ⇒ Models::CustomerPortalMember
Add a new member to the customer's team.
Only available to owners and billing managers of team customers.
Rules:
- Cannot add a member with the owner role (there must be exactly one owner)
- If a member with this email already exists, the existing member is returned
749 750 751 752 753 754 755 756 757 758 759 760 |
# File 'lib/pago/v2026_04/services/customer_portal.rb', line 749 def add_member(body: {}) data = client.request( http_method: "POST", path: "/v1/customer-portal/members", path_params: {}, query: {}, body: body, response_type: :json, errors: { 400 => Errors::AddMember400Error, 401 => Errors::AddMember401Error, 403 => Errors::AddMember403Error, 422 => Errors::HTTPValidationError } ) Models::CustomerPortalMember.from_json(data) end |
#list_members(page: 1, limit: 10) ⇒ Models::ListResourceCustomerPortalMember
List all members of the customer's team.
Only available to owners and billing managers of team customers.
711 712 713 714 715 716 717 718 719 720 721 |
# File 'lib/pago/v2026_04/services/customer_portal.rb', line 711 def list_members(page: 1, limit: 10) data = client.request( http_method: "GET", path: "/v1/customer-portal/members", path_params: {}, query: { "page" => page, "limit" => limit }, response_type: :json, errors: { 401 => Errors::ListMembers401Error, 403 => Errors::ListMembers403Error, 422 => Errors::HTTPValidationError } ) Models::ListResourceCustomerPortalMember.from_json(data) end |
#list_members_each(limit: 10) {|item| ... } ⇒ Pago::Paginator
Enumerate every item of list_members, fetching pages on demand.
727 728 729 730 731 732 |
# File 'lib/pago/v2026_04/services/customer_portal.rb', line 727 def list_members_each(limit: 10, &block) paginator = ::Pago::Paginator.new do |page_number| list_members(page: page_number, limit: limit) end block ? paginator.each(&block) : paginator end |
#remove_member(id) ⇒ nil
Remove a member from the team.
Only available to owners and billing managers of team customers.
Rules:
- Cannot remove yourself
- Cannot remove the only owner
778 779 780 781 782 783 784 785 786 787 |
# File 'lib/pago/v2026_04/services/customer_portal.rb', line 778 def remove_member(id) client.request( http_method: "DELETE", path: "/v1/customer-portal/members/{id}", path_params: { "id" => id }, query: {}, response_type: :none, errors: { 400 => Errors::RemoveMember400Error, 401 => Errors::RemoveMember401Error, 403 => Errors::RemoveMember403Error, 404 => Errors::RemoveMember404Error, 422 => Errors::HTTPValidationError } ) end |
#update_member(id, body: {}) ⇒ Models::CustomerPortalMember
Update a member's name or role.
Only available to owners and billing managers of team customers.
Rules:
- Cannot modify your own role (to prevent self-demotion)
- Customer must have exactly one owner at all times
806 807 808 809 810 811 812 813 814 815 816 817 |
# File 'lib/pago/v2026_04/services/customer_portal.rb', line 806 def update_member(id, body: {}) data = client.request( http_method: "PATCH", path: "/v1/customer-portal/members/{id}", path_params: { "id" => id }, query: {}, body: body, response_type: :json, errors: { 400 => Errors::UpdateMember400Error, 401 => Errors::UpdateMember401Error, 403 => Errors::UpdateMember403Error, 404 => Errors::UpdateMember404Error, 422 => Errors::HTTPValidationError } ) Models::CustomerPortalMember.from_json(data) end |