Skip to main content

External Service Consumption

API client · Outbound integration · External connector · Third-party API consumption

Examples​

Consuming Google Maps: the system invokes the provider's service to embed a rendered map, incorporating a third-party capability without developing it internally.

Description​

A component through which the system invokes a service provided by an external system in order to obtain information or delegate an operation that it does not handle by itself. The system acts as a client: it builds the request according to the third party's contract, sends it, and processes the response received to incorporate it into its own flow. It is the "client" side of an integration between systems, and it makes it possible to incorporate third-party capabilities (maps, payments, validations) without developing them internally.

Mandatory capabilities​

Mandatory capabilities
  • Builds requests to an external service in compliance with the contract (specification) defined by the third party
  • Sends the request and receives the response from the external system
  • Interprets and processes the response received to incorporate it into the system's flow
  • Manages the credentials with which the system identifies itself to the external service

Additional capabilities​

Additional capabilities
  • Failure handling and retries: retries the invocation or applies a fallback when the external service does not respond or returns an error, preventing the external failure from disrupting the system
  • Caching of external responses: temporarily stores the third party's responses to reduce repeated calls and dependence on its availability
  • Data transformation: adapts the format of the external response to the system's internal data model
  • Integration monitoring: records the latency, errors, and availability of the external service being consumed

Boundaries​

What it is not
  • Does not expose the system's own functionality to third parties — that belongs to Exposed Service: here the system is the one using someone else's service, not the one offering it
  • Does not control or implement the external service: it depends on the contract and availability defined by the third party
  • Is not a Scraper: service consumption uses a formal, authorized contract provided by the third party; the Scraper extracts data from an interface not designed to be consumed programmatically
  • Is not an ETL: although both bring in external data, the ETL runs planned bulk loads; service consumption invokes specific operations as the system needs them

Information flow​

Input

Structured response returned by the external service (the requested data or a confirmation of the operation)

→
Output

Structured request that the system sends to the external service (operation, parameters, credentials)

Variants​

  • Query consumption: the system invokes the third party to obtain information (e.g., looking up an exchange rate, a location, a credit score)
  • Operation consumption: the system invokes the third party to carry out an action (e.g., initiating a payment, sending an email through a provider)
  • REST / SOAP / GraphQL: depending on the protocol defined by the external service being consumed

Typical dependencies​

  • An external service provided by a third party, with its contract and documentation
  • Access credentials for the external service (API key, token, certificate) and their secure storage
  • API Authentication to identify the system to the external service being consumed
  • Network connectivity to the external system

Mapping to the Digital Board​

Manual UpdateNo
Automatic UpdateAlways
Data ConceptsAlways
On-Demand OutputsNo
Automatic OutputsAlways
Autonomous ProcessesAlways
SectionRelationshipNotes
Manual UpdateNo—
Automatic UpdateAlwaysThe response that arrives from the external service and is incorporated into the system.
Data ConceptsAlwaysThe system entities that are enriched or validated with the information from the external service.
On-Demand OutputsNo—
Automatic OutputsAlwaysThe structured request that the system sends to the external service.
Autonomous ProcessesAlwaysThe logic that builds the request, interprets the response, and handles failures, retries, and caching, when those capabilities are present.

Digital Board example​

Manual Update
—
Data Concepts
Address
Coordinates
Route
On-Demand Outputs
—
Automatic Update
Geocoding Response
Route Calculation Response
Autonomous Processes
Request Building
Response Interpretation
Failure Handling and Retries
Automatic Outputs
Request to Google Maps