O que fazer hoje
const url = 'https://developers.nexo.winningsales.com.br/v1/tasks/today';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/tasks/today \ --header 'Authorization: Bearer <token>'A lista do dia do vendedor, gerada por regra (sem modelo) às 7h no fuso da empresa e a cada mudança relevante: reuniões do dia, compromissos vencendo, follow-ups sem resposta, fechamento escorregando, negócios parados, campos esperando revisão. Reuniões primeiro, pela hora; o resto por impacto na meta. O vendedor vê só o próprio dia; admin e líder escolhem o vendedor por ownerId.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Query Parameters
Seção intitulada “Query Parameters”Dono do CRM de quem ver o dia; só admin e líder escolhem, o vendedor sempre vê o próprio
Dono do CRM de quem ver o dia; só admin e líder escolhem, o vendedor sempre vê o próprio
Responses
Seção intitulada “Responses”As tarefas do dia
object
O dia, AAAA-MM-DD, no fuso da empresa
Dono do CRM de quem é o dia; null quando o usuário não tem dono ligado
Nome do dono no CRM
Tarefas ainda por fazer
Tarefas do dia, feitas e por fazer
Reuniões do dia primeiro, pela hora; depois por impacto na meta, com a data mais próxima desempatando
object
Id da tarefa
A regra que gerou a tarefa; forecast_missing pede o forecast (compromisso e data) de um negócio a partir da etapa em que o funil pede a declaração; fill_expected_fields junta, num negócio só, os campos que o time costuma preencher na etapa atual e este negócio deixou em branco; buyer_commitment_due é o combinado que o cliente ficou de fazer e não fez; buyer_deadline_passed é o prazo do cliente que passou sem fato novo
Quando fazer
object
Tipo do quando
Hora da reunião ou prazo, ISO 8601; null quando é só “hoje”
O quando pronto para a tela: 10:00, hoje, até 14/09, fim do dia, 2 min
O que fazer, começando por um verbo
Selo curto: reunião de hoje, 12 dias parado, 5 campos, 3 campos esperados, cliente deve · vence hoje, cliente deve · venceu há 3 dias, prazo do cliente
O negócio da tarefa; null nas tarefas sem negócio (revisão, reuniões de amanhã)
object
Id do negócio
Nome do negócio no CRM
Valor do negócio em centavos
Moeda do valor
Link do negócio no HubSpot, quando o CRM é o HubSpot
Por que a tarefa está na lista
object
O porquê: fatos do CRM e contas afirmados; leitura de conversa rotulada como leitura
A conversa e os trechos quando o porquê vem de uma leitura
object
Canal da conversa de onde saiu a leitura (hoje, meeting)
Id da conversa
Trechos que sustentam o porquê (e1, e2…)
Para onde a tarefa leva
object
True quando dá para abrir o raio X do negócio
True quando a tarefa leva à Revisão, para revisar ou preencher os campos
Reunião do CRM para abrir a preparação
Tipo de rascunho que a tela pode pedir para esta tarefa
True quando a tarefa tem preparação da reunião
Open, done (marcada como feita), auto_closed (saiu sozinha: o sinal sumiu ou o prazo ainda não venceu quando o dia virou), cancelled (o vendedor cancelou com justificativa), expired (o dia virou e não foi feita) ou rescheduled (movida para outro dia)
O dia da tarefa, AAAA-MM-DD, no fuso da empresa
Nas tarefas de compromisso (commitment_due, buyer_commitment_due), a chave do combinado lido, para confirmar, corrigir ou descartar em PUT /deals/:dealId/commitments/:key; null quando o combinado veio do próximo passo e não tem chave real
Dia de onde a tarefa foi remarcada; null quando nasceu neste dia
Quantas vezes esta tarefa já foi remarcada
Presente quando o vendedor cancelou
object
Por que cancelou: não faz mais sentido, o cliente resolveu por outro canal, negócio perdido ou pausado, a leitura estava errada, ou outro
A justificativa escrita pelo vendedor
Example
{ "tasks": [ { "kind": "meeting_today", "when": { "kind": "time" }, "draftKind": "retomada", "status": "open", "cancellation": { "reason": "no_longer_makes_sense" } } ]}Filtro inválido
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 }}