userDataSecurityAndGovernance: processContent

Namespace: microsoft.graph

Processe o conteúdo em relação às políticas de proteção de dados no contexto do usuário atual ou especificado.

Essa API está disponível nas seguintes implantações de nuvem nacional.

Serviço global Governo dos EUA L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) Content.Process.User Content.Process.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Content.Process.User Content.Process.All

Solicitação HTTP

POST /me/dataSecurityAndGovernance/processContent

Observação

Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo ao usar o /me ponto de extremidade.

POST /users/{userId}/dataSecurityAndGovernance/processContent

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.
If-None-Match Opcional. Esse valor é usado pela API para determinar se o estado da política foi alterado desde a última chamada à API. O valor é do cabeçalho Etag retornado da computação protectionScopes. Se o valor Etag recém-calculado não corresponder ao valor passado neste cabeçalho, a propriedade protectionScopeState retornada será "modificada" e o aplicativo precisará ser atualizado chamando protectionScopes compute.
client-request-id Cadeia de caracteres (GUID recomendado). Opcional. Identificador exclusivo para esta solicitação, que é usado para rastreamento e depuração em logs e interações de suporte. Se uma ID não for fornecida, uma poderá ser gerada automaticamente. Recomendamos que você especifique a ID para facilitar o rastreamento e a depuração. A mesma ID enviada na solicitação será retornada na resposta.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON dos parâmetros.

A tabela a seguir lista os parâmetros necessários quando você chama essa ação.

Parâmetro Tipo Descrição
contentToProcess processContentRequest Obrigatório. O objeto que contém as entradas de conteúdo e metadados (atividade, dispositivo, aplicativo) a serem avaliados para o usuário especificado.

Resposta

Se for bem-sucedida, essa ação retornará um código de 200 OK resposta e um processContentResponse no corpo da resposta ou 202 Accepted, 204 No Content sem corpo de resposta.

Cabeçalhos de resposta

Nome Descrição
ETag Um indicador que pode ser usado para detectar se o estado da política configurada foi alterado. Se o estado da política for alterado, o valor ETag será alterado e a propriedade protectionScopeState retornada será "modificada" e o aplicativo precisará ser atualizado chamando protectionScopes compute.

Exemplos

Exemplo 1: aplicativo empresarial

Solicitação

O exemplo a seguir mostra uma solicitação de um aplicativo corporativo, que pode ser um aplicativo não AI ou um aplicativo AI. O texto que você envia usando data pode ser qualquer texto do seu aplicativo — por exemplo, um corpo de documento, uma mensagem de chat ou o prompt do usuário, se seu aplicativo for um aplicativo de IA.

POST https://graph.microsoft.com/v1.0/me/dataSecurityAndGovernance/processContent
Content-Type: application/json
Client-Request-Id: 50dc805c-3af4-42d9-ad16-a746235cc736

{
    "contentToProcess": {
       "contentEntries": [
          {
             "@odata.type": "microsoft.graph.processConversationMetadata",
             "identifier": "07785517-9081-4fe7-a9dc-85bcdf5e9075",
             "content": {
                "@odata.type": "microsoft.graph.textContent", 
                "data": "Write an acceptance letter for Alex Wilber with Credit card number 4532667785213500, ssn: 120-98-1437 at One Microsoft Way, Redmond, WA 98052"
             },
             "name":"PC Purview API Explorer message",
             "correlationId": "d63eafd2-e3a9-4c1a-b726-a2e9b9d9580d",
             "sequenceNumber": 0, 
             "isTruncated": false,
             "createdDateTime": "2025-05-27T17:23:20",
             "modifiedDateTime": "2025-05-27T17:23:20"
          }
       ],
       "activityMetadata": { 
          "activity": "uploadText"
       },
       "deviceMetadata": {
          "deviceType": "Unmanaged",
          "operatingSystemSpecifications": {
             "operatingSystemPlatform": "Windows 11",
             "operatingSystemVersion": "10.0.26100.0" 
          },
          "ipAddress": "127.0.0.1"
       },
       "protectedAppMetadata": {
          "name": "PC Purview API Explorer",
          "version": "0.2",
          "applicationLocation":{
             "@odata.type": "microsoft.graph.policyLocationApplication",
             "value": "83ef208a-0396-4893-9d4f-d36efbffc8bd"
          }
       },
       "integratedAppMetadata": {
          "name": "PC Purview API Explorer",
          "version": "0.2" 
       }
    }
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-Type: application/json
Client-Request-Id: 50dc805c-3af4-42d9-ad16-a746235cc736

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.processContentResponse",
  "protectionScopeState": "notModified",
  "policyActions": [],
  "processingErrors": []
}

Exemplo 2: agente de IA

Solicitação

O exemplo a seguir mostra uma solicitação enviada de um agente de IA. Na solicitação, observe que há uma agents matriz do tipo aiAgentInfo. Neste exemplo, data é usado para enviar o prompt do usuário.

POST https://graph.microsoft.com/v1.0/users/5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba/dataSecurityAndGovernance/processContent
Content-Type: application/json

