Librerías cliente y Postman
Clientes oficiales de la API para PHP, Node.js y Python, generados a partir del documento OpenAPI, y una colección de Postman lista para usar.
Traducido para tu comodidad. El código, los nombres de campos y la referencia de la API siguen en inglés. Versión en inglés
Cada operación de la referencia de la API REST es un método en los clientes oficiales. Las tablas de métodos se generan a partir del mismo documento OpenAPI que la referencia, así que un endpoint nuevo llega a las tres librerías a la vez. Los clientes envían tu token de API como bearer token, reintentan 429 y 503 tras Retry-After, lanzan un error con el problem detail de la API y recorren las colecciones por ti. No tienen dependencias más allá de la librería estándar del lenguaje.
Las llamadas reciben un único conjunto de parámetros: parámetros de ruta (id), body (el cuerpo JSON de la petición) y cualquier parámetro 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);
}
El paquete incluye tipos de TypeScript para cada recurso y método.
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"])
La API compatible con Zendesk
Cada cliente tiene también un método request en bruto para cualquier ruta, incluida la API compatible con Zendesk:
await client.request("GET", "/zd/api/v2/tickets.json", { query: { per_page: 100 } });
Postman
Importa clients/postman/helpfalcon.postman_collection.json desde el repositorio. Define las variables de la colección baseUrl (tu espacio de trabajo) y token (un token de API de Admin Center, Integrations, API tokens). Las peticiones están agrupadas por recurso.
Cambios
Qué cambió en la API, versión a versión, está en el registro de cambios de la API.