5. wrapper

class zoop_wrapper.wrapper.ZoopWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.bank_account.BankAccountWrapper, zoop_wrapper.wrapper.buyer.BuyerWrapper, zoop_wrapper.wrapper.card.CardWrapper, zoop_wrapper.wrapper.invoice.InvoiceWrapper, zoop_wrapper.wrapper.seller.SellerWrapper, zoop_wrapper.wrapper.transaction.TransactionWrapper, zoop_wrapper.wrapper.webhook.WebhookWrapper

Zoop Wrapper

It contains methods for all resources.

5.1. zoop_wrapper.wrapper.base module

class zoop_wrapper.wrapper.base.BaseZoopWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.RequestsWrapper

wrapper da Zoop API

__marketplace_id

marketplace id da zoop

__key

chave de autenticação da zoop

BASE_URL = 'https://api.zoop.ws/v1/marketplaces/'
_post_instance(url, instance: zoop_wrapper.models.base.ZoopObject)[código fonte]

http post com instância de um ZoopObject.

Parâmetros:
  • url – url da requisição
  • instance – instância a ser utilizada
Raises:

ValidationError – quando a instância passada não é um ZoopObject. # noqa

Retorna:

(ZoopResponse)

_put_instance(url, instance: zoop_wrapper.models.base.ZoopObject)[código fonte]

http put com instância de um ZoopObject.

Parâmetros:
  • url – url da requisição
  • instance – instância a ser utilizada
Raises:

ValidationError – quando a instância passada não é um ZoopObject. # noqa

Retorna:

(ZoopResponse)

class zoop_wrapper.wrapper.base.RequestsWrapper(base_url)[código fonte]

Base: object

wrapper da lib requests

__base_url

Url base para construir os requests

static _RequestsWrapper__process_response(response) → zoop_wrapper.response.ZoopResponse

Processa a resposta.

Adiciona o data carregado do requests.Response.json().

Adiciona error na resposta se tiver ocorrido erros

Parâmetros:response (requests.Response) – resposta a ser processada
Raises:HttpError – quando a resposta não foi ok (200 <= status <= 299)!
Retorna:‘objeto’ (ZoopResponse) de resposta http
_construct_url(action=None, identifier=None, subaction=None, search=None, sub_action_before_identifier=False)[código fonte]

Constrói a url para o request.

Parâmetros:
  • action – nome do resource
  • identifier – identificador de detalhe (ID)
  • search – query com url args para serem buscados
  • sub_action_before_identifier – flag para inverter a posição do identifier e subaction
  • subaction – subação do resource

Exemplos

>>> rw = RequestsWrapper()
>>> rw._construct_url(action='seller', identifier='1', subaction='bank_accounts', search='account_number=1')  # noqa:
'rw.__base_url/seller/1/bank_accounts/search?account_number=1'
Retorna:url completa para o request
_delete(url) → zoop_wrapper.response.ZoopResponse[código fonte]

http delete

Parâmetros:url – url de requisição
Retorna:(ZoopResponse)
_get(url) → zoop_wrapper.response.ZoopResponse[código fonte]

http get

Parâmetros:url – url de requisição
Retorna:(ZoopResponse)
_post(url, data) → zoop_wrapper.response.ZoopResponse[código fonte]

http post

Parâmetros:
  • url – url de requisição
  • data (dict) – dados da requisição
Retorna:

(ZoopResponse)

_put(url, data) → zoop_wrapper.response.ZoopResponse[código fonte]

http put

Parâmetros:
  • url – url de requisição
  • data (dict) – dados da requisição
Retorna:

(ZoopResponse)

5.2. zoop_wrapper.wrapper.bank_account module

class zoop_wrapper.wrapper.bank_account.BankAccountWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.BaseZoopWrapper

Possui os métodos do resource BankAccount

Aviso

Não importe isso diretamente!

Essa classe precisa de métodos presentes em outro wrapper

_BankAccountWrapper__add_bank_account_token(token: zoop_wrapper.models.token.Token)

Adiciona um Token para uma BankAccount.

Parâmetros:tokenToken para BankAccount.
Retorna:response with instance of Token
add_bank_account(data: dict)[código fonte]

Adiciona uma BankAccount.

Exemplos

>>> data = {
    'account_number': 'foo',
    'bank_code': 'foo',
    'holder_name': 'foo',
    'routing_number': 'foo',
    'taxpayer_id' or 'ein': 'foo',
    'type': 'foo'
}
Parâmetros:data – dict of data
Retorna:response with instance of BankAccount
list_bank_accounts_by_seller(identifier)[código fonte]

