TMS - Integracion con SAP Business One
Lo que conecta
El TMS (TRANSCEND) proporciona datos de planificacion de rutas, costes operativos y gestion de flota que se integran con SAP para una vision completa del negocio.
Datos que fluyen
| TMS (TRANSCEND) | SAP Business One | Para que |
|---|---|---|
| Coste por ruta | Ordenes de servicio | Calcular costes reales |
| Km recorridos | Gastos de flota | Imputar a centros de coste |
| Peajes | Gastos externos | Conciliacion de gastos |
| Horas conductor | Costes laborales | Nominas y productividad |
Guia paso a paso
Paso 1: Autenticar en TMS
bash
curl -X POST "https://back.transcend.cargoffer.com/iam/auth/login" \
-H "Content-Type: application/json" \
-d '{"email": "api@tuempresa.com", "password": "tu_password"}'Paso 2: Obtener ruta y costes del dia
bash
# Ruta del dia
curl -X GET "https://back.transcend.cargoffer.com/api/route?origin=Madrid&destination=Barcelona" \
-H "Authorization: Bearer *** Costes (peajes)
curl -X GET "https://back.transcend.cargoffer.com/costs?origin=Madrid&destination=Barcelona&vehicleType=camion" \
-H "Authorization: Bearer *** Horas conductor
curl -X GET "https://back.transcend.cargoffer.com/drivers/{id}/hours-history" \
-H "Authorization: Bearer <token...
### Paso 3: Mapear a SAP
| Dato TMS | Tabla SAP | Uso |
|----------|-----------|-----|
| route.distance | @@ OCLG.Distance | Km del viaje |
| costs.totalCost | OEXP.TotalExpense | Peajes |
| driver.hours | OHLP.Duration | Horas conductor |
| vehicle.plate | OVPM.VehiclePlate | Matricula imputada |
### Paso 4: Crear orden de servicio en SAP
```bash
curl -X POST "https://tu-sap:50000/b1s/v1/ServiceCalls" \
-H "Cookie: B1SESSION=..." \
-H "Content-Type: application/json" \
-d '{
"Subject": "Transporte Madrid-Barcelona",
"CustomerCode": "A12345678",
"Origin": {"Address": "Madrid"},
"Destination": {"Address": "Barcelona"},
"Distance": 620,
"Expenses": [{"ExpenseCode": "PEAJES", "Total": 83.80}]
}'Automatizacion
python
import requests
TMS_TOKEN=*** = "https://tu-sap:50000/b1s/v1"
def registrar_ruta_en_sap(origen, destino):
# Obtener datos del TMS
ruta = requests.get(
f"https://back.transcend.cargoffer.com/api/route?origin={origen}&destination={destino}",
headers={"Authorization": f"Bearer {TMS_TOKEN}"}
).json()
costes = requests.get(
f"https://back.transcend.cargoffer.com/costs?origin={origen}&destination={destino}&vehicleType=camion",
headers={"Authorization": f"Bearer {TMS_TOKEN}"}
).json()
# Registrar en SAP
sap.crear_servicio({
"destino": destino,
"km": ruta.get("distance"),
"peajes": costes.get("totalCost", 0)
})