Branded Calling

Associate calling party numbers with a human-readable brand name displayed on the callee's screen.

Voice
Network API
Camara

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 France
  • BYG — 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.

API Description