{
    "contentToProcess": {
      "contentEntries": [
        {
          "@odata.type": "microsoft.graph.processConversationMetadata",
          "identifier": "42837765-85c9-4a28-a165-27b6aaa5f635",
          "content": {
            "@odata.type": "microsoft.graph.textContent",
            "data": "For application 123456789, Write an acceptance letter for Alex Wilber with Credit card number 0000111122223333, ssn: 000-11-2222 at One Microsoft Way, Redmond, WA 98052"
          },
          "agents": [
            {
              "@odata.type": "microsoft.graph.aiAgentInfo",
              "blueprintId": "c84571c6-5ef3-4af7-aed2-0491cfd362a0",
              "identifier": "89515a70-a236-43be-b977-3ff0b454f853",
              "name": "Demo Agent",
              "version": "1.0"
            }
          ],
          "name":"PC Purview API Explorer message",
          "correlationId": "1cd5e33a-c78f-46e4-a242-74b0ef910486",
          "sequenceNumber": 0,
             "isTruncated": false,
             "createdDateTime": "2026-04-08T20:52:08",
             "modifiedDateTime": "2026-04-08T20:52:08"
          }
       ],
       "activityMetadata": { 
          "activity": "uploadText"
       },
       "deviceMetadata": {
          "operatingSystemSpecifications": {
             "operatingSystemPlatform": "Windows 11",
             "operatingSystemVersion": "10.0.26200.0" 
          },
          "ipAddress": "127.0.0.1"
       },
       "protectedAppMetadata": {
          "name": "PC Purview API Explorer",
          "version": "0.2",
          "applicationLocation":{
             "@odata.type": "microsoft.graph.policyLocationApplication",
             "value": "83ef198a-0396-4893-9d4f-d36efbffc8bd"
          }
       },
       "integratedAppMetadata": {
          "name": "PC Purview API Explorer",
          "version": "0.1" 
       }
    }
}


Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.processContentResponse",
  "protectionScopeState": "modified",
  "policyActions": [
    {
      "@odata.type": "#microsoft.graph.restrictAccessAction",
      "action": "restrictAccess",
      "restrictionAction": "block"
    }
  ],
  "processingErrors": []
}

Exemplo 3: aplicativo de provedor de rede

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/v1.0/users/5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba/dataSecurityAndGovernance/processContent
Content-Type: application/json

{
	"contentToProcess": {
		"contentEntries": [
			{
				"@odata.type": "#microsoft.graph.processConversationMetadata",
				"identifier": "f7af180f-dc2e-467c-9719-757e1c61eabf",
				"content": {
					"@odata.type": "#microsoft.graph.textContent",
					"data": "some data"
				},
				"correlationId": "d63eafd2-e3a9-4c1a-b726-a2e9b9d95811",
				"sequenceNumber": 0,
				"name": "Test Content"
			}
		],
		"activityMetadata": {
			"activity": "uploadText"
		},
		"deviceMetadata": {
			"deviceType": "unmanaged",
			"ipAddress": null,
			"operatingSystemSpecifications": {
				"operatingSystemPlatform": "Windows",
				"operatingSystemVersion": "11.1"
			}
		},
		"integratedAppMetadata": {
			"name": "My Entra App",
			"version": "0.1"
		},
		"protectedAppMetadata": {
			"name": "My Entra App",
			"version": "0.1",
			"applicationLocation": {
				"@odata.type": "#microsoft.graph.policyLocationUrl",
				"value": "https://gemini.google.com"
			}
		}
	}
}


Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.processContentResponse",
  "protectionScopeState": "modified",
  "policyActions": [
    {
      "@odata.type": "#microsoft.graph.restrictAccessAction",
      "action": "restrictAccess",
      "restrictionAction": "block"
    }
  ],
  "processingErrors": []
}

Exemplo 4: aplicativo de provedor de rede com conteúdo de arquivo

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/v1.0/users/5def8f26-aff8-4db6-a08c-0fcf8f1aa2ba/dataSecurityAndGovernance/processContent
Content-Type: application/json

{
	"contentToProcess": {
		"contentEntries": [
			{
				"@odata.type": "#microsoft.graph.processFileMetadata",
				"identifier": "f7af180f-dc2e-467c-9719-757e1c61eabf",
				"content": {
				"@odata.type": "#microsoft.graph.textContent",
					"data": "Base64 encoded content"
				},
				"name": "Test File.docx",
				"correlationId": "d63eafd2-e3a9-4c1a-b726-a2e9b9d95822",
				"createdDateTime": "2024-07-23T01:31:40.2020463Z",
				"modifiedDateTime": "2024-09-17T13:45:21.0000000Z",
				"correlationId": "9d84223c-521c-42f4-8f35-3cdeabe515d3",
				"length": 17352,
				"isTruncated": false,
				"ownerId": "ffe1ca70-6e5b-4120-abf0-472034ba05d4",
				"customProperties": {
					"Department": "Finance",
					"ReviewerName": "John Smith"
				}
			}
		],
		"activityMetadata": {
			"activity": "uploadFile"
		},
		"deviceMetadata": {
			"deviceType": "unmanaged",
			"operatingSystemSpecifications": {
				"operatingSystemPlatform": "Windows",
				"operatingSystemVersion": "11.1"
			}
		},
		"integratedAppMetadata": {
			"name": "Network Proxy App",
			"version": "1.0.0"
		},
		"protectedAppMetadata": {
			"name": "My App",
			"version": "0.1",
			"applicationLocation": {
				"@odata.type": "#microsoft.graph.policyLocationUrl",
				"value": "https://gemini.google.com"
			}
		}
	}
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.processContentResponse",
  "protectionScopeState": "modified",
  "policyActions": [
    {
      "@odata.type": "#microsoft.graph.restrictAccessAction",
      "action": "restrictAccess",
      "restrictionAction": "block"
    }
  ],
  "processingErrors": []
}