Lomapy 0.4.4 Documentação

Lomapy é uma biblioteca não oficial que disponibiliza um interface em python para a API de Afiliados do Lomadee. O Lomapy é compatível com versão 3 da API da Lomadee.

Instalação

O Lomapy roda em Python 3.4 ou superior.

Para instalar o Lomapy com o pip:

pip install lomapy

Primeiros Passos

Para utilizar o Lomapy, você precisa de uma APP_KEY e um SOURCE_ID da Lomadee. Caso não os possua, você pode obtê-los em https://developer.lomadee.com/

# Importar a biblioteca
import lomapy

# Definir suas chaves
app_token = {SEU_APP_TOKEN_AQUI}
source_id = {SEU_SOURCE_ID_AQUI}

# Passar as chaves para lomapy
lomapy.autenticar(app_token, source_id)

# Listar todas as categorias
lomapy.categorias.obter_todas()

Módulos

Categorias

lomapy.categorias.buscar(palavra_chave: str, loja_id: int = None, possui_oferta: bool = None, quantidade: int = None) → dict

Realiza a busca de categorias através de palavras

Parameters:
  • palavra_chave (str) – Palavra-chave a ser buscada.
  • loja_id (int, optional) – ID de loja. Utilize esse parâmetro para filtrar categorias que possuem ofertas de uma determinada loja
  • possui_oferta (bool, optional) – Quando “true” retorna apenas categorias que possuem ofertas.
  • quantidade (int, optional (padrão=12)) – Quantidade de categorias. Com este parâmetro você poderá definir o número de categorias que deseja receber.
Returns:

Retorna as Categorias encontradas

Return type:

dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> resposta = lomapy.categorias.buscar("info", quantidade=2)
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'categorias': [
        {
            'id': 2,
            'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/2?sourceId=MEU_SOURCE_ID',
            'nome': 'Informática',
            'quantidade_ofertas': 493
        },
        {
            'id': 7074,
            'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/7074?sourceId=MEU_SOURCE_ID',
            'nome': 'Acessórios para Informática',
            'quantidade_ofertas': 325
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 2,
        'total_paginas': 1,
        'total_quantidade': 2
    }
}
lomapy.categorias.obter_por_id(categoria_id: int, loja_id: int = None) → dict

Obtem uma categoria específica de acordo com o ID

Parameters:
  • categoria_id (int) – ID da categoria desejada
  • loja_id (int, optional) – ID de loja. Utilize esse parâmetro para filtrar categorias que possuem ofertas de uma determinada loja
Returns:

Retorna as Categorias encontradas

Return type:

dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> categoria = lomapy.categorias.obter_todas()["categories"][0]
>>> resposta = lomapy.categorias.obter_por_id(categoria["id"])
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'categorias': [
        {
            'id': 0,
            'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
            'nome': 'Geral',
            'quantidade_ofertas': 489692
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 1,
        'total_paginas': 1,
        'total_quantidade': 1
    }
}
lomapy.categorias.obter_todas(possui_oferta: bool = None) → dict

Consulta a lista de todas as categorias que possuem ofertas dos lojistas parceiros da Lomadee.

Parameters:possui_oferta (bool, optional) – Quando “true” retorna apenas categorias que possuem ofertas.
Returns:Retorna as Categorias encontradas
Return type:dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> resposta = lomapy.categorias.obter_todas()
>>> # Atenção: Mostrado apenas duas categorias, por questão de espaço
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'categorias': [
        {
            'id': 0,
            'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
            'nome': 'Geral',
            'quantidade_ofertas': 489692
        },
        {
            'id': 10897,
            'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/10897?sourceId=MEU_SOURCE_ID',
            'nome': 'Vestido Feminino Plus Size',
            'quantidade_ofertas': 12470
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 5957,
        'total_paginas': 1,
        'total_quantidade': 5957
    }
}

Lojas

lomapy.lojas.obter_todas(possui_oferta: bool = None) → dict

Lista os parceiros e lojistas da Lomadee

