feat: add saas_network to docker-compose and http_client for internal API calls
All checks were successful
DEPLOY_MULTI_BRACH/pipeline/head This commit looks good

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
minguezsanzjuanjose
2026-04-18 02:05:08 +02:00
parent 197cff011f
commit d735d73322
2 changed files with 67 additions and 0 deletions

60
app/common/http_client.py Normal file
View File

@@ -0,0 +1,60 @@
import urllib.request
import json
import os
BACKOFFICE_URL = os.getenv('BACKOFFICE_URL', 'http://django_app_backoffice:8000')
COMUNICACIONES_URL = os.getenv('COMUNICACIONES_URL', 'http://django_app_comunicaciones:8000')
DOCUMENTACION_URL = os.getenv('DOCUMENTACION_URL', 'http://django_app_documentacion:8000')
def _post(url, payload):
data = json.dumps(payload).encode('utf-8')
req = urllib.request.Request(
url, data=data,
headers={'Content-Type': 'application/json'},
method='POST'
)
with urllib.request.urlopen(req, timeout=10) as resp:
return json.loads(resp.read())
# --- Backoffice ---
def backoffice_obtener_usuario(params):
return _post(f'{BACKOFFICE_URL}/api/usuarios/obtener/', params)
def backoffice_crear_usuario(params):
return _post(f'{BACKOFFICE_URL}/api/usuarios/guardar/', params)
def backoffice_obtener_cliente(params):
return _post(f'{BACKOFFICE_URL}/api/clientes/obtener/', params)
def backoffice_crear_cliente(params):
return _post(f'{BACKOFFICE_URL}/api/clientes/guardar/', params)
def backoffice_obtener_contrato(params):
return _post(f'{BACKOFFICE_URL}/api/contratos/obtener/', params)
def backoffice_crear_contrato(params):
return _post(f'{BACKOFFICE_URL}/api/contratos/guardar/', params)
# --- Comunicaciones ---
def comunicaciones_enviar_email(params):
return _post(f'{COMUNICACIONES_URL}/api/email/enviar/', params)
def comunicaciones_enviar_sms(params):
return _post(f'{COMUNICACIONES_URL}/api/sms/enviar/', params)
def comunicaciones_registrar_webhook(params):
return _post(f'{COMUNICACIONES_URL}/api/webhooks/registrar/', params)
# --- Documentacion ---
def documentacion_generar_pdf(params):
return _post(f'{DOCUMENTACION_URL}/api/generation/pdf/', params)
def documentacion_obtener_template(params):
return _post(f'{DOCUMENTACION_URL}/api/templates/obtener/', params)
def documentacion_guardar_documento(params):
return _post(f'{DOCUMENTACION_URL}/api/storage/guardar/', params)