Integración API SAP¶
Documentación de la API externa SAP HANA utilizada por el Sistema A3 para sincronización de datos.
Información General¶
Tecnología: ASP.NET Web API 2 (C#)
Base URL: http://atercerosb1.ddns.net
Autenticación: HTTP Basic Auth
Formato: JSON
Límite de archivo: 50MB
Categorías de Endpoints¶
ANEXOS¶
Sistema de archivos adjuntos en SAP.
Obtener Archivo¶
Obtiene los archivos en un string de bytes.
Query Params:
- ItemCode: Código de la vivienda
- folder: Carpeta
- file: Archivo
Lista de Archivos¶
Recibe un JSON con todos los archivos encontrados en la carpeta indicada.
Subir Anexo a Apartado¶
Body (Form Data):
- ItemCode: Formato 00-00000. Código de la vivienda
- FileExt: Extensión ['jfif', 'pjpeg', 'jpeg', 'pjp', 'jpg', 'png', 'pdf']
- Type: Carpeta
- FileName: Nombre del archivo
- DocNum: Número de apartado
- anexo: Archivo
Subir Anexo a Cliente¶
Body:
- CardCode: Código del cliente
- FileExt: Extensión del archivo
- Type: Carpeta
- FileName: Nombre
- anexo: Archivo
Subir Anexo a Provisión¶
Similar a apartados, incluye DocEntry en lugar de DocNum.
Subir Anexo a Vivienda¶
Body:
- ItemCode, FileExt, Type, FileName, anexo
Subir a Múltiples Viviendas¶
Body:
- ItemCodes: "00-00000,00-00000,00-00000" (separados por comas)
- Demás campos iguales
APARTADOS¶
Gestión de ventas en SAP.
Crear Apartado¶
Body:
{
"Plaza": 1,
"CardCode": "C00001",
"U_precioventa": 850000.00,
"SalesPersonCode": 4,
"Comments": "Comentarios",
"ItemCode": "01-00123",
"AccountCode": "CREDITO"
}
Obtener Apartado¶
Obtiene apartado por número.
Obtiene apartado por código de vivienda.
Listar Apartados¶
Todos los apartados.
Paginados.
Actualizar Avalúo¶
Body:
{
"DocNum": "12345",
"U_ORd_c_perito": "Nombre perito",
"U_solicitudavaluo": "2024-01-15T10:00:00",
"U_recepcionavaluo": "2024-01-20T10:00:00",
"U_Obs_Avaluo": "Observaciones"
}
Actualizar Notaría¶
Campos: Notario, número de notaría, fechas, montos, etc.
Actualizar Equipamiento¶
Campos: Especificaciones de equipamiento (cocina, baños, etc.)
Actualizar Inscripción¶
Registrar Detención¶
Body:
{
"DocNum": "12345",
"U_motivodetencion": "Motivo",
"U_fechadetencion": "2024-01-15",
"U_fechaliberacion": "2024-01-20"
}
Cancelar Apartado¶
Body:
ASESORES¶
Información de representantes comerciales.
Buscar por RC¶
Buscar por Nombre¶
Listar Todos¶
CLIENTES¶
Gestión de clientes en SAP.
Crear Cliente¶
Body Persona Física:
{
"CardType": 0,
"U_Con_Per": "P. Fisica",
"Plaza": "MONTERREY",
"U_Con_NRS": "Juan Pérez García",
"U_Con_APat": "Pérez",
"U_Con_AMat": "García",
"LicTradNum": "PEGJ800101ABC"
}
Body Persona Moral:
{
"CardType": 0,
"U_Con_Per": "P. Moral",
"Plaza": "MONTERREY",
"U_Con_NRS": "Empresa SA de CV",
"LicTradNum": "EMP800101ABC"
}
Actualizar Cliente¶
Body (más de 70 campos disponibles):
{
"CardCode": "C00001",
"Phone1": "8112345678",
"E_Mail": "cliente@email.com",
"U_Pros_CasasInteres": "Calle",
"U_Con_NInt": "123",
...
}
Obtener Cliente¶
Listar Clientes¶
Todos los clientes.
Paginados.
Filtrados por nombre, código o teléfono.
Paginados, filtrados y por usuario.
INVENTARIO FOTOS¶
Información de fotos de viviendas.
Inventario Completo¶
Inventario Paginado¶
Por Vivienda¶
PROVISIONES¶
Gestión de provisiones.
Listar Todas¶
Paginadas y Filtradas¶
Por Número¶
Nombres de Anexos¶
Todos los anexos.
Por provisión específica.
REPORTES¶
Generación de reportes.
Excel Inventario Fotos¶
Descarga Excel actualizado.
Generar Contrato¶
GET /api/Reportes/Contrato?TipoDeVenta={tipo}&PersonaFoM={persona}&Apartado={apartado}&ItemCode={itemcode}
Params:
- TipoDeVenta: "CR" (Crédito) o "CO" (Contado)
- PersonaFoM: "F" (Física) o "M" (Moral)
- Apartado: Número de apartado
- ItemCode: Código de vivienda
Ficha de Autorización¶
VIVIENDAS¶
Catálogo de viviendas.
Listar Todas¶
Filtradas¶
Por dirección y RC.
Paginadas y Filtradas¶
Notas Importantes¶
- Límite de archivo: Máximo 50MB por upload
- Formatos permitidos: jfif, pjpeg, jpeg, pjp, jpg, png, pdf
- Autenticación: Todas las peticiones requieren Basic Auth
- Timeout: 30 segundos recomendado
- Retry: Implementar retry logic para errores 5xx
Ejemplo de Uso en Python¶
import requests
from requests.auth import HTTPBasicAuth
BASE_URL = "http://atercerosb1.ddns.net"
auth = HTTPBasicAuth('username', 'password')
# Crear cliente
response = requests.post(
f"{BASE_URL}/api/Clientes/Crear",
json={
"CardType": 0,
"U_Con_Per": "P. Fisica",
"Plaza": "MONTERREY",
"U_Con_NRS": "Juan Pérez",
"U_Con_APat": "Pérez",
"U_Con_AMat": "García",
"LicTradNum": "PEGJ800101ABC"
},
auth=auth
)
print(response.json())
Ver también: - API REST Django - Arquitectura - Integraciones