Una integració robusta no és “que funcioni avui”: és que aguanti canvis, pics i errors sense aturar el negoci.
Quan un flux d’automatització depèn de diverses APIs (ERP, CRM, eCommerce, helpdesk, BI…), el problema no sol ser “una crida que falla”. El problema és que una sola fallada puntual pot desencadenar duplicats, incoherències, colls d’ampolla i incidències.
En aquesta guia trobaràs un enfocament pràctic per dissenyar una arquitectura d’integració d’APIs que sigui estable, escalable i fàcil d’operar: patrons de resiliència, seguretat, observabilitat, governança i proves.
Què és una arquitectura d’integració d’APIs (i per què fallen els fluxos)
Una arquitectura d’integració d’APIs és el conjunt de components, patrons i normes que permeten que els teus sistemes es comuniquin de manera consistent i operable: ERP, CRM, eCommerce, helpdesk, bases de dades, serveis externs, etc. Quan aquesta arquitectura està ben dissenyada, els fluxos d’automatització no depenen d’un fil massa fi: tenen capes de protecció.
Senyals que un flux és fràgil (i t’està costant diners)
- Incidències recurrents per timeouts, rate limits o errors 5xx de tercers.
- Duplicats (comandes, tickets, cobraments) perquè el sistema “reintenta” sense control.
- Canvis d’una API (camp nou, camp renombrat, versionat) que trenquen processos en cadena.
- Integracions “espagueti”: cada eina parla amb totes i ningú sap on es va trencar.
- Dependència d’una única connexió síncrona: si un sistema cau, tot s’atura.
- Sense traçabilitat: costa hores saber què ha passat, on i per què.
La clau és entendre una idea simple: els errors són inevitables en sistemes distribuïts. La diferència entre una automatització “delicada” i una automatització “robusta” és si el disseny assumeix aquest fet i incorpora mecanismes perquè el negoci continuï operant.
7 principis per construir integracions d’APIs realment robustes
1) Desacobla (quan puguis) amb esdeveniments i cues
Si el flux pot ser asíncron, guanyes tolerància a fallades: el missatge “espera” i el procés continua quan el sistema es recupera.
2) Idempotència per defecte
Repetir una operació no ha de generar duplicats. És el fonament perquè els reintents siguin segurs.
3) Reintents intel·ligents, no “loop infinito”
Reintenta només errors transitoris, amb backoff, límits i criteris de tall (i amb via de sortida: DLQ / quarantena).
4) Observabilitat de punta a punta
Logs estructurats, correlació, mètriques i alertes. Si no ho pots veure, no ho pots operar.
5) Contractes i versionat explícits
OpenAPI, validació d’esquemes i polítiques de deprecació. Canviar una API és normal; trencar consumidors no ho és.
6) Seguretat integrada: autenticació, autorització i auditoria
Tokens, scopes, secrets, permisos mínims i registre d’accés. La integració no pot ser una porta del darrere.
7) Governança i propietat (ownership)
Qui és responsable de cada API/flux, quins SLAs hi ha, com es desplega, com es prova i com es gestiona el canvi.
Components clau d’una arquitectura d’integració d’APIs (pensada per automatització)
No hi ha una única “plantilla universal”, però sí un conjunt de peces que es repeteixen quan vols estabilitat i escalabilitat. El més important és que cada peça tingui una funció clara i eviti dependències fràgils.
API Gateway i gestió de trànsit
Punt d’entrada i control: autenticació, limitació de taxa, rutes, polítiques, i coherència. Ajuda especialment quan tens moltes integracions o consumidors.
- Rate limiting i quotes per protegir sistemes.
- Timeouts i validació bàsica per tallar problemes ràpid.
- Polítiques de seguretat (tokens, mTLS, IP allowlist si cal).
Orquestració de fluxos
Una capa que defineix passos, dependències, reintents i compensacions. És on l’automatització es fa “operable”: què passa si falla el pas 3? i si arriba dues vegades? i si el sistema tarda 2 minuts?
- Control de reintents per etapa, temps màxim i recuperació.
- Gestió d’errors amb rutes alternatives i notificacions.
- Historial d’execució per auditar i depurar.
Missatgeria: cues i/o bus d’esdeveniments
Desacobla productors i consumidors. Si un sistema cau, els missatges no desapareixen: s’acumulen i es processen quan toca, amb control.
- Absorbeix pics de càrrega sense col·lapsar APIs.
- Permet patrons com DLQ (dead letter queue) i reprocessat.
- Facilita integracions event-driven entre múltiples sistemes.
Capa de transformació i qualitat de dades
Quan integres ERP/CRM/eCommerce, el més habitual és que les dades no encaixin 1:1. Necessites mapatges, validacions i regles perquè la qualitat no depengui d’un “if” amagat.
- Validació d’esquema i regles de negoci.
- Normalització (formats, codis, decimals, zones horàries).
- Traçabilitat del “què ha canviat” i “quan”.
Quan el flux està ben orquestrat, els errors no trenquen el procés: queden gestionats i traçats.
Patrons de resiliència per integracions API: els que més eviten “incendis”
A la pràctica, la robustesa surt d’aplicar un conjunt petit de patrons… però aplicar-los bé. Aquí tens els més importants quan hi ha automatització i dependències externes.
Timeouts coherents
Un timeout curt i ben triat és una decisió de negoci: evita que un pas quedi “penjat” i bloquegi la resta. Defineix timeouts per tipus de crida (consulta vs operació crítica) i revisa’ls amb dades reals.
Retries amb backoff + límit
Reintentar a l’instant sovint empitjora el problema. El patró habitual és backoff progressiu, un màxim d’intents i criteris per deixar de reintentar. I molt important: separa errors transitoris (p. ex. 429, 503) d’errors permanents (p. ex. 400).
Idempotència (clau per evitar duplicats)
Si el flux reintenta una creació (POST), necessites una clau d’idempotència perquè el servidor o la capa d’integració reconegui que “això ja es va fer” i respongui sense duplicar.
Idempotency-Key: 6f1b9c4a-9a4a-4f31-8d57-3c7c8d2f1b3a
Consell pràctic: genera la clau a partir de l’ID de negoci (comanda, factura, ticket) + context. Emmagatzema l’estat per poder deduplicar.
Circuit Breaker
Si un sistema està caigut o respon molt lent, no té sentit insistir. El circuit breaker “obre” i talla temporalment la dependència, protegint l’orquestració i evitant col·lapses en cascada.
Bulkhead
Compartimenta recursos: que una integració problemàtica no s’endugui per davant la resta. Per exemple: límits de concurrència per connector, cues separades per processos crítics, i budgets de temps per etapa.
DLQ / Quarantena d’errors
Quan un missatge falla repetidament, l’objectiu no és “reintentar per sempre”, sinó apartar-lo, notificar i permetre reprocessat controlat. Això evita que un sol cas bloquegi tota la cua o el workflow.
Compensacions (Sagas)
En processos multi-pas (p. ex. crear client → crear comanda → crear factura), si falla un pas intermedi, necessites accions compensatòries (desfer o ajustar) per tornar el sistema a un estat consistent.
Regla pràctica
Si una acció pot tenir impacte econòmic o operatiu (cobraments, comandes, altes, cancel·lacions), aplica: idempotència + traçabilitat + criteris clars de reintents + via de sortida (DLQ).
Seguretat i governança en integració d’APIs: el mínim que ha d’estar “per defecte”
Quan connectes sistemes, també connectes permisos. Una arquitectura robusta protegeix dades i processos sense convertir la integració en un laberint. L’objectiu és: seguretat consistent, fàcil d’auditar i fàcil d’operar.
Autenticació i autorització (OAuth2 / JWT / mTLS)
- Scopes i permisos mínims (least privilege) per a cada integració.
- Tokens amb caducitat i rotació planificada (no “secrets eterns”).
- mTLS quan cal reforçar canals entre serveis o entorns sensibles.
Gestió de secrets
- Mai secrets en codi ni en automatitzacions “a la vista”.
- Rotació i inventari de credencials.
- Separació d’entorns (dev/stage/prod) amb permisos diferenciats.
Auditoria i traça d’accions
- Qui ha cridat què, quan i amb quin resultat (èxit, error, reintent, DLQ).
- Correlació per ID de negoci (comanda/ticket/factura) i per execució.
- Registre d’esdeveniments rellevants per a compliment i investigació d’incidents.
Governança i cicle de vida
- Normes de versionat, deprecació i comunicació de canvis.
- Propietari (owner) per API/flux i criteris d’acceptació abans de producció.
- Catàleg bàsic: què integra què, amb quina dependència i quin SLA.
OpenAPI, versionat i proves: la manera més ràpida de reduir trencaments
Molts problemes d’integració no venen d’un “bug”: venen d’un canvi no controlat. Quan els contractes estan definits i es proven de manera automatitzada, els equips poden evolucionar sense por.
Bones pràctiques que acostumen a donar més estabilitat
- API-first: dissenyar el contracte abans d’implementar (i validar-lo).
- Versionat clar (i política de deprecació): quan es pot retirar una versió?
- Validació d’entrada: errors previsibles i missatges coherents (no “500” per tot).
- Contract testing: proves del consumidor/proveïdor per detectar canvis incompatibles.
Exemple simplificat de com documentar una operació amb idempotència (orientatiu):
paths:
/orders:
post:
summary: Crear comanda (idempotent)
parameters:
- in: header
name: Idempotency-Key
required: true
schema:
type: string
responses:
"201":
description: Comanda creada
"409":
description: Operació duplicada (ja processada)
Observabilitat i monitorització d’integracions API: el que t’estalvia hores
Una integració robusta no és la que “no falla mai”, sinó la que quan falla: ho detectes ràpid, saps l’impacte i tens un camí de recuperació.
Mètriques imprescindibles
- Taxa d’error per connector i per endpoint (4xx/5xx/429).
- Latència (p50/p95) i timeouts.
- Reintents: quants, de quin tipus i quin percentatge acaba en èxit.
- DLQ: volum, antiguitat i temps fins a resolució.
- Throughput: quantes execucions/minut i colls d’ampolla.
Traçabilitat (correlació)
- ID de correlació per transacció (de punta a punta).
- ID de negoci (comanda/factura/ticket) present als logs i events.
- Logs estructurats (claus i valors), no textos lliures impossibles de filtrar.
Alertes que ajuden (i no molesten)
- Alertes per tendència (p. ex. augment sostingut d’errors), no només per “un error”.
- SLA/SLO: alerta quan impacta el servei, no quan passa una anècdota.
- Runbooks: què fer quan salta l’alerta (passos clars).
Dashboards i alertes ben definides: el pont entre tecnologia i continuïtat operativa.
Com aterrar una arquitectura d’integració d’APIs a l’empresa (pas a pas)
Per passar de “tenim integracions que funcionen a estones” a “tenim fluxos robustos”, el més eficient és avançar per etapes: estabilitzar el que més impacta i establir estàndards que s’escalin.
- Inventari i priorització: quins fluxos són crítics? quins sistemes intervenen? quin cost té cada incidència?
- Mapa de dependències: on hi ha punts únics de fallada, crides en cadena i acoblaments fràgils.
- Patrons mínims: timeouts coherents, retries amb criteris, idempotència i DLQ per als fluxos crítics.
- Contractes i proves: OpenAPI + validacions + proves de contracte per reduir trencaments per canvis.
- Observabilitat: mètriques, correlació, alertes i runbooks per operar sense “debug etern”.
- Governança lleugera: propietat clara, versionat i procés de canvi (sense burocràcia, però amb control).
- Escalat: quan el model funciona en 2-3 fluxos, s’estén a la resta amb el mateix estàndard.
Quan hi ha equips tècnics i de negoci
Una bona pràctica és definir KPIs operatius (incidències, temps de resolució, duplicats, temps d’execució, percentatge de reintents) i vincular-los a processos de negoci (cobrament, comandes, suport, logística). Això ajuda a prioritzar i a demostrar millores.
Si vols que ho revisem plegats i detectar ràpid on s’està trencant (o on es trencarà amb el proper canvi), escriu-nos a info@bastelia.com.
Checklist ràpid: auditoria d’integració d’APIs per a fluxos d’automatització robusts
Aquesta checklist serveix per detectar, en minuts, els punts que més sovint provoquen incidències i duplicats. Si vols, podem convertir-la en un pla d’acció prioritzat.
-
Idempotència
Hi ha clau d’idempotència i deduplicació en operacions de creació/actualització? Està definida per ID de negoci?
-
Retries
Els reintents tenen backoff, màxim d’intents i criteris (què es reintenta i què no)?
-
Gestió d’errors (DLQ)
Quan un cas falla repetidament, va a quarantena amb alertes i reprocessat controlat?
-
Timeouts i límits
Hi ha timeouts coherents i control de concurrència per connector? Es gestionen 429/rate limits?
-
Contractes i versionat
El contracte està documentat (OpenAPI) i hi ha política de deprecació i proves per canvis?
-
Observabilitat
Pots respondre en 2 minuts: què ha fallat, quants casos estan afectats i quin és el següent pas?
-
Seguretat i auditoria
Secrets gestionats, permisos mínims, rotació i registre d’accés/execució?
Vols la checklist ampliada i un diagnòstic orientat a decisions? Escriu a info@bastelia.com.
Vols passar de “funciona” a “és robust i escalable”?
Si tens automatitzacions que depenen d’APIs (internes o de tercers) i vols reduir incidències, duplicats i temps de resolució, a Bastelia t’ajudem a dissenyar i implementar una arquitectura d’integració preparada per créixer.
Escriu-nos i t’expliquem el plaEnllaços útils per aprofundir (serveis relacionats):
Preguntes freqüents sobre arquitectura d’integració d’APIs
Què vol dir que una integració sigui “robusta”?
Que el flux continua funcionant (o es recupera de manera controlada) davant errors transitoris, canvis d’APIs i pics de càrrega. No es tracta d’eliminar errors, sinó de gestionar-los: reintents, idempotència, cues, quarantena i observabilitat.
Quan convé fer el flux asíncron en lloc de síncron?
Quan no cal resposta immediata a pantalla, quan hi ha molts passos, quan hi ha dependència de tercers o quan el volum pot créixer. L’asíncron (cues/events) desacobla i és més tolerant a fallades; el síncron és útil per consultes o accions simples amb resposta immediata.
Com evito duplicats quan hi ha reintents?
Amb idempotència: una clau (Idempotency-Key) i un registre d’operacions processades. Això permet que, si una crida es repeteix, el sistema respongui de manera segura sense crear una segona comanda, ticket o transacció.
Què és una DLQ (dead letter queue) i per què és important?
És una cua on van a parar missatges que han fallat després de reintents o que no són reintentables. Serveix per evitar que un cas “tòxic” bloquegi tota la integració i per habilitar un reprocessat controlat amb traça i responsabilitat.
Un API Gateway és imprescindible?
No sempre, però és molt recomanable quan tens múltiples consumidors, necessites polítiques consistents (seguretat, rate limiting, rutes), o vols centralitzar observabilitat i governança. En entorns amb moltes integracions, acostuma a simplificar i estabilitzar.
Com gestiono rate limits (429) i timeouts de tercers?
Definint backoff, respectant finestres de reintents, aplicant límits de concurrència per connector i, si cal, desacoblant amb cues perquè el volum no impacti l’operació. També ajuda tenir rutes de degradació (p. ex. “pendents de reprocessar”).
Quines mètriques he de tenir sí o sí?
Errors per endpoint, latència, percentatge de reintents, volum a DLQ i temps de resolució, throughput i colls d’ampolla. I sempre correlació per ID de negoci per poder respondre ràpid: “quants casos estan afectats?”.
