Skip to main content

Unofficial Python wrapper for Canadian Tire Triangle Mastercard API

Project description

Triangle Mastercard API (Unofficial) 🇨🇦

Python Version License: MIT Maintenance

Um wrapper em Python para a API privada do Triangle Mastercard (Canadian Tire Financial Services).

Este projeto realiza a engenharia reversa do portal web oficial para extrair informações de saldo, limites e transações, permitindo a integração dos seus dados financeiros em seus próprios aplicativos, bots ou planilhas.


⚠️ Aviso Legal (Disclaimer)

Este projeto não é afiliado, mantido, autorizado, endossado ou patrocinado pela Canadian Tire Financial Services (CTFS) ou qualquer uma de suas afiliadas.

Este é um software independente para fins educacionais e de uso pessoal. O uso de automação para acessar contas bancárias pode violar os Termos de Serviço da instituição. Use com responsabilidade e por sua conta e risco.


✨ Funcionalidades

  • Autenticação Automatizada: Realiza o login via Playwright lidando com proteção de bots.
  • Suporte a MFA: Detecta e solicita o código de SMS/Segurança via terminal.
  • Persistência de Sessão: Salva cookies localmente para evitar logins constantes e reduzir o risco de bloqueio.
  • Resumo da Conta: Saldo atual, crédito disponível, limite total e data de vencimento.
  • Histórico de Transações: (Em desenvolvimento)
  • Triangle Rewards: Saldo de Canadian Tire Money (Em desenvolvimento)

🚀 Instalação

  1. Clone o repositório: git clone https://github.com/diogobas/triangle-api.git cd triangle-api

  2. Instale as dependências: pip install -r requirements.txt

  3. Instale o navegador necessário pelo Playwright: playwright install chromium

💻 Exemplo de Uso

from triangle_api.client 
import TriangleClient
import os

# Recomenda-se usar variáveis de ambiente para segurança
USER = "seu_email@exemplo.com"
PASSWORD = "sua_senha_secreta"

# Instancia o cliente
client = TriangleClient(username=USER, password=PASSWORD)

# Realiza o login (abre o navegador na primeira vez, usa cookies nas próximas)
# headless=False permite ver o navegador operando
data = client.login(headless=True)

print(f"Saldo Atual: $ {client.get_balance()}")
print(f"Crédito Disponível: $ {data.get('availableCreditAmt')}")

🔒 Segurança e Persistência

Para evitar que o banco suspeite de múltiplos logins, este wrapper utiliza o recurso storage_state do Playwright.

  • Após o primeiro login bem-sucedido, um arquivo auth_state.json é criado.
  • Nas próximas execuções, o script tentará usar esses cookies para acessar o Dashboard diretamente.
  • Atenção: Nunca envie o arquivo auth_state.json para o GitHub (ele já está no .gitignore).

🛠️ Desenvolvimento

Se você quiser contribuir para o projeto mapeando novos endpoints (como transações ou ofertas), siga estes passos:

  1. Faça o login no site da CTFS com o modo Inspecionar (F12) aberto.
  2. Filtre por chamadas XHR/Fetch.
  3. Procure por endpoints como retrieveTransactions ou retrieveLoyalty.
  4. Mapeie o JSON de resposta na classe TriangleClient.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

triangle_api-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

triangle_api-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file triangle_api-0.1.0.tar.gz.

File metadata

  • Download URL: triangle_api-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for triangle_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 90da26c5b910c9439281e835d6b624d8b65583eeaf80a319aab58bca7be0541a
MD5 9b364fb5dcbb767fb555eb15e956dbbc
BLAKE2b-256 4a7af70c554012ff762e4d07aef32aa78d6ed6f98320ea27c57a47f654d42276

See more details on using hashes here.

File details

Details for the file triangle_api-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: triangle_api-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for triangle_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d347709a3c9c5854c981f8c037139dc0df50d7dbe0e4c3137e74394eb7d4315
MD5 795b4974b36419147e6365910666ca39
BLAKE2b-256 bc004a212ae6d57248a197dcd0a4b4c7994c69cadce687edd13bcca630191569

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page