Pular para o conteúdo

Uma reunião

GET
/v1/meetings/{meetingId}
curl --request GET \
--url https://developers.nexo.winningsales.com.br/v1/meetings/example \
--header 'Authorization: Bearer <token>'

Dados da reunião, participantes, negócio vinculado e situação da gravação. O vendedor só enxerga as próprias reuniões; admin e líder de vendas enxergam as da empresa, como no app.

meetingId
required
string

Id da reunião

A reunião

Media typeapplication/json
object
id
required

Id da reunião

string format: uuid
platform
required

Plataforma detectada pelo link

string
Allowed values: google_meet teams zoom other
meetingUrl
required

Link da reunião

string
scheduledStartAt
required

Início previsto

string format: date-time
scheduledEndAt
required

Fim previsto

string format: date-time
nullable
title
required

Título

string
nullable
organizerUserId
required

Vendedor dono da reunião

string format: uuid
nullable
source
required

De onde a reunião veio: registro manual ou agenda

string
Allowed values: manual calendar
audience
required

Interna (só gente da empresa), externa ou desconhecida (sem convidados)

string
Allowed values: internal external unknown
organizedBy
required

Quem marcou: a própria empresa, o cliente ou desconhecido (reuniões antigas da agenda)

string
Allowed values: company customer unknown
recorder
required

Quem grava: assistant (o Assistente Nexo entra na chamada) ou native (a gravação e a transcrição da própria plataforma)

string
Allowed values: assistant native
status
required

Situação: agendada, pulada, gravando, gravada, ninguém entrou, falhou ou cancelada. Pulada é a interna (que não aparece na lista) ou, na gravação nativa, a não gravada (notRecordableReason), que aparece

string
Allowed values: scheduled skipped recording recorded no_show failed cancelled
statusDetail
required

Motivo quando falhou, foi pulada ou ninguém entrou. Pulada: internal (só gente da empresa) ou um motivo de não gravada (ver notRecordableReason). Gravação nativa que falhou: native_no_transcript (a reunião aconteceu e a transcrição não ficou pronta), native_meeting_not_found (a plataforma não conhece o link), native_no_conference (ninguém entrou na sala do Meet), native_lookup_refused (a plataforma recusou a leitura) ou native_not_recorded (sem anfitrião conhecido, sem agenda nativa, ou fechada antes dessa divisão)

string
nullable
notRecordableReason
required

Não gravada: a empresa grava pela plataforma, que não alcança esta reunião, e o assistente não entra. host_external (o anfitrião não é da empresa), platform_unsupported (a plataforma da reunião não é a da agenda nativa) ou no_native_connection (a agenda nativa não está ativa)

string
nullable
Allowed values: host_external platform_unsupported no_native_connection
botLifecycle
required

Onde o assistente está: não pedido, agendado, entrando, sala de espera, na chamada, gravando, saiu, concluído ou falhou

string
Allowed values: not_requested scheduled joining waiting_room in_call recording call_ended done failed
invitees
required

Convidados informados no registro

Array<object>
object
email
required

E-mail do convidado, como está no convite

string format: email
<= 320 characters
name

Nome do convidado, quando o convite traz

string
nullable >= 1 characters <= 200 characters
attendees
required

Quem de fato apareceu, segundo o assistente

Array<object>
object
externalId
required

Id do participante na plataforma da reunião

string
name
required

Nome exibido na reunião

string
nullable
email
required

E-mail, quando a plataforma informa

string
nullable
isHost
required

Se era o anfitrião

boolean
recordedAt
required

Quando a gravação começou

string format: date-time
nullable
durationSeconds
required

Duração gravada, em segundos

integer
nullable
hasTranscript
required

Se a transcrição está no lake

boolean
hasAudio
required

Se o áudio está no lake

boolean
deal
required

Negócio vinculado. Nulo sem vínculo ou com vínculo em dúvida

object
id
required

Id do negócio

string format: uuid
name
required

Nome do negócio

string
accountName
required

Conta do negócio

string
nullable
stageName
required

Etapa atual no CRM

string
nullable
dealLink
required

Situação do vínculo da reunião com o negócio

object
state
required

Sem vínculo, vínculo em dúvida (candidatos abaixo) ou vinculado

string
Allowed values: unlinked linked_ambiguous linked_confident
origin
required

Quem vinculou: o Nexo (auto) ou uma pessoa (manual)

string
nullable
Allowed values: auto manual
reason
required

Por que o Nexo chegou a este vínculo, ou “manual”

string
nullable
candidates
required

Negócios candidatos quando o vínculo ficou em dúvida

Array<object>
object
dealId
required

Id do negócio

string format: uuid
name
required

Nome do negócio

string
accountName
required

Conta do negócio

string
nullable
stageName
required

Etapa atual no CRM

string
nullable
createdAt
required

Quando foi registrada

string format: date-time

Example

{
"platform": "google_meet",
"source": "manual",
"audience": "internal",
"organizedBy": "company",
"recorder": "assistant",
"status": "scheduled",
"notRecordableReason": "host_external",
"botLifecycle": "not_requested",
"dealLink": {
"state": "unlinked",
"origin": "auto"
}
}

Token ausente, inválido, expirado ou revogado

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.invalid_credential",
"title": "InvalidCredentialError",
"status": 401,
"detail": "Token de acesso inválido, expirado ou revogado. Crie um novo token de acesso no Nexo.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb"
}

Papel, escopo do token ou plano não permitem a operação

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.insufficient_scope",
"title": "InsufficientScopeError",
"status": 403,
"detail": "Este token não tem o escopo conversations:read, exigido por esta operação. Gere um token com esse escopo.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"operation": "conversations.reading",
"scope": "conversations:read"
}
}

Reunião inexistente ou fora da visibilidade

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "meetings.not_found",
"title": "MeetingNotFoundError",
"status": 404,
"detail": "Reunião não encontrada.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"meetingId": "019fcae7-3e54-755a-8458-bdb605b324aa"
}
}

Limite de chamadas da empresa ou do token atingido

Media typeapplication/json
object
type
required

Stable machine-readable error code (e.g. identity.email_already_in_use)

string
title
required

Error class name

string
status
required

HTTP status code

integer
detail
required

Human-readable message, safe to display to end users

string
requestId
required

Correlation id — send it to support to locate the full trail

string
nullable
meta

Structured details safe for the frontend (field errors, ids)

object
key
additional properties

Example

{
"type": "public_api.rate_limited",
"title": "PublicRateLimitedError",
"status": 429,
"detail": "Muitas chamadas em pouco tempo. Tente de novo em 12 segundos.",
"requestId": "019fcae7-3e54-755a-8458-bdb605b324bb",
"meta": {
"class": "content",
"limitedBy": "company",
"limit": 120,
"windowSeconds": 60,
"retryAfterSeconds": 12
}
}