{"meta":{"title":"Gerenciar contas corporativas","intro":"Você pode gerenciar sua conta corporativa e as organizações que ela possui com a API GraphQL.","product":"API GraphQL","breadcrumbs":[{"href":"/pt/enterprise-server@3.18/graphql","title":"API GraphQL"},{"href":"/pt/enterprise-server@3.18/graphql/guides","title":"Guias"},{"href":"/pt/enterprise-server@3.18/graphql/guides/managing-enterprise-accounts","title":"Gerenciar contas corporativas"}],"documentType":"article"},"body":"# Gerenciar contas corporativas\n\nVocê pode gerenciar sua conta corporativa e as organizações que ela possui com a API GraphQL.\n\n## Sobre o gerenciamento de contas corporativas com o GraphQL\n\nPara ajudá-lo a monitorar e fazer alterações nas suas organizações e manter a conformidade, você pode usar a API de Contas corporativas e a API de log de auditoria, que estão disponíveis apenas como APIs do GraphQL.\n\nOs endpoints da conta corporativa funcionam tanto para o GitHub Enterprise Cloud quanto para o GitHub Enterprise Server.\n\nO GraphQL permite que você solicite e retorne apenas os dados especificados. Por exemplo, você pode criar uma consulta GraphQL ou solicitar informações para ver todos os novos membros da organização adicionados à sua organização. Ou você pode fazer uma mutação ou alteração para convidar um administrador para sua conta corporativa.\n\nCom a API do Log de Auditoria, você pode monitorar quando alguém:\n\n* Acessa as configurações de sua organização ou repositório.\n* Altera as permissões.\n* Adiciona ou remove usuários em uma organização, repositório ou equipe.\n* Promove os usuários a administrador.\n* Altera as permissões de um aplicativo GitHub.\n\nA API do Log de Auditoria permite que você mantenha cópias dos dados do log de auditoria. Para consultas feitas com a API do Log de Auditoria, a resposta do GraphQL pode incluir dados por um período de até 90 a 120 dias. Para ver uma lista dos campos disponíveis na API de Log de Auditoria, confira a [Administração de empresas](/pt/enterprise-server@3.18/graphql/reference/enterprise-admin#interface-auditentry).\n\nCom a API de Contas corporativas, você pode:\n\n* Listar e revisar todas as organizações e repositórios que pertencem à conta corporativa.\n* Alterar configurações da conta empresarial.\n* Configurar políticas para configurações na conta corporativa e em suas organizações.\n* Convidar os administradores para a sua conta empresarial.\n* Criar novas organizações na sua conta corporativa.\n\nPara obter uma lista dos campos disponíveis com a API contas corporativas, consulte [Gerenciar contas corporativas](/pt/enterprise-server@3.18/graphql/guides/managing-enterprise-accounts#graphql-fields-and-types-for-the-enterprise-accounts-api).\n\n## Primeiros passos com o uso do GraphQL para contas empresariais\n\nConsulte [Como usar clientes do GraphQL](/pt/enterprise-server@3.18/graphql/guides/using-graphql-clients) para começar a usar o GraphQL para gerenciar suas contas corporativas.\n\nPara ver alguns exemplos de consultas, confira [Um exemplo de consulta que usa a API de Contas Enterprise](#an-example-query-using-the-enterprise-accounts-api).\n\n### 1. Faça a autenticação com sua personal access token\n\n1. Para se autenticar com o GraphQL, você precisa gerar um personal access token nas configurações do desenvolvedor. Para obter mais informações, consulte [Gerenciar seus tokens de acesso pessoal](/pt/enterprise-server@3.18/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\n2. Conceda permissões de administrador e controle total às áreas personal access token da sua empresa que você gostaria de acessar. Para obter permissão total para repositórios privados, organizações, equipes, dados do usuário e acesso a dados de cobrança empresarial e de perfil, recomendamos que você selecione os seguintes escopos para o seu personal access token:\n\n   * `repo`\n   * `admin:org`\n   * `user`\n   * `admin:enterprise`\n\n   Os escopos específicos da conta corporativa são:\n\n   * `admin:enterprise`: fornece controle completo das empresas (inclui `manage_runners:enterprise`, `manage_billing:enterprise` e `read:enterprise`)\n   * `manage_billing:enterprise`: ler e gravar dados de cobrança da empresa.\n   * `manage_runners:enterprise`: acesso para gerenciar executores da empresa e grupos de executores do GitHub Actions.\n   * `read:enterprise`: lê os dados de perfil da empresa.\n\n3. Copie-o personal access token e mantenha-o em um local seguro até adicioná-lo ao cliente GraphQL.\n\n### 2. Escolher um cliente do GraphQL\n\nRecomendamos que você use o GraphiQL ou outro cliente autônomo do GraphQL que permite configurar a URL de base.\n\nVocê também pode considerar o uso destes clientes do GraphQL:\n\n* [Insomnia](https://support.insomnia.rest/article/176-graphql-queries)\n* [GraphiQL](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/)\n* [Postman](https://learning.getpostman.com/docs/postman/sending_api_requests/graphql/)\n\nAs próximas etapas usarão Insomnia.\n\n### 3. Configurar o Insomnia para usar a API GraphQL do GitHub com contas empresariais\n\n1. Adicione a URL base e o método `POST` ao cliente GraphQL. Ao usar o GraphQL para solicitar informações (consultas), alterar informações (mutações) ou transferir dados usando a API GitHub, o método HTTP padrão é `POST` e a URL base segue esta sintaxe:\n   * Para sua instância corporativa: `https://<HOST>/api/graphql`\n   * Para GitHub Enterprise Cloud: `https://api.github.com/graphql`\n   * Para GitHub Enterprise Cloud com Residência de Dados: `https://api.SUBDOMAIN.ghe.com/graphql`\n\n2. Selecione o menu \"Autenticação\" e clique em **Token de Portador**. Se você tiver selecionado anteriormente um método de autenticação diferente, o menu será rotulado com esse método, como \"Autenticação Básica\".\n\n![Captura de tela do menu \"Autenticação\" expandido em Insônia. O rótulo de menu \"Auth\" e a opção \"Bearer Token\" são destacados em laranja escuro.](/assets/images/developer/graphql/insomnia-bearer-token-option.png)\n\n1. No campo \"TOKEN\", insira seu personal access token obtido em uma etapa anterior.\n\n![Captura de tela das configurações de autenticação \"Bearer\" em Insomnia. O campo \"TOKEN\" é descrito em laranja escuro.](/assets/images/developer/graphql/insomnia-base-url-and-pat.png)\n\n1. Clique em **Cabeçalhos**.\n\n![Captura de tela das guias de configurações em Insônia. A guia \"Cabeçalhos\" está descrita em laranja escuro.](/assets/images/developer/graphql/json-content-type-header.png)\n\n1. Na guia **Cabeçalhos**, clique em **Adicionar**.\n2. No campo \"cabeçalho\", insira `Content-Type`.\n3. No campo \"valor\", insira `application/json`.\n\nAgora você está pronto para começar a fazer consultas.\n\n## Um exemplo de consulta usando a API de Contas Empresariais\n\nEsta consulta do GraphQL solicita o número total de `public` repositórios em cada uma das organizações do seu dispositivo usando a API de Contas Enterprise. Para personalizar essa consulta, substitua `<enterprise-account-name>` pelo identificador da sua conta corporativa. Por exemplo, se sua conta corporativa estiver localizada em `https://github.com/enterprises/octo-enterprise`, substitua `<enterprise-account-name>` por `octo-enterprise`.\n\n```graphql\nquery publicRepositoriesByOrganization($slug: String!) {\n  enterprise(slug: $slug) {\n    ...enterpriseFragment\n  }\n}\n\nfragment enterpriseFragment on Enterprise {\n  ... on Enterprise{\n    name\n    organizations(first: 100){\n      nodes{\n        name\n        ... on Organization{\n          name\n          repositories(privacy: PUBLIC){\n            totalCount\n          }\n        }\n      }\n    }\n  }\n}\n\n# Passing our Enterprise Account as a variable\nvariables {\n  \"slug\": \"<enterprise-account-name>\"\n}\n```\n\nO próximo exemplo de consulta GraphQL mostra como é complexo recuperar o número de repositórios `public` em cada organização sem usar a API de Contas Enterprise. Observe que a API de Contas corporativas do GraphQL simplificou esta tarefa para empresas, pois você só precisa personalizar uma única variável. Para personalizar essa consulta, substitua `<name-of-organization-one>` e `<name-of-organization-two>` etc. pelos nomes da organização na sua instância.\n\n```graphql\n# Each organization is queried separately\n{\n  organizationOneAlias: organization(login: \"nameOfOrganizationOne\") {\n    # How to use a fragment\n    ...repositories\n  }\n  organizationTwoAlias: organization(login: \"nameOfOrganizationTwo\") {\n    ...repositories\n  }\n  # organizationThreeAlias ... and so on up-to lets say 100\n}\n\n## How to define a fragment\nfragment repositories on Organization {\n  name\n  repositories(privacy: PUBLIC){\n    totalCount\n  }\n}\n```\n\n## Consulte cada organização separadamente\n\n```graphql\nquery publicRepositoriesByOrganization {\n  organizationOneAlias: organization(login: \"<name-of-organization-one>\") {\n    # How to use a fragment\n    ...repositories\n  }\n  organizationTwoAlias: organization(login: \"<name-of-organization-two>\") {\n    ...repositories\n  }\n  # organizationThreeAlias ... and so on up-to lets say 100\n}\n# How to define a fragment\nfragment repositories on Organization {\n  name\n  repositories(privacy: PUBLIC){\n    totalCount\n  }\n}\n```\n\nEsta consulta do GraphQL solicita as últimas 5 entradas de registro para uma organização corporativa. Para personalizar essa consulta, substitua `<org-name>` e `<user-name>`.\n\n```graphql\n{\n  organization(login: \"<org-name>\") {\n    auditLog(last: 5, query: \"actor:<user-name>\") {\n      edges {\n        node {\n          ... on AuditEntry {\n# Get Audit Log Entry by 'Action'\n            action\n            actorLogin\n            createdAt\n# User 'Action' was performed on\n           user{\n              name\n                email\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nPara obter mais informações sobre como começar com o GraphQL, consulte [Introdução ao GraphQL](/pt/enterprise-server@3.18/graphql/guides/introduction-to-graphql) e [Realizar chamadas com o GraphQL](/pt/enterprise-server@3.18/graphql/guides/forming-calls-with-graphql).\n\n## Campos e tipos do GraphQL para a API de Contas corporativas\n\nPara obter mais detalhes sobre as novas consultas, as mutações e os tipos definidos por esquema disponíveis para uso na API de Contas Enterprise, confira a barra lateral com definições detalhadas do GraphQL de qualquer [página de referência do GraphQL](/pt/enterprise-server@3.18/graphql).\n\nVocê pode acessar os documentos de referência a partir dos clientes GraphQL. Para obter mais informações, consulte [Como usar clientes do GraphQL](/pt/enterprise-server@3.18/graphql/guides/using-graphql-clients).\nPara obter outras informações, como detalhes de autenticação e limite de taxa, confira o [guides](/pt/enterprise-server@3.18/graphql/guides)."}