Class: Pago::V2026_04::Services::Customers::Members
- Defined in:
- lib/pago/v2026_04/services/customers.rb,
sig/pago/v2026_04/generated.rbs
Instance Attribute Summary
Attributes inherited from Service
Instance Method Summary collapse
-
#create(id, body: {}) ⇒ Models::Member
Create a new member for a customer.
-
#create_external(external_id_path, body: {}) ⇒ Models::Member
Create a new member for a customer identified by its external ID.
-
#delete(id, member_id) ⇒ nil
Delete a member of a customer.
-
#delete_external(external_id, member_external_id) ⇒ nil
Delete a member by external ID for a customer identified by its external ID.
-
#get(id, member_id) ⇒ Models::Member
Get a member of a customer by its ID.
-
#get_external(external_id, member_external_id) ⇒ Models::Member
Get a member by external ID for a customer identified by its external ID.
-
#update(id, member_id, body: {}) ⇒ Models::Member
Update a member of a customer.
-
#update_external(external_id, member_external_id, body: {}) ⇒ Models::Member
Update a member by external ID for a customer identified by its external ID.
Methods inherited from Service
Constructor Details
This class inherits a constructor from Pago::Service
Instance Method Details
#create(id, body: {}) ⇒ Models::Member
Create a new member for a customer.
Only B2B customers with the member management feature enabled can add members. The authenticated user or organization must have access to the customer's organization.
Scopes: members:write
373 374 375 376 377 378 379 380 381 382 383 384 |
# File 'lib/pago/v2026_04/services/customers.rb', line 373 def create(id, body: {}) data = client.request( http_method: "POST", path: "/v1/customers/{id}/members", path_params: { "id" => id }, query: {}, body: body, response_type: :json, errors: { 403 => Errors::NotPermitted, 404 => Errors::ResourceNotFound, 422 => Errors::HTTPValidationError } ) Models::Member.from_json(data) end |
#create_external(external_id_path, body: {}) ⇒ Models::Member
Create a new member for a customer identified by its external ID.
Scopes: members:write
398 399 400 401 402 403 404 405 406 407 408 409 |
# File 'lib/pago/v2026_04/services/customers.rb', line 398 def create_external(external_id_path, body: {}) data = client.request( http_method: "POST", path: "/v1/customers/external/{external_id}/members", path_params: { "external_id" => external_id_path }, query: {}, body: body, response_type: :json, errors: { 403 => Errors::NotPermitted, 404 => Errors::ResourceNotFound, 409 => Errors::AmbiguousExternalCustomerID, 422 => Errors::HTTPValidationError } ) Models::Member.from_json(data) end |
#delete(id, member_id) ⇒ nil
Delete a member of a customer.
Scopes: members:write
443 444 445 446 447 448 449 450 451 452 |
# File 'lib/pago/v2026_04/services/customers.rb', line 443 def delete(id, member_id) client.request( http_method: "DELETE", path: "/v1/customers/{id}/members/{member_id}", path_params: { "id" => id, "member_id" => member_id }, query: {}, response_type: :none, errors: { 404 => Errors::ResourceNotFound, 422 => Errors::HTTPValidationError } ) end |
#delete_external(external_id, member_external_id) ⇒ nil
Delete a member by external ID for a customer identified by its external ID.
Scopes: members:write
514 515 516 517 518 519 520 521 522 523 |
# File 'lib/pago/v2026_04/services/customers.rb', line 514 def delete_external(external_id, member_external_id) client.request( http_method: "DELETE", path: "/v1/customers/external/{external_id}/members/{member_external_id}", path_params: { "external_id" => external_id, "member_external_id" => member_external_id }, query: {}, response_type: :none, errors: { 404 => Errors::ResourceNotFound, 409 => Errors::AmbiguousExternalCustomerID, 422 => Errors::HTTPValidationError } ) end |
#get(id, member_id) ⇒ Models::Member
Get a member of a customer by its ID.
Scopes: members:read members:write
421 422 423 424 425 426 427 428 429 430 431 |
# File 'lib/pago/v2026_04/services/customers.rb', line 421 def get(id, member_id) data = client.request( http_method: "GET", path: "/v1/customers/{id}/members/{member_id}", path_params: { "id" => id, "member_id" => member_id }, query: {}, response_type: :json, errors: { 404 => Errors::ResourceNotFound, 422 => Errors::HTTPValidationError } ) Models::Member.from_json(data) end |
#get_external(external_id, member_external_id) ⇒ Models::Member
Get a member by external ID for a customer identified by its external ID.
Scopes: members:read members:write
491 492 493 494 495 496 497 498 499 500 501 |
# File 'lib/pago/v2026_04/services/customers.rb', line 491 def get_external(external_id, member_external_id) data = client.request( http_method: "GET", path: "/v1/customers/external/{external_id}/members/{member_external_id}", path_params: { "external_id" => external_id, "member_external_id" => member_external_id }, query: {}, response_type: :json, errors: { 404 => Errors::ResourceNotFound, 409 => Errors::AmbiguousExternalCustomerID, 422 => Errors::HTTPValidationError } ) Models::Member.from_json(data) end |
#update(id, member_id, body: {}) ⇒ Models::Member
Update a member of a customer.
Only name, email and role can be updated.
Scopes: members:write
467 468 469 470 471 472 473 474 475 476 477 478 |
# File 'lib/pago/v2026_04/services/customers.rb', line 467 def update(id, member_id, body: {}) data = client.request( http_method: "PATCH", path: "/v1/customers/{id}/members/{member_id}", path_params: { "id" => id, "member_id" => member_id }, query: {}, body: body, response_type: :json, errors: { 404 => Errors::ResourceNotFound, 422 => Errors::HTTPValidationError } ) Models::Member.from_json(data) end |
#update_external(external_id, member_external_id, body: {}) ⇒ Models::Member
Update a member by external ID for a customer identified by its external ID.
Scopes: members:write
537 538 539 540 541 542 543 544 545 546 547 548 |
# File 'lib/pago/v2026_04/services/customers.rb', line 537 def update_external(external_id, member_external_id, body: {}) data = client.request( http_method: "PATCH", path: "/v1/customers/external/{external_id}/members/{member_external_id}", path_params: { "external_id" => external_id, "member_external_id" => member_external_id }, query: {}, body: body, response_type: :json, errors: { 404 => Errors::ResourceNotFound, 409 => Errors::AmbiguousExternalCustomerID, 422 => Errors::HTTPValidationError } ) Models::Member.from_json(data) end |