Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions atm_averba_base/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
================
AT&M Averba Base
================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9a4224c2d4df2b32a46347629979517299f7700e10d26077b24cb238f0ab8ab7
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
:target: https://odoo-community.org/page/development-status
:alt: Alpha
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-Escodoo%2Fclog--addons-lightgray.png?logo=github
:target: https://github.com/Escodoo/clog-addons/tree/14.0/atm_averba_base
:alt: Escodoo/clog-addons

|badge1| |badge2| |badge3|

AT&M Averba Base

.. IMPORTANT::
This is an alpha version, the data model and design can change at any time without warning.
Only for development or testing purpose, do not use in production.
`More details on development status <https://odoo-community.org/page/development-status>`_

**Table of contents**

.. contents::
:local:

Configuration
=============

#. Go to Settings > Users & Companies > Companies and open or create a new company:

- Access the Document Registration notebook.
- Select the environment and fill out the user and password and codigoatm for authentication.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/Escodoo/clog-addons/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/Escodoo/clog-addons/issues/new?body=module:%20atm_averba_base%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Escodoo

Contributors
~~~~~~~~~~~~

* `Escodoo <https://escodoo.com.br>`_:

* Cristiano Mafra Junior <cristiano.mafra@escodoo.com.br>

Maintainers
~~~~~~~~~~~

This module is part of the `Escodoo/clog-addons <https://github.com/Escodoo/clog-addons/tree/14.0/atm_averba_base>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions atm_averba_base/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
15 changes: 15 additions & 0 deletions atm_averba_base/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2025 - TODAY, Escodoo
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "AT&M Averba Base",
"summary": """
AT&M Averba Base""",
"version": "14.0.1.0.0",
"license": "AGPL-3",
"author": "Escodoo",
"development_status": "Alpha",
"website": "https://github.com/Escodoo/clog-addons",
"depends": ["base"],
"data": ["views/res_company.xml"],
}
4 changes: 4 additions & 0 deletions atm_averba_base/constants/atm_averba.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2025 - TODAY, Cristiano Mafra Junior <cristiano.mafra@escodoo.com.br>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

ATM_AVERBA_URL = "https://webserver.averba.com.br/rest/CTe"
1 change: 1 addition & 0 deletions atm_averba_base/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import res_company
67 changes: 67 additions & 0 deletions atm_averba_base/models/res_company.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Copyright 2025 - TODAY, Cristiano Mafra Junior <cristiano.mafra@escodoo.com.br>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).


import requests

from odoo import _, fields, models
from odoo.exceptions import UserError

from ..constants.atm_averba import ATM_AVERBA_URL


class ResCompany(models.Model):

_inherit = "res.company"

atm_averba_environment = fields.Selection(
selection=[("1", "Production"), ("2", "Homologation")],
string="Environment",
default="2",
)
atm_averba_user = fields.Char(string="User")
atm_averba_user_password = fields.Char(string="User Password")
atm_code = fields.Char()
atm_token = fields.Char()

def get_atm_averba_environment(self):
self.ensure_one()
return {
"url": ATM_AVERBA_URL
if self.atm_averba_environment == "1"
else ATM_AVERBA_URL,
"usuario": self.atm_averba_user,
"senha": self.atm_averba_user_password,
"codigoatm": self.atm_code,
}

def generate_atm_token(self):
self.ensure_one()
config = self.get_atm_averba_environment()

url = "https://webserver.averba.com.br/rest/Auth"
headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"usuario": config["usuario"],
"senha": config["senha"],
"codigoatm": config["codigoatm"],
}

try:
response = requests.post(url, json=payload, headers=headers, timeout=15)
response.raise_for_status()
result = response.json()
except requests.RequestException as e:
raise UserError(_("Erro na conexão com AT&M: %s") % str(e))
except Exception as e:
raise UserError(_("Erro inesperado: %s") % str(e))

token = result.get("Bearer")
if not token:
raise UserError(_("Token não retornado pela AT&M: %s") % result)

self.atm_token = token
return token
4 changes: 4 additions & 0 deletions atm_averba_base/readme/CONFIGURE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#. Go to Settings > Users & Companies > Companies and open or create a new company:

- Access the Document Registration notebook.
- Select the environment and fill out the user and password and codigoatm for authentication.
3 changes: 3 additions & 0 deletions atm_averba_base/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* `Escodoo <https://escodoo.com.br>`_:

* Cristiano Mafra Junior <cristiano.mafra@escodoo.com.br>
1 change: 1 addition & 0 deletions atm_averba_base/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
AT&M Averba Base
Binary file added atm_averba_base/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading