Skip to main content
SDK v1 — Documentação Legacy

Esta página documenta o Actions SDK v1. Para a versão atual (v2), consulte a documentação do SDK v2.

Code Secrets

Visão Geral​

Code Secrets são credenciais e informações sensíveis (tokens, chaves de API, certificados, URLs de ambientes) que ficam armazenadas de forma segura na plataforma Tech4AI e são injetadas automaticamente no contexto de execução das suas Actions.

Com Code Secrets você não precisa embutir valores sensíveis diretamente no código das suas Actions. Basta referenciar o secret pelo nome e a plataforma cuida de injetar o valor correto.

Criação de Secrets

A criação, atualização e remoção de Code Secrets deve ser solicitada ao time da Tech4.ai.


Tipos de Secret​

TipoValorUso
TEXTTexto simplesTokens, chaves de API, URLs, senhas
CERTConteúdo PEMCertificados cliente para autenticação mTLS

Acessando Secrets nas Actions​

O dicionário secrets é uma variável pré-injetada no escopo de execução de todas as Actions. Não é necessário importar nada.

# Acessar um secret pelo nome exato cadastrado
api_key = secrets["MINHA_API_KEY"]
api_host = secrets["MINHA_API_HOST"]
Nome do Secret

O nome do secret é definido no cadastro. Use exatamente o mesmo nome (diferencia maiúsculas de minúsculas) ao acessar secrets["NOME_DO_SECRET"].


Exemplos de Uso​

Chamada HTTP com chave de API​

import requests

def consultar_dados():
headers = {
"Authorization": f"Bearer {secrets['API_TOKEN']}",
"X-API-Key": secrets["API_KEY"],
}
url = f"{secrets['API_HOST']}/v1/dados"

response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
return response.json()

Chamada autenticada com certificado (mTLS)​

Use o CertificateClient do SDK em conjunto com um secret do tipo CERT:

def consultar_recurso(recurso_id: str):
cert_client = CertificateClient(cert_content=secrets["CERTIFICADO_PEM"])

headers = {
"X-API-Key": secrets["API_KEY"],
"Authorization": f"Bearer {secrets['ACCESS_TOKEN']}",
}
url = f"{secrets['API_HOST']}/v1/recursos/{recurso_id}"

response = cert_client.get(url=url, headers=headers, timeout=30)
return response.json()

Combinando múltiplos secrets​

def autenticar_e_buscar():
# Credenciais de autenticação
auth_url = secrets["AUTH_URL"]
client_id = secrets["CLIENT_ID"]
client_secret = secrets["CLIENT_SECRET"]

# Obter token
auth_response = requests.post(auth_url, data={
"grant_type": "client_credentials",
"client_id": client_id,
"client_secret": client_secret,
})
token = auth_response.json()["access_token"]

# Usar token para chamada protegida
api_host = secrets["API_HOST"]
response = requests.get(
f"{api_host}/v1/dados",
headers={"Authorization": f"Bearer {token}"},
timeout=30,
)
return response.json()

Boas Práticas​

Recomendações
  1. Nunca codifique valores sensíveis diretamente no código da Action. Sempre utilize secrets.
  2. Use nomes descritivos para os secrets (ex.: SEGURADORA_API_KEY, INTEGRACAO_HOST) e solicite ao time Tech4.ai no momento da criação.
  3. Secrets do tipo CERT devem ser usados exclusivamente com o CertificateClient — nunca como string em headers.
  4. Não logue o valor dos secrets. Evite print(secrets["..."]) em código de produção.