15-api-unification
Duas gerações de API. Três autenticações. Um cliente.

Duas gerações de API. Três autenticações. Um cliente.
O gateway de pagamentos eupago tem duas gerações de API a coexistir: a legacy, onde a autenticação vai no body e o campo de valor chama-se "valor", e a v1.02, onde a autenticação vai em headers e o valor vive em "payment.amount.value".
Mesmo gateway. Mesmo dinheiro. Duas formas completamente diferentes.
Um SDK "thin wrapper" passa essa confusão directa para o teu código. Metade da integração passa a ser aprender que chamada usa que geração, que auth, que nome de campo. Isso não é um SDK — é documentação com um __init__.py.
No eupago-python a aplicação vê uma coisa só:
client.mbway.create_payment(amount=Decimal("49.90"), order_id="ORD-001", phone_number="912345678")
Por trás: o SDK escolhe a geração certa por endpoint, a estratégia de auth correcta (ApiKey header para v1.02, body para legacy, OAuth para reembolsos), e unifica o vocabulário. O teu código nunca diz "valor". O teu código nunca vê "ApiKey".
A interface é o produto. A unificação é o trabalho.
Quando envolves uma API desarrumada, estás a absorver a confusão ou a passá-la à frente?
Repo: github.com/bilouro/eupago-python
P.S. Novo post tech toda a quarta-feira aqui no LinkedIn.
#OpenSource #Python #SoftwareArchitecture
Comentários