Branded Calling
Associate calling party numbers with a human-readable brand name displayed on the callee's screen.
Introduction
The Branded Calling API enables businesses to display a human-readable brand name on the callee's device screen when receiving a call. It is composed of two APIs:
- Brand Registration API (CAMARA standard): creates and manages registrations that associate phone numbers with a display name.
- Management Onboarding API: handles customer and carrier onboarding as a prerequisite to creating registrations.
Subscribe to the API
Due to the nature of the Branded Calling API, subscription cannot be completed through a self-service process. This API is available on request — please contact the Orange Developer team by using the "Contact us" button at the top of this page. When reaching out, kindly specify the reason for your request and how you intend to use this API. Our team will then guide you through the necessary steps to gain access.
API Authentication
HTTPS requests to the REST API are protected with 2-Legged OAuth. To learn more about how Orange Developer handles authentication, please refer to our documentation.
In short, you will use your Orange Developer Authorization header as authorization_header for the Basic authentication with Orange Developer.
curl -X POST \
-H "Authorization: {{ authorization_header }}" \
-d "grant_type=client_credentials" \
https://api.orange.com/oauth/v3/token
In response, you will get an access_token.
{
"token_type": "Bearer",
"access_token": "66AeYJF8eJQ...2SjkFg9LB1LePC",
"expires_in": 3600
}
How to use this API
Follow the three steps below in order.
Step 1 — Create a Customer
Endpoint: POST /customers
Create a customer entity representing your company or brand. This is the top-level entity required before any registration can be created.
curl -X POST https://api.orange.com/branded-calling/v0.1/customers \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"company": {
"legalName": "ACME Corp",
"countryOfRegistration": "FR",
"corporateWebsite": "https://www.acme.com",
"registrationNumber": "123456789",
"dunsNumber": "123456789",
"legalForm": "SA",
"industry": "water_supply_waste",
"address": {
"streetNumber": "10",
"street": "Main Street",
"zipCode": "75001",
"city": "Paris"
},
"employeeCount": 50,
"contact": {
"name": "John Doe",
"role": "CEO",
"email": "john@acme.com",
"phoneNumber": "+33600000001"
}
},
"brand": {
"tradingWebsite": "https://www.acme.com",
"callPurpose": "survey",
"name": "ACME",
"contact": {
"name": "Jane Doe",
"title": "Marketing Director",
"email": "jane@acme.com",
"phoneNumber": "+33698765432"
}
}
}'
The response contains a customerId (UUID) that you will use in the following steps.
Step 2 — Add Carriers
Endpoint: POST /customers/{customerId}/carriers
Add each telecom carrier that this customer wants to reach. A registration can only target carriers that have been declared for the customer. Repeat this call once per carrier.
Common carrier codes:
OFR— Orange FranceBYG— Bouygues Telecom
curl -X POST https://branded-calling/v0.1/customers/{customerId}/carriers \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"carrierCode": "OFR"
}'
Step 3 — Create a Registration
Endpoint: POST /registrations (Brand Registration API)
Once the customer and carriers are set up, create a brand registration to associate a phone number with a display name.
curl -X POST https://api.orange.com/camara/brand-registration/v0.1/registrations \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+33612345678",
"displayName": "Acme Support",
"customerId": "{customerId}",
"verifyCallerAction": "DO_NOT_BRAND"
}'
The response contains a registrationId that you can use to track the registration status per carrier.