Sugestões de campo de um negócio
const url = 'https://developers.nexo.winningsales.com.br/v1/review/deals/example';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/review/deals/example \ --header 'Authorization: Bearer <token>'Uma etapa por sugestão em aberto: a propriedade do CRM com tipo e opções, o valor no CRM agora, o valor que o Nexo leu, o motivo e as evidências. O vendedor vê os próprios negócios; admin e líder de vendas veem todos e podem filtrar por dono.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Path Parameters
Seção intitulada “Path Parameters”Id do negócio no Nexo
Responses
Seção intitulada “Responses”O negócio com as etapas de revisão
object
object
Deal id
Id of the deal in the CRM
Deal name
Owner id
Owner name
Deal amount in cents
Currency code
One step per open suggestion, oldest first
object
Suggestion id
Concept id
Concept label, pt-BR
What the concept means
Record the value goes to
Where the suggestion is in its life
How to edit it: text, number, money, date, datetime, bool, enum, stage, contact, or meeting_note for the note of a meeting
Whether the person may edit the value before approving
Mapped CRM property; null when the concept lost its mapping
object
Internal name of the CRM property
Label as the CRM shows it
CRM value type
CRM widget
Allowed values when it is a list
Stage name when the kind is stage
Stage name when the kind is stage
Why, in one line
Who produced it
Confidence of the reading
Excerpts and facts
object
quote is something a person said; fact is something the CRM or the timeline shows
The excerpt or the fact, in pt-BR
Where it came from: call, whatsapp, email, crm
Who said it, when it is a quote
When, as the screen should show it
Minute in the call, when there is one
Id of the meeting, message or record the excerpt belongs to
The conversation that produced the value; groups the steps for “approve all from this conversation”
object
Id of the meeting or CRM engagement the value was read from
Meeting, call, note, email
When the conversation happened, ISO 8601
When that change was detected
Who decided
Approved by Nexo because the company turned on the automatic approval; no person decided
When
When it reached the CRM
Why the CRM refused it, readable
Allowed values, when the refusal was about a list
Bumped on every decision
When the suggestion was made
For the meeting note item (kind meeting_note): the meeting and the contacts the note goes to; null for a field
object
Meeting the note summarizes
Meeting title
When the meeting happened
Names of the CRM contacts present, the ones the note is associated with besides the deal
The contact Nexo proposes to create; only for kind contact
object
First name
Last name
Job title said in the conversation
Buying role, as the CRM option value, when the field is mapped
Company the contact is linked to, besides the deal
True when the person edited the name or job title
Steps still waiting
Steps approved and not written yet
Example
{ "steps": [ { "targetType": "deal", "status": "pending", "origin": "ai", "evidences": [ { "kind": "quote" } ] } ]}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" }}Negócio não encontrado ou de outro vendedor
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" }}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 }}