Pular para o conteúdo principal
Use estes recursos para autenticação da conta, ciclo de vida da instância e billing. Para sessão WhatsApp, veja Sessão. Para chats, veja Chats. Para envio de mensagens, veja Mensagens. Campos comuns em chamadas de instância:
CampoTipoObrigatórioDescrição
instanceIdstringSimID da instância.
instanceTokenstringSimToken da instância.

Auth

auth.getAccessToken()

Obtém JWT com clientToken e clientSecret. Na maioria dos fluxos, os recursos fazem isso automáticamente.
const token = await vzaps.auth.getAccessToken();
console.log(token.slice(0, 16));
Retorno: string com o JWT de acesso (accessToken de POST /token).

Instâncias e billing

instances.create(data)

const created = await vzaps.instances.create({
  name: 'Atendimento',
  webhook: 'https://example.com/webhooks/vzaps',
  eventsSubscribe: ['Message', 'Connected', 'Disconnected'],
});
Retorno: InstancePublicCreateResponseid, name, token, url, webhook, eventsSubscribe, status, createdAt, updatedAt.

instances.list(data?)

const instances = await vzaps.instances.list({
  page: 1,
  pageSize: 20,
  search: 'atendimento',
});
Retorno: pagina { page, size, total, totalPages, content[], summary }. Cada item de content segue o resumo publico da instancia (id, name, status, etc.).

instances.get(instanceId, options?)

Retorna uma instância no mesmo formato público resumido de cada item de instances.list().
const instance = await vzaps.instances.get('VZ...');
Retorno: mesmo formato resumido de um item de instances.list() (id, name, token, url, webhook, status, etc.).

instances.update(instanceId, data, options?)

await vzaps.instances.update('VZ...', {
  name: 'Atendimento Comercial',
}, {
  instanceToken: 'instance-token',
});
Retorno: instancia atualizada no mesmo formato resumido de instances.get().

instances.restart(instanceId, options?)

await vzaps.instances.restart('VZ...', {
  instanceToken: 'instance-token',
});
Retorno: InstanceActionResponseinstanceId, status, details.

instances.delete(instanceId, options?)

await vzaps.instances.delete('VZ...', {
  instanceToken: 'instance-token',
});
Retorno: corpo vazio em sucesso (204) ou envelope de erro padrao.

instances.subscribe(instanceId, data?, options?)

const checkout = await vzaps.instances.subscribe('VZ...', {}, {
  instanceToken: 'instance-token',
});
Retorno: BillingHostedSessionurl, sessionId, mode (direct ou checkout), subscriptionId.

instances.resumeSubscription(instanceId, options?)

await vzaps.instances.resumeSubscription('VZ...', {
  instanceToken: 'instance-token',
});
Retorno: { status: "ok" }.

instances.cancel(instanceId, options?)

await vzaps.instances.cancel('VZ...', {
  instanceToken: 'instance-token',
});
Retorno: { message } confirmando cancelamento ou agendamento.

Chamadas avançadas

Use vzaps.request() quando precisar de uma operação ainda não encapsulada por um recurso:
await vzaps.request(method, path, options);
Para o contrato HTTP completo, use a aba API.