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.