Parameters:possui_oferta (bool, optional) – Quando “true” retorna apenas lojas que possuem ofertas.
Returns:Retorna as Lojas encontradas
Return type:dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> resposta = lomapy.lojas.obter_todas()
>>> # Atenção: Mostrado apenas duas lojas, por questão de espaço
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'lojas': [
        {
            'comissao_maxima': 6.4,
            'eventos': [
                {
                    'comissao': 0.064,
                    'ehComissaoFixa': False,
                    'nome': 'Vendas - Hang Loose',
                    'tipo': 'Sale'
                }
            ],
            'id': 5695,
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'nome': 'Hang Loose',
            'quantidade_ofertas': 0,
            'thumbnail': 'https://www.lomadee.com/programas/BR/5695/logo_115x76.png'},
        {
            'comissao_maxima': 3.54,
            'eventos': [
                {
                    'comissao': 0.0354,
                    'ehComissaoFixa': False,
                    'nome': 'Casa e Móveis',
                    'tipo': 'Sale'
                },
                {
                    'comissao': 0.0354,
                    'ehComissaoFixa': False,
                    'nome': 'Cozinha, Ar condicionado, Ferramentas',
                    'tipo': 'Sale'
                }
            ],
            'id': 5800,
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'nome': 'Mega Mamute',
            'quantidade_ofertas': 0,
            'thumbnail': 'https://www.lomadee.com/vitrine/logo590367.gif'
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 178,
        'total_paginas': 1,
        'total_quantidade': 178
    }
}

Ofertas

lomapy.ofertas.buscar(palavra_chave: str, categoria_id: int = None, loja_id: int = None, quantidade: int = None, pagina: int = None, ordenacao: str = None) → dict

Consulta as ofertas de uma determinada palavra-chave

Parameters:
  • palavra_chave (str) – Palavra-chave a ser buscada
  • categoria_id (int, optional) – ID de categoria. Utilize esse parâmetro para filtrar ofertas de uma determinada categoria
  • loja_id (int, optional) – ID de loja. Utilize esse parâmetro para filtrar ofertas de uma determinada loja
  • quantidade (int, optional (padrão=12)) – Quantidade de ofertas. Com este parâmetro você poderá definir o número de ofertas que deseja receber.
  • pagina (int, optional) – Página desejada (padrão=1)
  • ordenacao (str, optional (padrão="rating")) – Ordenação dos resultados. Opções: rating (Ordena por melhor avaliação) e price (Ordena por menor preço).
Returns:

Retorna as Ofertas encontradas

Return type:

dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> categoria = lomapy.categorias.obter_todas()["categories"][0]
>>> resposta = lomapy.ofertas.buscar(palavra_chave="mouse", categoria_id=categoria["id"], quantidade=2)
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'ofertas': [
        {
            'categoria': {
                'id': 0,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
                'nome': None,
                'quantidade_ofertas': None
            },
            'id': '00053604',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 6064,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Rede Schumann',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/6064/imagemBox_80x60.png'
            },
            'nome': 'Mouse Gamer Fortrek Black Hawk OM-703 7 Botões + Scroll – Preto/Azul',
            'parcelas': {
                'quantidade': 1,
                'valor': 36.9
            },
            'preco_atual': 33.94,
            'preco_original': 36.9,
            'thumbnail': 'http://d3alv7ekdacjys.cloudfront.net/Custom/Content/Products/10/69/1069594_mouse-gamer-fortrek-black-hawk-om-703-7-botoes-scroll-preto-azul_z1_637030130715854141'
        },
        {
            'categoria': {
                'id': 0,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
                'nome': None,
                'quantidade_ofertas': None
            },
            'id': '00053604-00053604',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 6064,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Rede Schumann',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/6064/imagemBox_80x60.png'
            },
            'nome': 'Mouse Gamer Fortrek Black Hawk OM-703 7 Botões + Scroll – Preto/Azul',
            'parcelas': {
                'quantidade': 1,
                'valor': 36.9
            },
            'preco_atual': 33.94,
            'preco_original': 36.9,
            'thumbnail': 'http://d3alv7ekdacjys.cloudfront.net/Custom/Content/Products/10/69/1069594_mouse-gamer-fortrek-black-hawk-om-703-7-botoes-scroll-preto-azul_z1_637030130715854141'
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 2,
        'total_paginas': 679,
        'total_quantidade': 1358
    }
}
lomapy.ofertas.obter_por_categoria(categoria_id: int, loja_id: int = None, quantidade: int = None, pagina: int = None, ordenacao: str = None) → dict

Consulta as ofertas de uma determinada categoria

Parameters:
  • categoria_id (int) – ID de categoria. Utilize esse parâmetro para filtrar ofertas de uma determinada categoria
  • loja_id (int, optional) – ID de loja. Utilize esse parâmetro para filtrar ofertas de uma determinada loja
  • quantidade (int, optional (padrão=12)) – Quantidade de ofertas. Com este parâmetro você poderá definir o número de ofertas que deseja receber
  • pagina (int, optional (padrão=1)) – Página desejada
  • ordenacao (str, optional (padrão="rating")) – Ordenação dos resultados. Opções: rating (Ordena por melhor avaliação) e price (Ordena por menor preço).
Returns:

Retorna as Ofertas encontradas

Return type:

dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> categoria = lomapy.categorias.obter_todas()["categories"][0]
>>> resposta = lomapy.ofertas.obter_por_categoria(categoria["id"], quantidade=2)
>>> # Atenção: Mostrado apenas duas ofertas, por questão de espaço
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'ofertas': [
        {
            'categoria': {
                'id': 0,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
                'nome': None,
                'quantidade_ofertas': None
            },
            'id': '000000000001000969',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 6117,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Positivo',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/6117/imagemBox_80x60.png'
            },
            'nome': 'Computador Stilo DS3558 Celeron Windows 10 Home 18.5'' - Preto',
            'parcelas': {'quantidade': 12, 'valor': 124.91},
            'preco_atual': 1349.1,
            'preco_original': 2229.0,
            'thumbnail': 'https://loja.meupositivo.com.br/Assets/Produtos/Gigantes/111.jpg?v=1b9087fb-1'
        },
        {
            'categoria': {
                'id': 0,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
                'nome': None,
                'quantidade_ofertas': None
            },
            'id': '000000000001000974',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 6117,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Positivo',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/6117/imagemBox_80x60.png'
            },
            'nome': 'Computador Stilo DS3550 Celeron Windows 10 Home - Preto',
            'parcelas': {'quantidade': 12, 'valor': 108.25},
            'preco_atual': 1169.1,
            'preco_original': 1799.0,
            'thumbnail': 'https://loja.meupositivo.com.br/Assets/Produtos/Gigantes/DeskStilo_Angulo_400x400px.jpg?v=38f01386-1'
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 2,
        'total_paginas': 244664,
        'total_quantidade': 489327
    }
}
lomapy.ofertas.obter_por_id(oferta_id: int, loja_id: int) → dict

Consulta uma oferta específica

Parameters:
  • oferta_id (int) – ID da oferta desejada
  • loja_id (int) – ID de loja. Utilize esse parâmetro para filtrar ofertas de uma determinada loja
Returns:

Retorna as Ofertas encontradas

Return type:

dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> resposta = lomapy.ofertas.obter_por_id(oferta_id=100003411, loja_id=5632)
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'ofertas': [
        {
            'categoria': {
                'id': 0,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
                'nome': 'Geral',
                'quantidade_ofertas': None
            },
            'id': '100003411',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 5632,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Americanas.com',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/5632/imagemBox_80x60.png'
            },
            'nome': 'Caixa De Som Swarovski Bluetooth 15 Cristais Original',
            'parcelas': {'quantidade': 2, 'valor': 87.87},
            'preco_atual': 175.75,
            'preco_original': 175.75,
            'thumbnail': 'https://images-americanas.b2w.io/produtos/01/00/images/100003/4/100003410P1.jpg'
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 1,
        'total_paginas': 1,
        'total_quantidade': 1
    }
}
lomapy.ofertas.obter_por_loja(loja_id: int, categoria_id: int = None, quantidade: int = None, pagina: int = None, ordenacao: str = None) → dict