Lista todas as BankAccount’s.

Retorna:response with instances of BankAccount
remove_bank_account(identifier: str)[código fonte]

Remove todas as BankAccount de um Seller usando o identifier deste.

Parâmetros:identifier – uuid id
Retorna:ZoopResponse
retrieve_bank_account(identifier)[código fonte]

Retorna uma BankAccount.

Parâmetros:identifier – uuid id da BankAccount
Retorna:response with instance of BankAccount

5.3. zoop_wrapper.wrapper.buyer module

class zoop_wrapper.wrapper.buyer.BuyerWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.BaseZoopWrapper

Possui os métodos do resource Buyer

add_buyer(data: Union[dict, zoop_wrapper.models.buyer.Buyer]) → zoop_wrapper.response.ZoopResponse[código fonte]

Adiciona um Buyer

Exemplos

>>> data = {
    "birthdate": 'foo',
    "email": "foo",
    "first_name": "foo",
    "last_name": "foo",
    "phone_number": "foo",
    "taxpayer_id": "foo",
    "address": {
        "city": "foo",
        "country_code": "foo"
        "line1": "foo",
        "line2": "foo",
        "line3": "foo",
        "neighborhood": "foo",
        "postal_code": "foo",
        "state": "foo",
    }
}
Parâmetros:data (dict ou Buyer) – dados do Buyer
Retorna:ZoopResponse
list_buyers() → zoop_wrapper.response.ZoopResponse[código fonte]

Lista todos os Buyer’s

