Skip to content

TRANSCEND IAM + Pay con Odoo: Usuarios y pagos sincronizados

Sincronizar usuarios (IAM -> Odoo)

python
import requests, xmlrpc.client

TOKEN=*** = "https://tu-odoo.com"

def sincronizar_usuarios_transcend():
    """Crea usuarios en Odoo a partir de los usuarios de TRANSCEND."""
    
    usuarios = requests.get(
        "https://back.transcend.cargoffer.com/iam/users",
        headers={"Authorization": f"Bearer {TOKEN}"}
    ).json()
    
    for u in usuarios:
        # Crear usuario en Odoo
        partner_id = models.execute_kw("db", 1, "pass",
            "res.partner", "create", [{
                "name": u.get("displayName", u["email"]),
                "email": u["email"],
                "is_company": False
            }])
        
        # Asignar permisos segun rol de TRANSCEND
        if u.get("role") == "admin":
            models.execute_kw("db", 1, "pass",
                "res.users", "create", [{
                    "partner_id": partner_id,
                    "login": u["email"],
                    "groups_id": [(6, 0, [1])]  # Grupo Admin
                }])

Sincronizar facturas de pago (Pay -> Odoo)

python
def sincronizar_facturas_pago():
    facturas = requests.get(
        "https://back.transcend.cargoffer.com/account/invoices",
        headers={"Authorization": f"Bearer {TOKEN}"}
    ).json()
    
    for f in facturas:
        # Crear factura de proveedor en Odoo
        models.execute_kw("db", 1, "pass",
            "account.move", "create", [{
                "move_type": "in_invoice",
                "partner_id": partner_transcend,
                "invoice_date": f["date"],
                "amount_total": f["total"]
            }])

Documentación de Cargoffer