Obiettivo
Creare e configurare una App Registration in Microsoft Entra ID (ex Azure AD) per ottenere le credenziali OAuth 2.0 (Tenant ID, Client ID, Client Secret) e abilitarla in Business Central per chiamare le API standard.
Prerequisiti
- Accesso al portale Azure con un utente che può creare App registrations (Application Administrator / Global Admin).
- Accesso a Business Central con permessi per gestire “Microsoft Entra Applications”.
- Nome dell’ambiente Business Central (EnvironmentName) e il Tenant (GUID).
1) Creare la App Registration in Azure (Microsoft Entra ID)
- Accedi al portale Azure → Microsoft Entra ID → App registrations → New registration.
- Inserisci:
-
Name: un nome riconoscibile (es.
BC-Integration-API) - Supported account types: tipicamente Single tenant
- Redirect URI: usa tipo Web e inserisci il seguente URL https://businesscentral.dynamics.com/OAuthLanding.htm.
-
Name: un nome riconoscibile (es.
- Clicca Register per creare l’app.
2) Recuperare Client ID e Tenant ID
- Apri la App Registration appena creata → tab Overview.
- Copia e salva:
- Application (client) ID → questo è il tuo Client ID
- Directory (tenant) ID → questo è il tuo Tenant ID
3) Creare un Client Secret
- Vai su Certificates & secrets → New client secret.
- Inserisci una Description e scegli una Expiration (es. 6/12/24 mesi).
- Clicca Add.
-
IMPORTANTISSIMO: copia subito il valore Value del secret.
- Dopo aver lasciato la pagina, NON potrai più rivedere il valore del secret (dovrai crearne uno nuovo).
4) Configurare le API permissions e dare il consenso admin
- Vai su API permissions → Add a permission → Microsoft APIs.
- Seleziona Dynamics 365 Business Central (o “Business Central”) e aggiungi i permessi richiesti dalla tua integrazione.
- Clicca Grant admin consent (serve un amministratore globale).
5) Registrare e abilitare l’app in Business Central
- In Business Central apri la pagina Microsoft Entra Applications.
- Crea una nuova scheda (New).
- Compila:
- Client ID: incolla l’Application (client) ID copiato da Azure
- Description: un nome/descrizione per riconoscerla
- Aggiungi i Permission Sets necessari (dipende dalle API/oggetti che vuoi leggere/scrivere).
- Imposta State = Enabled.
- Un Global Administrator deve cliccare Grant Consent per concedere l’accesso all’applicazione.
6) Test rapido con Postman (Client Credentials)
A) Ottenere il token
- In Postman crea una Collection → tab Authorization → Type: OAuth 2.0.
- Configura Get New Access Token con:
-
Grant Type:
Client Credentials -
Access Token URL:
https://login.microsoftonline.com/{{Tenant}}/oauth2/v2.0/token -
Client ID:
{{ClientID}} -
Client Secret:
{{ClientSecret}} -
Scope:
https://api.businesscentral.dynamics.com/ -
Client Authentication:
Send client credentials in body
-
Grant Type:
- Genera il token e assicurati che venga aggiunto come Bearer token.
B) Chiamare l’endpoint Companies
Usa la struttura URL (API standard):
https://api.businesscentral.dynamics.com/v2.0/{{Tenant}}/{{EnvironmentName}}/api/v2.0/companies/
Se la chiamata funziona, riceverai l’elenco delle aziende e potrai usare CompanyId per gli altri endpoint:
https://api.businesscentral.dynamics.com/v2.0/{{Tenant}}/{{EnvironmentName}}/api/v2.0/companies({{CompanyId}})/{{Endpoint}}
Troubleshooting (problemi comuni)
- 401/403: controlla che in BC l’app sia Enabled, con Permission Sets corretti, e che sia stato fatto Grant Consent.
- Secret non valido: se non hai copiato il Value in tempo, crea un nuovo client secret.
- Tenant/Environment sbagliati: verifica il GUID Tenant e il nome EnvironmentName usati nell’URL.
- Permessi API in Azure: assicurati che le API permissions includano Business Central e che l’admin consent sia stato concesso.