Pular para o conteúdo
Funil

Listar negócios

v1.0.0
GEThttps://api.growthaisystem.com/api/v1/opportunities
  • ExigeAuthorization: Bearer gos_…— Chave de API (gos_…)· escoposopportunities.read

Paginação por cursor keyset; limit até 500. contactId filtra os negócios de um contato (§9.23). Datas em ISO-8601: *After é estritamente depois (>), *Before estritamente antes (<). wonAfter/wonBefore e lostAfter/lostBefore recortam pela data de fechamento (só negócios ganhos/perdidos); stageChangedAfter recorta por stageChangedAt (quando entrou no estágio atual). Negócio na Lixeira não sai — nem aqui, nem em nenhuma rota da API (o detalhe dele dá 404).

Campos derivados (desde 30/10/2026): cada negócio traz os mesmos campos do detalhe, com a mesma regra — lastActivityAt (a Ação mais recente do negócio ou de uma atividade dele), firstHumanTouchAt/lastHumanTouchAt, humanTouchCount e firstHumanTouchChannel (toque humano do contato a partir da CRIAÇÃO do negócio, mesmo actor: "user" de /interactions). Calculados em lote para a página inteira: o custo não cresce por negócio.

Parâmetros de consulta

Vão na querystring, depois do ?.

  • pipelineIdstringopcional
  • stageIdstringopcional
  • statusstringopcional
    • um de"open""won""lost"
  • contactIdstringopcional
  • createdAfterstringopcional
  • updatedAfterstringopcional
  • createdBeforestringopcional
  • updatedBeforestringopcional
  • wonAfterstringopcional
  • wonBeforestringopcional
  • lostAfterstringopcional
  • lostBeforestringopcional
  • stageChangedAfterstringopcional
  • cursorstringopcional
  • limitintegeropcional
    • padrão 50
    • faixa 1–500

Respostas

6 respostas documentadas — o código, o que ele significa nesta rota e a forma do corpo.

200Deu certoapplication/json

Página de negócios do workspace em ordem de criação decrescente, cada um com os campos derivados de toque humano e de atividade. data: [] é sucesso (não há negócio no recorte); nextCursor: null é o fim da lista.

  • Cada item — V1Opportunity

    • idstring
    • titlestring
    • pipelineIdstring
    • stageIdstring
    • contactIdstring
    • statusstring
      • um de"open""won""lost""abandoned"
    • valueCentsinteger
    • currencystring
    • ownerUserIdstring | null
    • temperaturestring
    • tagsstring[]
    • lossReasonstring | null
    • expectedCloseAtstring | null
    • wonAtstring | null
    • wonRecordedAtstring | null
    • lostAtstring | null
    • lostRecordedAtstring | null
    • lostAtStageIdstring | null
    • customFieldsobjeto livre
      • chave string
      • valor qualquer valor JSON
    • createdAtstring
    • updatedAtstring
    • sourcestring | null
      • sourcestring | null
      • mediumstring | null
      • campaignstring | null
      • termstring | null
      • contentstring | null
    • originstring
    • stageChangedAtstring
    • urlstring
    • firstHumanTouchAtstring | nullpode faltar
    • lastHumanTouchAtstring | nullpode faltar
    • humanTouchCountintegerpode faltar

      Quantos toques humanos o contato deste negócio recebeu desde a CRIAÇÃO do negócio (cada mensagem, ligação, e-mail ou nota com actor: "user" em /interactions conta um). 0 = nenhum. Mesma fonte e mesmo recorte de firstHumanTouchAt/lastHumanTouchAt. Vem em GET /opportunities e em GET /opportunities/{id}.

      • mín. 0
    • firstHumanTouchChannelstring | nullpode faltar

      O canal do PRIMEIRO toque humano desde a criação do negócio — o mesmo registro de firstHumanTouchAt, no vocabulário de channel de /interactions (whatsapp, instagram, facebook, call, email, note…). Dois toques no mesmo instante: vale o de menor id de /interactions. null = ainda não houve toque humano.

    • lastActivityAtstring | nullpode faltar
  • nextCursorstring | null

    Cursor opaco da PRÓXIMA página — passe em ?cursor=. null = acabou a lista.