Bibliotecas cliente e Postman
Clientes oficiais da API para PHP, Node.js e Python, gerados a partir do documento OpenAPI, e uma coleção do Postman pronta.
Traduzido para sua conveniência. Código, nomes de campos e a referência da API continuam em inglês. Versão em inglês
Toda operação da referência da API REST é um método nos clientes oficiais. As tabelas de métodos são geradas a partir do mesmo documento OpenAPI da referência, então um endpoint novo chega às três bibliotecas ao mesmo tempo. Os clientes enviam o seu token de API como bearer token, repetem 429 e 503 depois de Retry-After, lançam um erro com o problem detail da API e percorrem as coleções por você. Eles não têm dependências além da biblioteca padrão da linguagem.
As chamadas recebem um único conjunto de parâmetros: parâmetros de caminho (id), body (o corpo JSON da requisição) e quaisquer parâmetros de consulta.
PHP
composer require helpfalcon/helpfalcon-php
$client = new HelpFalcon\Client('https://acme.example.com', getenv('HELPFALCON_TOKEN'));
$ticket = $client->tickets->create(['body' => ['subject' => 'Printer on fire', 'description' => 'Help']]);
$client->tickets->update(['id' => $ticket['id'], 'body' => ['status' => 'pending']]);
foreach ($client->paginate($client->tickets->list(...), ['status' => 'open']) as $open) {
echo $open['subject'], PHP_EOL;
}
Node.js
npm install @helpfalcon/api
import { HelpFalcon } from "@helpfalcon/api";
const client = new HelpFalcon({ baseUrl: "https://acme.example.com", token: process.env.HELPFALCON_TOKEN });
const ticket = await client.tickets.create({ body: { subject: "Printer on fire", description: "Help" } });
await client.tickets.update({ id: ticket.id, body: { status: "pending" } });
for await (const open of client.paginate(client.tickets.list, { status: "open" })) {
console.log(open.subject);
}
Tipos TypeScript para cada recurso e método vêm com o pacote.
Python
pip install helpfalcon
from helpfalcon import HelpFalcon
client = HelpFalcon("https://acme.example.com", token=os.environ["HELPFALCON_TOKEN"])
ticket = client.tickets.create(body={"subject": "Printer on fire", "description": "Help"})
client.tickets.update(id=ticket["id"], body={"status": "pending"})
for open_ticket in client.paginate(client.tickets.list, status="open"):
print(open_ticket["subject"])
A API compatível com Zendesk
Cada cliente também tem um método request bruto para qualquer caminho, incluindo a API compatível com Zendesk:
await client.request("GET", "/zd/api/v2/tickets.json", { query: { per_page: 100 } });
Postman
Importe clients/postman/helpfalcon.postman_collection.json do repositório. Defina as variáveis da coleção baseUrl (o seu espaço de trabalho) e token (um token de API de Admin Center, Integrations, API tokens). As requisições são agrupadas por recurso.
Mudanças
O que mudou na API, versão por versão, está no registro de mudanças da API.