Appearance
Hand-off to Atlantes
The Hand-off flow transfers a search result from the Advisor Console to Atlantes for booking. The console creates a Quote__c or Booking__c in Salesforce via the Atlantes REST API.
Flow
- Advisor selects a search result in the AI Chat
- Advisor clicks "Hand off to Atlantes"
- Console sends
POST /api/v1/handoffwith the search result and context - Integration Layer authenticates to Salesforce via JWT Bearer OAuth 2.0
- Integration Layer creates a Quote__c or Booking__c record
- Console displays confirmation to the advisor
API Contract
POST /api/v1/handoff
Content-Type: application/json
x-api-key: <consumer_key>
x-api-secret: <consumer_secret>
{
"type": "quote" | "booking",
"trip_id": "uuid",
"member_id": "uuid",
"result": {
"name": "string",
"source": "string",
"details": { ... }
}
}Response
json
{
"id": "sf_record_id",
"type": "quote",
"status": "created",
"external_id": "uuid"
}What the Console Does Not Handle
The console hands off to Atlantes. It does not handle:
- Payment processing
- Booking confirmation
- Itinerary generation
- Cancellation or modification
These responsibilities stay with Atlantes. The console's role ends at hand-off.
Authentication
The Integration Layer uses JWT Bearer OAuth 2.0 to authenticate to Salesforce:
- Console sends the hand-off request with API key credentials
- Integration Layer validates the consumer identity
- Integration Layer builds a signed JWT with its Salesforce identity
- Integration Layer exchanges the JWT for an access token
- Integration Layer makes the Salesforce API call
The console never sees Salesforce credentials. The Integration Layer is the security boundary.