1. Getting Started

1.1 Environments

The Aéllo Copilot API is available in the following environments:

Sandbox. Your test environment. Entities are persisted temporarily and it is isolated from your dealership's real environment.

Production. Your dealership's production environment. Be careful with production endpoints, as you are touching real data: users may get notifications, automations may be triggered and other data may be updated. Do not use this environment to test your integration.

1.2 Base URL

All API requests should be made to the base URL of your environment.

Sandbox

https://api.customers.sandbox.aello-copilot.com

Production

https://api.customers.aello-copilot.com

Important: contact us at tech@aello-group.com to get an Aello-Api-Key for your sandbox environment.

1.3 Authorization

The Aéllo Copilot API uses API keys to authenticate requests. Your API key is provided by the admin user in the application. To authenticate, include your API key in the request header:

Aello-Api-Key: your-api-key-here

Important: keep your API key secure and never share it publicly. Store it in environment variables or a secure configuration management system.

2. Guide

2.1 Creating a Lead

To create a lead in Aéllo Copilot, send a POST request to the /leads endpoint with the lead details.

Example request

POST /leads
Content-Type: application/json
Aello-Api-Key: your-api-key-here

{
  "externalId": "external-id-12345679",
  "contact": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe123@email.com",
    "phoneCountryCode": "352",
    "phoneNumber": "612345679",
    "companyName": "Company XYZ"
  },
  "product": {
    "link": "https://example.com/product",
    "image": "https://example.com/image.jpg",
    "title": "Product Title",
    "reference": "10864675",
    "price": 45000
  },
  "message": "Hello world!"
}

Example response

HTTP/1.1 202 Accepted

3. API Reference

3.1 Leads — Create Lead

POST /leads

Creates a new lead in the Aéllo Copilot system. If the contact does not exist, a new contact is created. If the product reference does not exist in your dealership, a new product is created. If there is an existing lead sent by the same contact and the same product within the last 30 days, a new message is created under that lead instead.

Headers

NameTypeRequiredDescription
Aello-Api-KeystringYesYour API key for authentication
Content-TypestringYesapplication/json

Request body

FieldTypeRequiredDescription
externalIdstringNoThe lead identifier in your own internal system
contactobjectYesContact information
contact.firstNamestringYesFirst name of the contact
contact.lastNamestringNoLast name of the contact
contact.emailstringNo if phone is providedEmail address of the contact
contact.phoneCountryCodestringNo if email is providedPhone country code (e.g. "352")
contact.phoneNumberstringNo if email is providedPhone number without country code
contact.companyNamestringNoCompany name
productobjectNoProduct information
product.linkstringNoURL to the product
product.imagestringNoURL to the product image
product.titlestringNoProduct title
product.referencestringYes if any product information is providedProduct reference number
product.pricenumberNoProduct price
messagestringNoAdditional message or notes

Example request

{
  "externalId": "external-id-12345679",
  "contact": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe123@email.com",
    "phoneCountryCode": "352",
    "phoneNumber": "612345679",
    "companyName": "Company XYZ"
  },
  "product": {
    "link": "https://www.via-mobilis.fr/.../ts-vi10864675",
    "image": "https://photo.static-viamobilis.com/.../10864675.jpg",
    "title": "Camion remorque plateau standard occasion Renault Midlum 190.08",
    "reference": "10864675",
    "price": 45000
  },
  "message": "Hello world!"
}

Responses

202 Accepted The lead was successfully sent to processing. This does not mean a lead is created, but that we accepted it and will process it. Processing verifies and decides whether the contact, product, lead and message should be created, updated or added.

400 Bad Request Invalid request body or missing required fields.

{
  "error": "Invalid email",
  "code": "ERR-EMAIL-INVALID_OR_MALFORMED_EMAIL"
}

401 Unauthorized Missing or invalid API key.

{
  "error": "Unauthorized. HTTP request does not contain API key"
}

422 Unprocessable Entity The request syntax is correct, but the instructions could not be processed.

{
  "error": "Dealership not found",
  "code": "ERR-CREATE_LEAD-DEALERSHIP_NOT_FOUND"
}

500 Internal Server Error A server error occurred.

{
  "error": "Internal Server Error"
}

Need help?

If you have any questions about the API or need assistance, contact our team: