Relatório do mês do time
const url = 'https://developers.nexo.winningsales.com.br/v1/reports/monthly';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://developers.nexo.winningsales.com.br/v1/reports/monthly \ --header 'Authorization: Bearer <token>'O relatório consolidado do mês, refeito todo dia às 7h: meta e ritmo, onde o funil trava, um bloco por vendedor, pendências e o que foi bem. Sem month vem o mais recente; com month (AAAA-MM), a leitura guardada daquele mês, sem recálculo. Já está escrito: ler não consome IA. Só admin e líder de vendas, como no app.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Query Parameters
Seção intitulada “Query Parameters”Mês da leitura guardada, AAAA-MM. Ausente = o relatório mais recente
Mês da leitura guardada, AAAA-MM. Ausente = o relatório mais recente
Responses
Seção intitulada “Responses”O relatório, ou null quando o mês não tem relatório
object
O relatório mais recente; null antes do primeiro cálculo ou quando o gravado está desatualizado (ver outdated)
object
Mês do relatório, AAAA-MM
Quando o relatório foi escrito, ISO 8601
A manchete do mês; null quando o texto não passou na conferência
O resumo do mês; null quando o texto não passou na conferência
True quando o conferidor recusou o texto e a tela mostra só os números
Um parecer por vendedor
object
Vendedor de quem é o parecer
O parecer escrito pelo Nexo a partir dos números dele
Os números que sustentam o relatório, com as falas de cada ponto
object
Mês do relatório, AAAA-MM
Dia do mês em que foi calculado
Dias do mês
Dias úteis restantes no mês, de segunda a sexta, no fuso da empresa, sem contar hoje; feriados não são descontados
Nome da empresa
A meta do time, o ritmo e o que fecha se o commit entrar
object
Dias úteis do mês até hoje
Realizado por dia útil; null sem dia útil
Realizado por dia útil no mês anterior
Conversão do mês
Cobertura necessária para a meta
Negócios que entraram no funil no mês
O mesmo no mês anterior
Reuniões marcadas que não aconteceram
Quanto das reuniões passadas tem resultado marcado no CRM
Onde o funil do time trava, contra o histórico de 12 meses da própria empresa
object
Funil do CRM onde a passagem trava
Etapa onde o funil trava
Etapa seguinte
Quanto passa no mês, em percentual
A mesma passagem na referência, em percentual
De onde vem a referência: o histórico de 12 meses da empresa, ou a tabela da Winning quando a empresa ainda não tem 8 negócios decididos nessa passagem
Diferença em pontos para a referência; negativo porque é furo
Negócios que pararam nessa etapa
Um bloco por vendedor
object
Dono no CRM
Nome do vendedor como está no CRM
Meta do mês; null quando não foi definida
Realizado no mês
Atingimento em percentual, 0 a 100
Conversão dele contra a do time
object
O número do vendedor
O mesmo número do time inteiro, para comparar
Quantos negócios ou reuniões entraram na conta dele
Ciclo mediano até ganhar
object
O número do vendedor
O mesmo número do time inteiro, para comparar
Quantos negócios ou reuniões entraram na conta dele
Reuniões marcadas que não aconteceram
object
O número do vendedor
O mesmo número do time inteiro, para comparar
Quantos negócios ou reuniões entraram na conta dele
A etapa do CRM onde o funil dele mais trava contra o time
object
Funil do CRM onde está a etapa
Etapa real do CRM onde ele mais trava contra o time
Etapa seguinte; Ganho na última
Quanto passa com ele, em percentual
A mesma passagem no time
Quantos pontos ele está abaixo do time nessa passagem; negativo porque é furo
Negócios decididos dele nessa etapa
Negócios que pararam nessa etapa com ele
A mesma passagem no histórico dele ou na referência Winning; null sem referência
De onde vem a referência: o histórico de 12 meses dele, ou a tabela da Winning quando ele ainda não tem 8 decididos nessa passagem; null quando não há referência
Como os negócios trabalhados dele se dividem contra o perfil de cliente
object
Negócios dele em risco agora
Quanto está em risco
Perdas dele sem motivo preenchido
Etapa em que ele mais perde, quando a base sustenta o percentual
object
Nome da etapa onde ele mais perde
Perdas dele nessa etapa
Perdas dele no funil dessa etapa
Count ÷ lost em percentual
Tarefas do Meu dia feitas no prazo, contra o total que já venceu; null quando não há tarefa vencida
object
Follow-ups de compromisso e cobrança no prazo, contra o total que já venceu; null quando não há follow-up vencido
object
Até três pontos das conversas gravadas dele
object
Tipo do ponto: objeção aberta, sem próximo passo, compromisso atrasado, condição prometida, diagnóstico
Negócio de onde saiu
O que a conversa mostra, na leitura do Nexo
Valor do negócio em centavos
Conversa de onde saiu o trecho; null quando não veio de uma conversa
object
Canal de onde saiu o trecho
Id da conversa: a reunião, a sessão de WhatsApp, ou o engajamento do CRM
Trechos da conversa que sustentam o ponto
Até duas falas que sustentam o ponto; vazio quando a transcrição já saiu da retenção
object
O que foi dito, como está na transcrição ou na mensagem
Quem falou, com o nome que aparece na conversa
De que lado a pessoa está: internal (da empresa) ou external (do cliente)
Canal de onde saiu a fala
Em que momento da reunião a fala começa, em milissegundos; null fora de reunião
Quando a mensagem foi enviada, ISO 8601; null em reunião, onde vale startMs
O que depende do time para os números fecharem
object
O dono com mais itens dessa pendência; null quando não apurado por dono
object
Nome do dono da falta, como está no CRM
Quantos itens dessa pendência são dele
O que foi bem no mês
Negócios com conversa gravada lida no período
Preenchido quando existe relatório gravado num formato anterior ao atual; ele é refeito na próxima rodada das 7h. null quando o report veio ou nunca houve cálculo
object
Mês do relatório gravado, AAAA-MM
Quando foi escrito, ISO 8601
Example
{ "report": { "digest": { "holes": [ { "referenceSource": "history" } ], "reps": [ { "stageHole": null, "lossStage": null, "tasksOnTime": null, "followUpsOnTime": null, "points": [ { "source": null, "quotes": [ { "speakerSide": "internal", "channel": "meeting" } ] } ] } ], "pending": [ { "owner": null } ] } }}Mês fora do formato AAAA-MM
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "requestId": "example", "meta": { "additionalProperty": "example" }}Token ausente, inválido, expirado ou revogado
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
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
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
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" }}Limite de chamadas da empresa ou do token atingido
object
Stable machine-readable error code (e.g. identity.email_already_in_use)
Error class name
HTTP status code
Human-readable message, safe to display to end users
Correlation id — send it to support to locate the full trail
Structured details safe for the frontend (field errors, ids)
object
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 }}