Integração Batch - Tipos de Body & Exemplos
Este documento fornece exemplos abrangentes of de todos os tipos de body aceitos pela API GroupLink para configuração de integração de dados batch.
Visão Geral
A API GroupLink aceita diferentes tipos de configuração de armazenamento através do parâmetro type. Cada tipo requer credenciais específicas no campo data.
Tipos de Armazenamento Suportados
- AWS S3 (
s3_identity) - Azure Blob Storage (
azure_identity) - Google Cloud Storage (
gcs_identity) - API Token (
api_token_identity)
1. AWS S3 Configuration
Estrutura do Body da Requisição
{
"namespace": "batch",
"type": "s3_identity",
"data": {
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"end_point": "https://s3.amazonaws.com",
"region": "us-east-1"
}
}
Exemplo cURL
curl -X 'PATCH' 'https://grouplink-api.apidatasafe.com/organization-vault' \
-H 'Content-Tipo: application/json' \
-H 'Authorization: Bearer YOUR-ACCESS-TOKEN' \
-d '{
"namespace": "batch",
"type": "s3_identity",
"data": {
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"end_point": "https://s3.amazonaws.com",
"region": "us-east-1"
}
}'
Exemplo Swagger
No Swagger UI em GroupLinkAPI OrganizationVault:
- Navegue até
/organization-vaultPATCH endpoint - Clique em "Try it out"
- Use este body de requisição:
{
"namespace": "batch",
"type": "s3_identity",
"data": {
"access_key": "YOUR_AWS_ACCESS_KEY",
"secret_key": "YOUR_AWS_SECRET_KEY",
"end_point": "https://s3.amazonaws.com",
"region": "sa-east-1"
}
}
Exemplo de criação de bucket e chave de acesso na AWS: Bucket na AWS para recebimento de arquivos
2. Azure Blob Storage Configuration
Estrutura do Body da Requisição
{
"namespace": "batch",
"type": "azure_identity",
"data": {
"tenant_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"connection_string": "https://AccountName.dfs.core.windows.net/bucket-name"
}
}
Exemplo cURL
curl -X 'PATCH' 'https://grouplink-api.apidatasafe.com/organization-vault' \
-H 'Content-Tipo: application/json' \
-H 'Authorization: Bearer YOUR-ACCESS-TOKEN' \
-d '{
"namespace": "batch",
"type": "azure_identity",
"data": {
"tenant_id": "12345678-1234-1234-1234-123456789012",
"client_id": "87654321-4321-4321-4321-210987654321",
"client_secret": "MySecretValue123",
"connection_string": "https://myaccount.dfs.core.windows.net/my-container"
}
}'
Exemplo Swagger
{
"namespace": "batch",
"type": "azure_identity",
"data": {
"tenant_id": "TENANT-123",
"client_id": "12345",
"client_secret": "G4UL3S",
"connection_string": "https://AccountName.dfs.core.windows.net/bucket-name"
}
}
3. Google Cloud Storage Configuration
Estrutura do Body da Requisição
{
"namespace": "batch",
"type": "gcs_identity",
"data": {
"credentials_json": "{\"type\":\"service_account\",\"project_id\":\"example-project\",\"private_key_id\":\"...\",\"private_key\":\"...\"}",
"project_id": "my-project-123456"
}
}
Exemplo cURL
curl -X 'PATCH' 'https://grouplink-api.apidatasafe.com/organization-vault' \
-H 'Content-Tipo: application/json' \
-H 'Authorization: Bearer YOUR-ACCESS-TOKEN' \
-d '{
"namespace": "batch",
"type": "gcs_identity",
"data": {
"credentials_json": "{\"type\":\"service_account\",\"project_id\":\"my-project\",\"private_key_id\":\"key123\",\"private_key\":\"-----BEGIN PRIVATE KEY-----\\nMIIE...\\n-----END PRIVATE KEY-----\\n\",\"client_email\":\"service@my-project.iam.gserviceaccount.com\",\"client_id\":\"123456789\"}",
"project_id": "my-project-123456"
}
}'
Exemplo Swagger
{
"namespace": "batch",
"type": "gcs_identity",
"data": {
"credentials_json": "{\"type\":\"service_account\",\"project_id\":\"example-project\",\"private_key_id\":\"...\",\"private_key\":\"...\"}",
"project_id": "my-project-123456"
}
}
Note: The
credentials_jsonmust be a stringified JSON object (content of the JSON file from Google Cloud Console). Make sure to escape quotes properly.
4. API Token (Direct Link) Configuration
Estrutura do Body da Requisição
{
"namespace": "batch",
"type": "api_token_identity",
"data": {
"token": "sk-1234567890abcdef"
}
}
Exemplo cURL
curl -X 'PATCH' 'https://grouplink-api.apidatasafe.com/organization-vault' \
-H 'Content-Tipo: application/json' \
-H 'Authorization: Bearer YOUR-ACCESS-TOKEN' \
-d '{
"namespace": "batch",
"type": "api_token_identity",
"data": {
"token": "your-api-token-here"
}
}'
Exemplo Swagger
{
"namespace": "batch",
"type": "api_token_identity",
"data": {
"token": "sk-1234567890abcdef"
}
}
Descrições dos Campos
Campos Comuns
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
namespace | string | Sim | Namespace para organizar entradas do vault (e.g., "batch") |
type | string | Sim | Tipo of storage: s3_identity, azure_identity, gcs_identity, or api_token_identity |
data | object | Sim | Objeto de credenciais (estrutura varia por tipo) |
AWS S3 Credentials (s3_identity)
| Campo | Tipo | Tamanho Máximo | Descrição |
|---|---|---|---|
access_key | string | 2048 | Chave de acesso (ID de usuário) de uma conta no serviço S3 |
secret_key | string | 2048 | Chave secreta (senha) de uma conta no serviço S3 |
end_point | string (URL) | 2048 | URL do serviço de armazenamento de objetos |
region | string | 100 | Região AWS nas propriedades do seu bucket |
Azure Credentials (azure_identity)
| Campo | Tipo | Tamanho Máximo | Descrição |
|---|---|---|---|
tenant_id | string | 2048 | O ID do tenant (diretório) do Azure Active Directory |
client_id | string | 2048 | O ID do cliente (aplicação) de um App Registration no tenant |
client_secret | string | 2048 | Um client secret que foi gerado para o App Registration |
connection_string | string (URL) | 2048 | String de conexão da conta ou string de conexão SAS de uma conta de armazenamento Azure |
Google Cloud Storage Credentials (gcs_identity)
| Campo | Tipo | Tamanho Máximo | Descrição |
|---|---|---|---|
credentials_json | string (JSON) | 10240 | JSON de Credenciais da Conta de Serviço Google (conteúdo do arquivo JSON) |
project_id | string | 100 | ID do Projeto Google |
API Token Credentials (api_token_identity)
| Campo | Tipo | Tamanho Máximo | Descrição |
|---|---|---|---|
token | string | 1024 | Token de autenticação genérico |
Formato da Resposta
Todas as requisições bem-sucedidas retornam o ID da credencial criada:
{
"id": "credential-uuid-here"
}
O namespace usado deve ser informado ao ativar a integração.
Importante: Não será possível visualizar os dados completos após serem importados. Os dados são criptografados usando AES 256 GCM na camada de aplicação/banco de dados e novamente todos os dados são salvos com LUKS em repouso no servidor de banco de dados.
Documentação da API
Para documentação completa da API, consulte:
- GroupLinkAPI Login
- GroupLinkAPI OrganizationVault
- GroupLinkAPI OrganizationVaultList
- GroupLinkAPI OrganizationVaultDelete