curl --request POST \
--url https://api.dialtu.com/api/v2/public/salesflow/ingest/{input_node_uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"campaign": "spring",
"source": "landing-page"
},
"email": "ana@example.com",
"first_name": "Ana",
"last_name": "García",
"phone_number": "+525512345678",
"update": true
}
'import requests
url = "https://api.dialtu.com/api/v2/public/salesflow/ingest/{input_node_uuid}"
payload = {
"data": {
"campaign": "spring",
"source": "landing-page"
},
"email": "ana@example.com",
"first_name": "Ana",
"last_name": "García",
"phone_number": "+525512345678",
"update": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {campaign: 'spring', source: 'landing-page'},
email: 'ana@example.com',
first_name: 'Ana',
last_name: 'García',
phone_number: '+525512345678',
update: true
})
};
fetch('https://api.dialtu.com/api/v2/public/salesflow/ingest/{input_node_uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"client_id": 123,
"pipeline_id": 123,
"stage_id": 123,
"message": "<string>"
}Ingest a client into a pipeline
Push a lead into a Salesflow pipeline through one of its API input nodes.
The client is looked up by client_id or phone_number and created when
it does not exist yet; it then enters the stage the input node points to.
The input node must be of type API and active. Set update to refresh
the stored contact fields when the client already exists.
curl --request POST \
--url https://api.dialtu.com/api/v2/public/salesflow/ingest/{input_node_uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"campaign": "spring",
"source": "landing-page"
},
"email": "ana@example.com",
"first_name": "Ana",
"last_name": "García",
"phone_number": "+525512345678",
"update": true
}
'import requests
url = "https://api.dialtu.com/api/v2/public/salesflow/ingest/{input_node_uuid}"
payload = {
"data": {
"campaign": "spring",
"source": "landing-page"
},
"email": "ana@example.com",
"first_name": "Ana",
"last_name": "García",
"phone_number": "+525512345678",
"update": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {campaign: 'spring', source: 'landing-page'},
email: 'ana@example.com',
first_name: 'Ana',
last_name: 'García',
phone_number: '+525512345678',
update: true
})
};
fetch('https://api.dialtu.com/api/v2/public/salesflow/ingest/{input_node_uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"client_id": 123,
"pipeline_id": 123,
"stage_id": 123,
"message": "<string>"
}Autorizaciones
API key created in the dashboard under Settings → API Keys. Send it as Authorization: Bearer pk_....
Parámetros de ruta
UUID of the pipeline's API input node. Copy it from the input node's settings in the Salesflow editor.
Cuerpo
Request schema for ingesting a client into a Salesflow pipeline.
ID of an existing client. Either this or phone_number is required.
Phone number, preferably E.164. The client is looked up by it and created when not found.
Given name (used on create, or on update when update=true).
Family name.
Email address.
Company or organization name.
IANA timezone of the contact, e.g. America/Bogota.
Country calling code stored alongside the phone number.
Free-form custom fields, available to agents as prompt variables.
When the client already exists, overwrite its stored fields with the values sent.
Respuesta
OK