Criar oportunidade
/pipelines/{pipeline_id}/opportunitiesCria uma oportunidade (ou um ticket, nos pipelines de suporte) para um contato. Sem stage_id, ela entra na primeira etapa do pipeline. Os IDs vêm de Listar etapas do pipeline, Listar administradores e Listar campos do pipeline. Veja o guia Criar e mover oportunidades no pipeline.
curl -X POST "https://app.nextagsai.com.br/api/pipelines/4001/opportunities" \
-H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contact_id": 123456789,
"title": "Plano Pro anual",
"description": "Quer começar em novembro, com 3 atendentes.",
"stage_id": 4101,
"value": 1500,
"status": "open",
"priority": "high",
"assigned_admins": [
10001
],
"custom_fields": [
{
"id": 3201,
"value": "Anúncio no Instagram"
}
]
}'
const resposta = await fetch('https://app.nextagsai.com.br/api/pipelines/4001/opportunities', {
method: 'POST',
headers: {
'X-ACCESS-TOKEN': process.env.NEXTAGS_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
contact_id: 123456789,
title: 'Plano Pro anual',
description: 'Quer começar em novembro, com 3 atendentes.',
stage_id: 4101,
value: 1500,
status: 'open',
priority: 'high',
assigned_admins: [10001],
custom_fields: [
{
id: 3201,
value: 'Anúncio no Instagram',
},
],
}),
});
const dados = await resposta.json();
console.log(resposta.status, dados);
import os
import requests
resposta = requests.post(
"https://app.nextagsai.com.br/api/pipelines/4001/opportunities",
headers={"X-ACCESS-TOKEN": os.environ["NEXTAGS_API_KEY"]},
json={
"contact_id": 123456789,
"title": "Plano Pro anual",
"description": "Quer começar em novembro, com 3 atendentes.",
"stage_id": 4101,
"value": 1500,
"status": "open",
"priority": "high",
"assigned_admins": [10001],
"custom_fields": [
{
"id": 3201,
"value": "Anúncio no Instagram",
},
],
},
timeout=30,
)
print(resposta.status_code, resposta.json())
<?php
$ch = curl_init('https://app.nextagsai.com.br/api/pipelines/4001/opportunities');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'X-ACCESS-TOKEN: ' . getenv('NEXTAGS_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'contact_id' => 123456789,
'title' => 'Plano Pro anual',
'description' => 'Quer começar em novembro, com 3 atendentes.',
'stage_id' => 4101,
'value' => 1500,
'status' => 'open',
'priority' => 'high',
'assigned_admins' => [10001],
'custom_fields' => [
[
'id' => 3201,
'value' => 'Anúncio no Instagram',
],
],
]),
]);
$dados = json_decode(curl_exec($ch), true);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), PHP_EOL;
print_r($dados);
Autenticação
Mande a chave de API da conta no cabeçalho X-ACCESS-TOKEN de cada chamada. Veja Autenticação com a chave de API.
Parâmetros de caminho
pipeline_idintegerobrigatórioO ID do pipeline (veja Listar pipelines).
Corpo da requisição
JSONContent-Type: application/json
contact_idintegerobrigatórioO ID do contato dono da oportunidade.
titlestringobrigatórioO nome da oportunidade (o Nome da Oportunidade da tela), como "Plano Pro anual".
descriptionstringA descrição (a Descrição da Oportunidade).
stage_idintegerO ID da etapa onde a oportunidade entra. Sem ele, a primeira etapa do pipeline.
valuenumberO Valor da Oportunidade, na moeda da conta. Não é em centavos: 1500 = R$ 1.500,00.
Padrão: 0
statusstringO Estado: open (Aberto), won (Ganho) ou lost (Perdido). Nos pipelines de suporte e nos personalizados, won aparece como Resolvido e lost como Não Resolvido.
Valores: open won lost
Padrão: open
prioritystringA Prioridade: low (Baixa), medium (Média) ou high (Alta).
Valores: low medium high
Padrão: medium
assigned_adminsarray de integerOs Administradores atribuídos: uma lista de IDs de administradores (veja Listar administradores).
Padrão: []
custom_fieldsarray de objectOs valores dos campos do pipeline (veja Listar campos do pipeline). Cada item leva o id ou o name do campo e o value.
custom_fields[].idintegerO ID do campo do pipeline.
custom_fields[].namestringO nome do campo do pipeline, no lugar do id.
custom_fields[].valuestring ou numberO valor do campo: texto ou número, conforme o tipo.
Respostas
A oportunidade criada, em data.
Ver os 16 campos
dataarray de objeto OportunidadeUma lista com a oportunidade criada.
data[].idintegerO ID da oportunidade.
data[].contact_idintegerO ID do contato.
data[].titlestringO nome da oportunidade.
data[].descriptionstringA descrição.
data[].valuenumberO valor, na moeda da conta. Não é em centavos: 1500 = R$ 1.500,00.
data[].statusstringO estado: open (Aberto), won (Ganho; Resolvido nos pipelines de suporte e nos personalizados) ou lost (Perdido; Não Resolvido).
Valores: open won lost
data[].prioritystringA prioridade: low (Baixa), medium (Média) ou high (Alta).
Valores: low medium high
data[].stageobjectA etapa onde a oportunidade está.
data[].stage.idintegerO ID da etapa.
data[].stage.namestringO nome da etapa.
data[].assigned_adminsarray de integerOs IDs dos administradores atribuídos.
data[].created_atstringQuando a oportunidade foi criada, em UTC.
Exemplo: 2026-10-20 14:30:00
data[].created_byintegerO ID do administrador que criou.
data[].updated_atstringA última mudança, em UTC.
Exemplo: 2026-10-22 18:05:00
data[].updated_byintegerO ID do administrador que fez a última mudança.
A chave de API não veio no cabeçalho ou não vale (foi excluída ou está incompleta). Veja Autenticação.
Relacionados
Contatos, fluxos e outros identificadores
Guia que usa este endpointCriar e mover oportunidades no pipeline
Guia que usa este endpointCriar ou mover uma oportunidade do pipeline
Tutorial da Central de AjudaCriar e mover oportunidades pelo fluxo
Tutorial da Central de AjudaListar pipelines
GET /pipelinesConsultar pipeline
GET /pipelines/{pipeline_id}Este conteúdo ajudou?
Obrigado! Sua resposta ajuda a melhorar a central.