Retorna:ZoopResponse
remove_buyer(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

Remove um Buyer

Parâmetros:identifier – uuid id
Retorna:ZoopResponse
retrieve_buyer(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

Pega um Buyer

Parâmetros:identifier – uuid id
Retorna:ZoopResponse
search_buyer(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

Buscar um Buyer pelo CPF ou CNPJ

Nota

Sim, o atributo é o taxpayer_id para os dois. Veja o código para entender.

Parâmetros:identifier – CPF ou CNPJ
Retorna:ZoopResponse
update_buyer(identifier: str, data: Union[dict, zoop_wrapper.models.buyer.Buyer]) → zoop_wrapper.response.ZoopResponse[código fonte]

Atualiza um Buyer.

Exemplos

>>> data = {
    "birthdate": "1994-12-27",
    "email": "foo@bar.com",
    "first_name": "foo",
    "last_name": "foo",
    "phone_number": "+55 84 99999-9999",
    "taxpayer_id": "foo",
    "address": {
        "city": "Natal",
        "country_code": "BR"
        "line1": "foo",
        "line2": "123",
        "line3": "barbar",
        "neighborhood": "fooofoo",
        "postal_code": "59152250",
        "state": "BR-RN",
    }
}
Parâmetros:
  • identifier – id do Buyer
  • data – dados do Buyer
Retorna:

ZoopResponse

5.4. zoop_wrapper.wrapper.card module

class zoop_wrapper.wrapper.card.CardWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.BaseZoopWrapper

Possui os métodos do resource Card

Aviso

Não importe isso diretamente!

Essa classe precisa de métodos presentes em outro wrapper

_CardWrapper__add_card_token(card_token: zoop_wrapper.models.token.Token)

Cria um Token do tipo Card

Parâmetros:card_token – instância do Token
Retorna:ZoopResponse com instância do Token
add_card(data: Union[dict, zoop_wrapper.models.token.Token], customer_identifier: str)[código fonte]

Adiciona um cartão de crédito utilizando um Token de cartão de crédito

Exemplos

>>> data = {
    "card_number": "foo",
    "expiration_month": "foo",
    "expiration_year": "foo",
    "holder_name": "foo",
    "security_code": "foo"
}
Parâmetros:
  • data – dicionário de dados
  • customer_identifier – uuid do consumidor (Buyer ou Seller) # noqa
Retorna:

ZoopResponse com instância do Card

retrieve_card(identifier)[código fonte]

retrieve card

Parâmetros:identifier – uuid id
Retorna:response without instance

5.5. zoop_wrapper.wrapper.invoice module

class zoop_wrapper.wrapper.invoice.InvoiceWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.BaseZoopWrapper

Possui os métodos do resource for Invoice

retrieve_invoice(identifier)[código fonte]

Pega um Invoice

Parâmetros:identifier – uuid id
Retorna:resposta com instância do Invoice

5.6. zoop_wrapper.wrapper.seller module

class zoop_wrapper.wrapper.seller.SellerWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.BaseZoopWrapper

Possui os métodos do resource Seller

_SellerWrapper__search_seller(**kwargs) → zoop_wrapper.response.ZoopResponse

Busca um Seller.

Parâmetros:kwargs – dicionário de valores a serem buscados
Retorna:ZoopResponse
add_seller(data: Union[dict, zoop_wrapper.models.seller.Seller]) → zoop_wrapper.response.ZoopResponse[código fonte]

Adiciona um Seller.

Exemplos

>>> data = {
    "birthdate": "1994-12-27",
    "email": "foo@bar.com",
    "first_name": "foo",
    "last_name": "foo",
    "phone_number": "+55 84 99999-9999",
    "taxpayer_id": "foo",
    "address": {
        "city": "Natal",
        "country_code": "BR"
        "line1": "foo",
        "line2": "123",
        "line3": "barbar",
        "neighborhood": "fooofoo",
        "postal_code": "59152250",
        "state": "RN",
    }
}
>>> data = {
    "business_email": "foo",
    "business_name": "foo",
    "business_opening_date": "foo",
    "business_phone": "foo",
    "business_website": "foo",
    "ein": "foo",
    "owner": {
        "birthdate": "foo",
        "email": "foo",
        "first_name": "foo",
        "last_name": "foo",
        "phone_number": "foo",
        "taxpayer_id": "foo",
        "address": {
            "city": "Natal",
            "country_code": "BR"
            "line1": "foo",
            "line2": "123",
            "line3": "barbar",
            "neighborhood": "fooofoo",
            "postal_code": "59152250",
            "state": "RN",
        }
    },
    "business_address": {
        "city": "Natal",
        "country_code": "BR"
        "line1": "foo",
        "line2": "123",
        "line3": "barbar",
        "neighborhood": "fooofoo",
        "postal_code": "59152250",
        "state": "RN",
    }
}
Parâmetros:data – dados do Seller
Retorna:ZoopResponse
list_seller_bank_accounts(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

Lista BankAccount”s de algum Seller

Parâmetros:identifier – id do Seller
Retorna:ZoopResponse
list_sellers() → zoop_wrapper.response.ZoopResponse[código fonte]

lista Seller”s existentes na Zoop.

Retorna:ZoopResponse
remove_seller(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

Remove um Seller;

Parâmetros:identifier – id do Seller
Retorna:ZoopResponse
retrieve_seller(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

Pega um Seller

Parâmetros:identifier – id do Seller
Retorna:ZoopResponse
search_business_seller(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

search seller by CNPJ

Parâmetros:identifier – ein (Employer Identification Number) is equivalent to CNPJ # noqa:
Retorna:response with instance of Seller
search_individual_seller(identifier: str) → zoop_wrapper.response.ZoopResponse[código fonte]

search seller by CPF

Parâmetros:identifier – taxpayer_id is equivalent to CPF # noqa:
Retorna:response with instance of Seller
update_seller(identifier: str, data: Union[dict, zoop_wrapper.models.seller.Seller]) → zoop_wrapper.response.ZoopResponse[código fonte]

Atualiza um Seller.

Exemplos

>>> data = {
    "birthdate": "1994-12-27",
    "email": "foo@bar.com",
    "first_name": "foo",
    "last_name": "foo",
    "phone_number": "+55 84 99999-9999",
    "taxpayer_id": "foo",
    "address": {
        "city": "Natal",
        "country_code": "BR"
        "line1": "foo",
        "line2": "123",
        "line3": "barbar",
        "neighborhood": "fooofoo",
        "postal_code": "59152250",
        "state": "BR-RN",
    }
}
>>> data = {
    "business_email": "foo",
    "business_name": "foo",
    "business_opening_date": "foo",
    "business_phone": "foo",
    "business_website": "foo",
    "ein": "foo",
    "owner": {
        "birthdate": "foo",
        "email": "foo",
        "first_name": "foo",
        "last_name": "foo",
        "phone_number": "foo",
        "taxpayer_id": "foo",
        "address": {
            "city": "foo",
            "country_code": "foo"
            "line1": "foo",
            "line2": "foo",
            "line3": "foo",
            "neighborhood": "foo",
            "postal_code": "foo",
            "state": "foo",
        }
    }
    "business_address": {
        "city": "foo",
        "country_code": "foo"
        "line1": "foo",
        "line2": "foo",
        "line3": "foo",
        "neighborhood": "foo",
        "postal_code": "foo",
        "state": "foo",
    }
}
Parâmetros:
Retorna:

ZoopResponse

5.7. zoop_wrapper.wrapper.transaction module

class zoop_wrapper.wrapper.transaction.TransactionWrapper(marketplace_id=None, key=None)[código fonte]

Base: zoop_wrapper.wrapper.base.BaseZoopWrapper

Possui os métodos do resource Transaction

_capture_or_void_transaction(identifier, sub_action, amount=None)[código fonte]

Estorna ou captura uma Transaction.

O amount é opcional, e deve ser um valor em centavos ou real. Caso ele não seja passado, o valor da transação é utilizado. Caso ele seja um valor menor do que a transação, é feita uma ação parcial no valor passado.

Aviso

o amount não pode ser maior do que o valor da quantia!

Exemplos

>>> ZoopWrapper()._capture_or_void_transaction('1', 'void')
>>> ZoopWrapper()._capture_or_void_transaction('1', 'void', '10.00')
>>> ZoopWrapper()._capture_or_void_transaction('1', 'capture', '10,00')
>>> ZoopWrapper()._capture_or_void_transaction('1', 'void', '1000')
Parâmetros:
  • identifier – uuid id da Transaction
  • sub_action – string da ação a ser feita. ‘void’ ou ‘capture’
  • amount – quantia em centavos da ação a ser feita
Retorna:

response

add_transaction(data: Union[dict, zoop_wrapper.models.transaction.Transaction])[código fonte]

Adiciona uma Transaction.

Exemplos

>>> data = {
    'amount' : 'foo',
    'currency' : 'BRL',
    'customer': 'foo',
    'description' : 'foo',
    'on_behalf_of' : 'foo',
    'payment_type' : 'foo',
    'reference_id' : 'foo',
    'payment_method' : {
        'body_instructions' : instructions,
        'expiration_date' : expiration_date,
        'payment_limit_date' : payment_limit_date,
        'billing_instructions' : {
            'discount' : discount
            'interest' : interest,
            'late_fee' : late_fee,
        }
    }
}
>>> data = {
    'amount': '1000',
    'currency': 'BRL',
    'customer': 'buyer_id',
    'description': 'meu boleto gerado para teste',
    'on_behalf_of': 'seller_id',
    'payment_type': 'boleto',
    'payment_method': {
        'expiration_date': '2020-06-20',
        'payment_limit_date': '2020-06-30',
        'billing_instructions': {
            'late_fee': {
                'mode': 'FIXED',
                'percentage': 30,
                'start_date': '2020-06-20'
            },
            'interest': {
                'mode': 'MONTHLY_PERCENTAGE',
                'percentage': 30,
                'start_date': '2020-06-20'
            },
            'discount': [{
                'amount': 300,
                'limit_date': '2020-06-20'
                'mode': 'FIXED',
            }]
        }
    }
}
Parâmetros:data – dict of data
Retorna:response with instance of Transaction
cancel_transaction(identifier, amount=None)[código fonte]

Estorna uma Transaction.

O amount é opcional, e deve ser um valor em centavos ou real. Caso ele não seja passado, o valor da transação é utilizado. Caso ele seja um valor menor do que a transação, é feita uma ação parcial no valor passado.

Aviso

o amount não pode ser maior do que o valor da quantia!

Exemplos

>>> ZoopWrapper().cancel_transaction('1', '10.00')
>>> ZoopWrapper().cancel_transaction('1', '10,00')
>>> ZoopWrapper().cancel_transaction('1', '1000')
Parâmetros:
  • identifier – uuid id da Transaction
  • amount – quantia em centavos a ser estronada
Retorna:

response

capture_transaction(identifier, amount=None)[código fonte]

Captura uma Transaction.

O amount é opcional, e deve ser um valor em centavos ou real. Caso ele não seja passado, o valor da transação é utilizado. Caso ele seja um valor menor do que a transação, é feita uma ação parcial no valor passado.

Aviso

o amount não pode ser maior do que o valor da quantia!

Exemplos

>>> ZoopWrapper().capture_transaction('1', '10.00')
>>> ZoopWrapper().capture_transaction('1', '10,00')
>>> ZoopWrapper().capture_transaction('1', '1000')
Parâmetros:
  • identifier – uuid id da Transaction
  • amount – quantia em centavos a ser capturada
Retorna:

response

list_transactions()[código fonte]

Lista todas as Transaction’s

Retorna:response
list_transactions_for_seller(identifier)[código fonte]

Lista todas as Transaction’s de um Seller

Parâmetros:
  • identifier – uuid id do Seller
  • offset

    ’’

Retorna:

response

retrieve_transaction(identifier)[código fonte]

Retorna uma Transaction.

Parâmetros:identifier – uuid id da Transaction
Retorna:response