开发者专区
API、Webhooks、外部智能体,以及系统与 Tenka 对话所需的一切。
这里的一切都来自正在运行的代码:限制、资源、事件和入口均从平台读取,而非手工录入。系统变了,本页随之变化。
入门步骤 Baixar openapi.json Abrir no Swagger
A primeira chamada
Troque a variável TENKA_API_KEY pela chave criada em Configurações › API. A resposta diz qual conta a chave enxerga.
cURL
curl "https://tenka.app.br/api/v1/me" \
-H "Authorization: Bearer $TENKA_API_KEY"JavaScript
const response = await fetch("https://tenka.app.br/api/v1/me", {
method: "GET",
headers: {
"Authorization": "Bearer " + TENKA_API_KEY
}
});
const data = await response.json();
if (!response.ok || data.erro) throw new Error(response.status + " " + data.erro);
console.log(data);Python
import os
import requests
response = requests.get(
"https://tenka.app.br/api/v1/me",
headers={
"Authorization": f"Bearer {os.environ['TENKA_API_KEY']}",
},
timeout=30,
)
data = response.json()
if not response.ok or "erro" in data:
raise RuntimeError(f"{response.status_code} {data.get('erro')}")
print(data)Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder(URI.create("https://tenka.app.br/api/v1/me"))
.header("Authorization", "Bearer " + System.getenv("TENKA_API_KEY"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());C#
using System.Net.Http.Headers;
using System.Text;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("TENKA_API_KEY"));
var request = new HttpRequestMessage(HttpMethod.Get, "https://tenka.app.br/api/v1/me");
var response = await http.SendAsync(request);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");PHP
<?php
$ch = curl_init("https://tenka.app.br/api/v1/me");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("TENKA_API_KEY"),
],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($body, true);
echo $status . " " . $body;Node (SDK)
// SDK gerado do contrato — baixe em https://tenka.app.br/api/v1/sdk/tenka.js
import { Tenka } from "./tenka.js";
const tenka = new Tenka(process.env.TENKA_API_KEY, "https://tenka.app.br/api/v1");
const data = await tenka.getMe({});
console.log(data);Guias
入门步骤从密钥到第一个 GET,只需五分钟。SandboxComo obter acesso e testar sem tocar na produção.认证每账户一密钥,每密钥一范围,每用户一作者。Paginação e sincronizaçãoPágina a página ou só o que mudou desde a última vez.ErrosToda mensagem que a API devolve, com o motivo e o que fazer.限制与错误出错时 API 返回什么。IdempotênciaRepetir uma escrita sem duplicar o registro.VersionamentoO que pode mudar na v1 e o que nunca muda.Webhooks发生事件时 Tenka 通知您的系统。SDKCliente pronto em JavaScript e Python, gerado do contrato.面向系统的入口API 之外:AI 智能体、账号同步、企业登录和团队频道。变更日志任何记录中谁在何时改了什么。Histórico da APICada mudança de contrato, com data e o que o integrador precisa fazer.最佳实践让集成长久运行的做法。常见问题集成方最先问的问题。状态与沙箱开工单前先看看是否一切正常。
Referência por recurso
Tenant1 operaçãoCadastros2 operaçõesCRM1 operaçãoLeitura16 operaçõesComercial1 operaçãoFinanceiro1 operaçãoOperação1 operaçãoTêxtil2 operaçõesAlterações10 operaçõesLote3 operaçõesAnalítico2 operações
Gerado do contrato OpenAPI v1.2.0, o mesmo que o openapi.json publica.