EDUZZ-HS-TI-002
HubSpot
Tickets API
Documentação técnica completa para integração com a API de tickets do HubSpot.
🔑
Credenciais
Token, escopos e autenticação
💻
Casos de Uso
Comandos curl copy-paste ready
📊
Pipelines
Mapeamento completo de stages
Casos de Uso
Comandos Curl
Copy-Paste Ready
Exemplos prontos para usar no terminal.
Role para ver os comandos
Schema
Listar Propriedades
Retorna todas as propriedades disponíveis para tickets.
curl -s --request GET \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--url "https://api.hubapi.com/crm/v3/properties/tickets" | jq .
Pipelines
Listar Pipelines
Retorna todos os pipelines com seus stages.
curl -s --request GET \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--url "https://api.hubapi.com/crm/v3/pipelines/tickets" | jq .
Tickets
Listar Últimos 10
Tickets mais recentes ordenados por data de criação.
curl -s --request POST \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--header "Content-Type: application/json" \
--url "https://api.hubapi.com/crm/v3/objects/tickets/search" \
--data '{
"sorts": [{"propertyName": "createdate", "direction": "DESCENDING"}],
"properties": ["subject", "hs_pipeline", "hs_pipeline_stage", "createdate"],
"limit": 10
}' | jq .
Busca por Email - Passo 1
Buscar Contact ID
Primeiro, encontre o ID do contato pelo email.
curl -s --request POST \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--header "Content-Type: application/json" \
--url "https://api.hubapi.com/crm/v3/objects/contacts/search" \
--data '{
"filterGroups": [{
"filters": [{
"propertyName": "email",
"operator": "EQ",
"value": "guilherme.sforza@eduzz.com.br"
}]
}],
"limit": 1
}' | jq '.results[0].id'
Busca por Email - Passo 2
Buscar Tickets
Substitua CONTACT_ID pelo valor do passo anterior.
curl -s --request POST \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--header "Content-Type: application/json" \
--url "https://api.hubapi.com/crm/v3/objects/tickets/search" \
--data '{
"filterGroups": [{
"filters": [{
"propertyName": "associations.contact",
"operator": "EQ",
"value": "CONTACT_ID"
}]
}],
"properties": ["subject", "content", "hs_pipeline", "hs_pipeline_stage", "createdate"],
"sorts": [{"propertyName": "createdate", "direction": "DESCENDING"}],
"limit": 100
}' | jq .
One-liner
Tudo em Um Comando
Busca contato e tickets automaticamente.
CONTACT_ID=$(curl -s --request POST \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--header "Content-Type: application/json" \
--url "https://api.hubapi.com/crm/v3/objects/contacts/search" \
--data '{"filterGroups":[{"filters":[{"propertyName":"email","operator":"EQ","value":"guilherme.sforza@eduzz.com.br"}]}],"limit":1}' | jq -r '.results[0].id') && \
curl -s --request POST \
--header "Authorization: Bearer pat-na1-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
--header "Content-Type: application/json" \
--url "https://api.hubapi.com/crm/v3/objects/tickets/search" \
--data "{\"filterGroups\":[{\"filters\":[{\"propertyName\":\"associations.contact\",\"operator\":\"EQ\",\"value\":\"$CONTACT_ID\"}]}],\"properties\":[\"subject\",\"hs_pipeline_stage\",\"createdate\"],\"limit\":100}" | jq .
Mapeamento
Pipelines
Ativos
6 pipelines configurados no HubSpot da Eduzz.
Role para ver os detalhes
Suporte
Entrada
Em Análise de Escopo
Em Andamento
Aguardando Time Interno
Aguardando Cliente
Fechado
Entrada
Em Andamento
Aguardando Outros
Escalado
Fechado
Entrada
Em Andamento
Aguardando Outros
Fechado
T.I & Onboarding
Entrada
Em Andamento
Aguardando Outros
Fechado
Entrada
Segmentação
Migração
Implantação
Não criou produto
Criou produto
Publicou produto
Financeiro
Primeira venda
Saque inicial
Fechado
⚠️ Deprecados
Não Usar
Mantidos apenas para histórico.
| Pipeline |
ID |
| [Não usar] N1 | Clientes |
820355989 |
| [Não Usar] Pipeline de suporte |
0 |
| [Não Usar] N1 | Agências |
820575746 |
"Padrão não é burocracia.
Padrão é liberdade para escalar com qualidade."
— Manifesto Epic Standards Council