GET
/api/v1/dealsPágina de negócios visíveis ao membro da chave, ordenada pela criação mais recente. Sem status, inclui abertos, ganhos e perdidos. Mantenha os mesmos filtros ao reutilizar o cursor.
Exemplos
A URL usa o servidor de produção. Defina PIPEFACIL_API_KEY e as variáveis de caminho (como SEQ ou ID) com os identificadores reais. Ajuste o corpo antes de executar: requisições de escrita alteram dados do workspace.
cURL
curl --request GET \
--url "https://pipefacil-server.matchsales.com.br/api/v1/deals" \
--header "Authorization: Bearer $PIPEFACIL_API_KEY"JavaScript
const response = await fetch(`https://pipefacil-server.matchsales.com.br/api/v1/deals`, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.PIPEFACIL_API_KEY}`,
},
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const text = await response.text();
const data = text ? JSON.parse(text) : null;Python
import os
import json
import requests
response = requests.request(
"GET",
f"https://pipefacil-server.matchsales.com.br/api/v1/deals",
headers={"Authorization": f"Bearer {os.environ['PIPEFACIL_API_KEY']}"},
)
response.raise_for_status()
data = response.json() if response.content else NoneParâmetros
| Nome | Local | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
pipeline | query | integer | Não | Número sequencial do funil dentro do workspace. |
stageId | query | string | Não | — |
returning | query | boolean | Não | — |
createdFrom | query | string | Não | yyyy-MM-dd |
createdTo | query | string | Não | yyyy-MM-dd |
source | query | string | Não | Slug da origem do negócio, por exemplo, manual ou whatsapp. |
responsibleUserIds | query | array de string | Não | Pode ser repetido ou informado como lista separada por vírgulas. |
tagIds | query | array de string | Não | Pode ser repetido ou informado como lista separada por vírgulas. |
search | query | string | Não | Busca por negócio, contato ou telefone. |
limit | query | integer | Não | — |
cursor | query | string | Não | Cursor opaco retornado pela página anterior. |
customFields[slug] | query | string | Não | Filtra pelo valor de um campo personalizado, usando o slug: customFields[budget]=high. O valor reservado __empty__ inclui negócios sem preenchimento (campo ausente, nulo, texto vazio ou lista vazia). Pode ser combinado com outros valores, usando a regra OU. |
status | query | array de string | Não | Situações do negócio. Repita o parâmetro ou separe os valores por vírgula. Omitido: todas as situações. |
customFieldRanges[slug][from] | query | string | Não | Limite inicial do intervalo de um campo de data. Substitua slug pela chave do campo. |
customFieldRanges[slug][to] | query | string | Não | Limite final do intervalo de um campo de data. Combine com o limite inicial ou envie apenas um limite. |
Respostas
200Sucesso
| Campo | Tipo | Descrição |
|---|---|---|
data | object | — |
data.items | array | — |
data.items[].id | string | — |
data.items[].seq | integer | — |
data.items[].name | string | — |
data.items[].value | number | — |
data.items[].currency | string | — |
data.items[].closeProbability | integer | — |
data.items[].source | string | — |
data.items[].status | string | — |
data.items[].isReturning | boolean | — |
data.items[].pipelineId | string | — |
data.items[].stageId | string | — |
data.items[].responsibleUserId | string | — |
data.items[].coOwnerUserId | string | Aceita null. |
data.items[].lostReason | string | Aceita null. |
data.items[].notes | string | Aceita null. |
data.items[].daysInStage | integer | — |
data.items[].tags | array | — |
data.items[].tags[].id | string | — |
data.items[].tags[].name | string | — |
data.items[].tags[].color | string | — |
data.items[].responsible | DealMember | — |
data.items[].responsible.userId | string | — |
data.items[].responsible.name | string | Aceita null. |
data.items[].coOwner | object | Aceita null. |
data.items[].coOwner.userId | string | — |
data.items[].coOwner.name | string | Aceita null. |
data.items[].activeChannels | array | — |
data.items[].lastMessageAt | string | Formato: date-time. Aceita null. |
data.items[].lastMessageText | string | — |
data.items[].replyPending | boolean | — |
data.items[].properties | object | Valores resolvidos dos campos personalizados. |
data.items[].channel | object | Aceita null. |
data.items[].channelOverride | object | Aceita null. |
data.items[].expectedCloseAt | string | Formato: date-time. Aceita null. |
data.items[].stageChangedAt | string | Formato: date-time. |
data.items[].closedAt | string | Formato: date-time. Aceita null. |
data.items[].returnSignaledAt | string | Formato: date-time. Aceita null. |
data.items[].contact | object | Aceita null. |
data.items[].stage | object | Aceita null. |
data.items[].company | object | Aceita null. |
data.items[].createdAt | string | Formato: date-time. |
data.items[].updatedAt | string | Formato: date-time. |
data.items[].tracking | object | Aceita null. |
data.items[].tracking.utmContent | string | Aceita null. |
data.items[].tracking.utmMedium | string | Aceita null. |
data.items[].tracking.utmCampaign | string | Aceita null. |
data.items[].tracking.utmSource | string | Aceita null. |
data.items[].tracking.utmTerm | string | Aceita null. |
data.items[].tracking.utmReferrer | string | Aceita null. |
data.items[].tracking.referrer | string | Aceita null. |
data.items[].tracking.gclientid | string | Aceita null. |
data.items[].tracking.gclid | string | Aceita null. |
data.items[].tracking.fbclid | string | Aceita null. |
data.items[].tracking.metaLeadId | string | Aceita null. |
data.items[].tracking.fbp | string | Aceita null. |
data.items[].tracking.fbc | string | Aceita null. |
data.items[].tracking.clientIpAddress | string | Aceita null. |
data.items[].tracking.clientUserAgent | string | Aceita null. |
data.items[].tracking.ctwaClid | string | Aceita null. |
data.items[].lostFromStage | object | Aceita null. |
data.items[].lostFromStage.id | string | — |
data.items[].lostFromStage.name | string | — |
data.items[].lostFromStage.pipelineId | string | — |
data.items[].taskSummary | object | Resumo de tarefas quando habilitado na configuração do card. Aceita null. |
data.items[].taskSummary.pendingCount | integer | — |
data.items[].taskSummary.overdueCount | integer | — |
data.items[].taskSummary.nextTask | object | Aceita null. |
data.items[].taskSummary.nextTask.id | string | — |
data.items[].taskSummary.nextTask.title | string | — |
data.items[].taskSummary.nextTask.dueAt | string | Formato: date-time. Aceita null. |
data.items[].taskSummary.nextTask.categoryName | string | Aceita null. |
data.items[].taskSummary.nextTask.categoryColor | string | Aceita null. |
data.items[].lastActivity | object | Última atividade quando habilitada na configuração do card. Aceita null. |
data.items[].lastActivity.id | string | — |
data.items[].lastActivity.type | string | — |
data.items[].lastActivity.occurredAt | string | Formato: date-time. |
data.items[].lastActivity.title | string | — |
data.items[].lastActivity.body | string | Aceita null. |
data.items[].lastActivity.meta | object | — |
data.items[].lastActivity.actor | object | Aceita null. |
data.items[].lastActivity.actor.actorType | string | — |
data.items[].lastActivity.actor.userId | string | Aceita null. |
data.items[].lastActivity.actor.userName | string | Aceita null. |
data.items[].lastActivity.actor.userAvatarUrl | string | Aceita null. |
data.items[].lastActivity.actor.automationId | string | Aceita null. |
data.items[].lastActivity.actor.automationName | string | Aceita null. |
data.items[].lastActivity.actor.copilotActionId | string | Aceita null. |
data.items[].lastActivity.actor.apiKeyId | string | Aceita null. |
data.nextCursor | string | Aceita null. |
data.hasMore | boolean | — |
message | string | Aceita null. |
Esquema OpenAPI
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DealListItem"
}
},
"nextCursor": {
"type": "string",
"nullable": true
},
"hasMore": {
"type": "boolean"
}
}
},
"message": {
"type": "string",
"nullable": true
}
}
}401Chave ausente, malformada, desconhecida, revogada ou expirada, ou membro emissor inativo.
| Campo | Tipo | Descrição |
|---|---|---|
error | string | — |
code | string | Valores: BAD_REQUEST, VALIDATION_ERROR, UNAUTHORIZED, FORBIDDEN, FEATURE_DISABLED, NOT_FOUND, CONFLICT, QUOTA_EXCEEDED, UNPROCESSABLE_ENTITY, INTERNAL_ERROR, SERVICE_UNAVAILABLE. |
requestId | string | — |
details | string | Aceita null. |
fieldErrors | array | Aceita null. |
fieldErrors[].field | string | — |
fieldErrors[].message | string | — |
Esquema OpenAPI
{
"type": "object",
"description": "Formato padrão de erro. `details` e `fieldErrors` são omitidos quando ausentes.",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"BAD_REQUEST",
"VALIDATION_ERROR",
"UNAUTHORIZED",
"FORBIDDEN",
"FEATURE_DISABLED",
"NOT_FOUND",
"CONFLICT",
"QUOTA_EXCEEDED",
"UNPROCESSABLE_ENTITY",
"INTERNAL_ERROR",
"SERVICE_UNAVAILABLE"
]
},
"requestId": {
"type": "string"
},
"details": {
"type": "string",
"nullable": true
},
"fieldErrors": {
"type": "array",
"nullable": true,
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
}
},
"required": [
"error",
"code",
"requestId"
]
}429Limite de requisições excedido por workspace ou IP.
| Campo | Tipo | Descrição |
|---|---|---|
error | string | — |
code | string | Valores: BAD_REQUEST, VALIDATION_ERROR, UNAUTHORIZED, FORBIDDEN, FEATURE_DISABLED, NOT_FOUND, CONFLICT, QUOTA_EXCEEDED, UNPROCESSABLE_ENTITY, INTERNAL_ERROR, SERVICE_UNAVAILABLE. |
requestId | string | — |
details | string | Aceita null. |
fieldErrors | array | Aceita null. |
fieldErrors[].field | string | — |
fieldErrors[].message | string | — |
Esquema OpenAPI
{
"type": "object",
"description": "Formato padrão de erro. `details` e `fieldErrors` são omitidos quando ausentes.",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"BAD_REQUEST",
"VALIDATION_ERROR",
"UNAUTHORIZED",
"FORBIDDEN",
"FEATURE_DISABLED",
"NOT_FOUND",
"CONFLICT",
"QUOTA_EXCEEDED",
"UNPROCESSABLE_ENTITY",
"INTERNAL_ERROR",
"SERVICE_UNAVAILABLE"
]
},
"requestId": {
"type": "string"
},
"details": {
"type": "string",
"nullable": true
},
"fieldErrors": {
"type": "array",
"nullable": true,
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
}
},
"required": [
"error",
"code",
"requestId"
]
}