Conectar o Dynamics 365 Business Central: receber pedidos e clientes, consultar estoque
Registre um app no Microsoft Entra, crie o registro correspondente dentro do Business Central, cole Tenant ID, Client ID e Client Secret no Integration, teste, mapeie e ative.
O conector do Dynamics 365 Business Central traz pedidos de venda e clientes da sua empresa do Business Central para o OMS e lê a quantidade de estoque dos seus itens do Business Central, para você consultar o estoque antes de se comprometer. Ajustes de estoque não são gravados de volta no Business Central por esta conexão: faça as correções de estoque no próprio Business Central.
Pré-requisitos#
- Um ambiente do Microsoft Dynamics 365 Business Central em que você trabalhe: produção, ou um ambiente sandbox como Sandbox para o primeiro teste.
- Permissão para registrar um aplicativo no Microsoft Entra do seu tenant (centro de administração do Microsoft Entra / portal do Azure).
- Permissão dentro do Business Central para criar um registro de aplicativo do Microsoft Entra e atribuir a ele um conjunto de permissões. Registrar o app no Entra é só metade da configuração: o lado do Business Central também é obrigatório.
Obter credenciais#
- No Microsoft Entra, vá a App registrations e abra seu app (ou registre um novo). Na página de visão geral, copie o Directory (tenant) ID — é o seu tenant_id — e o Application (client) ID — é o seu client_id.
- Conceda ao app a permissão de API do Business Central necessária para chamar a API do Business Central em nome do seu tenant.
- Ainda na página do app, vá a Certificates & secrets → New client secret, crie um secret e copie o valor imediatamente: é o seu client_secret, e o valor é exibido uma única vez.
- Agora a metade do Business Central: entre no Business Central, crie um registro de aplicativo do Microsoft Entra para este mesmo app e atribua a ele um conjunto de permissões que possa ler empresas, pedidos de venda, clientes e itens. Sem esse registro, o teste de conexão falha com 403 (veja a FAQ).
Preencher no Integration#
- Abra Integration → Marketplace → Dynamics 365 Business Central → Nova conexão.
- tenant_id, obrigatório: cole o Directory (tenant) ID da página do seu app no Microsoft Entra. É um GUID, no formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
- environment, opcional: o nome do seu ambiente do Business Central, exatamente como aparece no Business Central. Se deixar vazio, a conexão usa production; para um sandbox, informe o nome dele, por exemplo Sandbox.
- company, opcional: o nome da empresa dentro do Business Central que esta conexão deve ler. Se deixar vazio, a conexão usa a primeira empresa retornada pelo Business Central.
- client_id, obrigatório: cole o Application (client) ID da mesma página do app no Microsoft Entra. Ele é armazenado como segredo e nunca é exibido de volta.
- client_secret, obrigatório: cole o valor do client secret que você copiou de Certificates & secrets. Ele é criptografado em repouso e nunca é exibido de volta.
Testar a conexão#
Clique em Testar a conexão. O teste primeiro verifica se tenant_id, client_id e client_secret estão todos preenchidos: se faltar um, ele para aí e indica o valor ausente (MISSING_TENANT_ID ou MISSING_CLIENT_SECRET) sem enviar nenhuma solicitação. Em seguida, troca suas credenciais de cliente por um token em login.microsoftonline.com e usa esse token para ler a lista de empresas do Business Central em api.businesscentral.dynamics.com, para o tenant e o ambiente informados (até 5 empresas).
Se o teste passar, ele mostra o nome da primeira empresa encontrada e quantas empresas retornaram: confira se essa empresa é aquela da qual você espera trazer pedidos. O teste desiste após cerca de 12 segundos se o Business Central não responder, então um tempo esgotado geralmente significa que o nome do ambiente está errado ou que o Business Central está inacessível naquele momento.
Mapping / escolher modelo#
Escolha o modelo padrão do Business Central. Ele mapeia o número do pedido de venda, as linhas com números de item e quantidades, e o cliente do pedido, para um pedido padrão. Antes de ativar, execute a prévia de mapping com um pedido de venda real e confira duas coisas: se a empresa de origem dos pedidos é a pretendida e se cada número de item do Business Central nas linhas está vinculado a um produto do seu lado. Se você trabalha com várias empresas, defina primeiro o campo company na conexão para a prévia ler a empresa certa.
Ativar#
Após ativar, o Integration traz novos pedidos de venda e clientes da empresa para a qual esta conexão aponta, na frequência definida, e lê o estoque dos itens do Business Central quando é preciso consultar o estoque. Ajustes de estoque não são enviados de volta ao Business Central: continue fazendo as correções de estoque dentro do Business Central, onde ficam como o registro válido. Acompanhe os primeiros pedidos em Runs / Logs antes de deixar a conexão sem supervisão.
Perguntas frequentes#
O teste falha com 403 — MISSING_SCOPE
Suas credenciais são aceitas, mas o app não tem nenhum conjunto de permissões dentro do Business Central. É a falha mais comum deste conector: o app foi registrado no Microsoft Entra, mas ninguém criou dentro do Business Central o registro de aplicativo do Microsoft Entra para ele, então o Business Central deixa ele entrar e depois se recusa a deixar ler qualquer coisa.
Entre no Business Central, crie um registro de aplicativo do Microsoft Entra para este app, se ainda não existir, atribua a ele um conjunto de permissões que possa ler empresas, pedidos de venda, clientes e itens, e execute o teste novamente.
O teste falha com INVALID_CREDENTIALS
A própria solicitação de token foi rejeitada: o Microsoft Entra não aceita o par client_id e client_secret para o tenant_id informado. As causas comuns são um client_secret expirado ou copiado de forma incompleta, um client_id de outro app, ou um tenant_id de um tenant diferente daquele ao qual o app pertence.
Volte a Microsoft Entra → App registrations → seu app e copie novamente o Directory (tenant) ID e o Application (client) ID dessa mesma página do app. Se o secret pode ter expirado, crie um novo client secret em Certificates & secrets, cole o novo valor em client_secret e teste novamente.
O teste falha com INVALID_TOKEN ao ler as empresas
Um token foi emitido, então as credenciais funcionam, mas o Business Central rejeita esse token quando o teste tenta ler a lista de empresas. Isso aponta para as permissões do app no lado do Microsoft Entra: falta ao app a permissão de API do Business Central de que ele precisa, ou essa permissão nunca foi concedida para o seu tenant.
No Microsoft Entra, abra o app e verifique as permissões de API: adicione a permissão de API do Business Central de que o conector precisa e conceda-a para o tenant, depois execute o teste novamente. Se ainda falhar, confirme também o lado do Business Central seguindo a entrada do 403 acima: os dois lados precisam estar prontos.
Temos várias empresas — qual delas a conexão usa?
Depende do campo company. Se você deixou company vazio, a conexão usa a primeira empresa retornada pelo Business Central, que pode não ser a empresa pela qual você vende. O teste de conexão mostra qual é: se passar, exibe o nome da primeira empresa encontrada.
Para fixar a conexão numa empresa, preencha o campo company com o nome exato dessa empresa como aparece no Business Central, salve e teste novamente: o resultado agora deve mostrar essa empresa. Use uma conexão separada para cada empresa adicional da qual queira trazer dados.