Consulta as ofertas de uma determinada loja

Parameters:
  • loja_id (int) – ID de loja. Utilize esse parâmetro para filtrar ofertas de uma determinada loja
  • categoria_id (int, optional) – ID de categoria. Utilize esse parâmetro para filtrar ofertas de uma determinada categoria
  • quantidade (int, optional (padrão=12)) – Quantidade de ofertas. Com este parâmetro você poderá definir o número de ofertas que deseja receber.
  • pagina (int, optional (padrão=1)) – Página desejada.
  • ordenacao (str, optional (padrão="rating")) – Ordenação dos resultados. Opções: rating (Ordena por melhor avaliação) e price (Ordena por menor preço).
Returns:

Retorna as Ofertas encontradas

Return type:

dict

Examples

>>> import lomapy
>>> from pprint import pprint
>>> app_token = "MEU_APP_TOKEN"
>>> source_id = "MEU_SOURCE_ID"
>>> lomapy.autenticar(app_token, source_id)
>>> resposta = lomapy.ofertas.obter_por_loja(5632, quantidade=2)
>>> pprint(resposta)  # doctest: +NORMALIZE_WHITESPACE
{
    'ofertas': [
        {
            'categoria': {
                'id': 0,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/0?sourceId=MEU_SOURCE_ID',
                'nome': None,
                'quantidade_ofertas': None
            },
            'id': '100003411',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 5632,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Americanas.com',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/5632/imagemBox_80x60.png'
            },
            'nome': 'Caixa De Som Swarovski Bluetooth 15 Cristais Original',
            'parcelas': {'quantidade': 2, 'valor': 87.87},
            'preco_atual': 175.75,
            'preco_original': 175.75,
            'thumbnail': 'https://images-americanas.b2w.io/produtos/01/00/images/100003/4/100003410P1.jpg'
        },
        {
            'categoria': {
                'id': 6458,
                'link': 'http://api.lomadee.com/v3/MEU_APP_TOKEN/category/_id/6458?sourceId=MEU_SOURCE_ID',
                'nome': None,
                'quantidade_ofertas': None
            },
            'id': '100006135',
            'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
            'loja': {
                'comissao_maxima': None,
                'eventos': [],
                'id': 5632,
                'link': 'https://developer.lomadee.com/redir/validation/?sourceId=MEU_SOURCE_ID&appToken=MEU_APP_TOKEN',
                'nome': 'Americanas.com',
                'quantidade_ofertas': None,
                'thumbnail': 'https://www.lomadee.com/programas/BR/5632/imagemBox_80x60.png'
            },
            'nome': 'Caixa Amplificada Frahm Mf800 - Usb - Bt - Controle Remoto',
            'parcelas': {'quantidade': 7, 'valor': 145.7},
            'preco_atual': 1019.9,
            'preco_original': 1019.9,
            'thumbnail': 'https://images-americanas.b2w.io/produtos/01/00/images/100006/1/100006134P1.jpg'
        }
    ],
    'paginacao': {
        'pagina': 1,
        'quantidade': 2,
        'total_paginas': 92465,
        'total_quantidade': 184930
    }
}

O Lomapy possui três modulos interagir com a API de Ofertas do Lomadee.

Categorias
Métodos do módulo Categorias.
Lojas
Métodos do módulo Lojas.
Ofertas
Métodos do módulo Ofertas.

Modo Produção

Por padrão, o Lomapy funciona no modo desenvolvimento (caixa de areia). Para ativar o modo produção, basta passar o valor False para o parâmetro caixa_de_areia no método autenticar

# Importar a biblioteca
import lomapy

# Definir suas chaves
app_token = {SEU_APP_TOKEN_AQUI}
source_id = {SEU_SOURCE_ID_AQUI}

# Passar as chaves para lomapy
lomapy.autenticar(app_token, source_id, caixa_de_areia=False)

# Listar todas as categorias
lomapy.categorias.obter_todas()

Contribua

Quera ajudar a melhorar o Lomapy? Contribua com o código e/ou reporte algum problema que encontrar.