ZapyFlow/API documentationopenapi.json

Marketing Campaigns

Campaigns and broadcasts

GET/api/marketing-campaigns

Required scope: campaigns.read

ParameterInRequired
searchqueryno
statusqueryno
channelIdqueryno
pagequeryno
limitqueryno
bash
curl "https://api.zapyflow.com.br/api/marketing-campaigns" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 200 — OK

POST/api/marketing-campaigns

Required scope: campaigns.write

Request body

FieldTypeRequiredConstraints
namestringyesmin 1, max 160
channelIdstringyesmin 1
channelTemplateIdstringyesmin 1
timezonestringnomin 1, max 80
audienceSource"CONTACTS" | "CSV"yes—
stopOnReplybooleanno—
sendIntervalMsintegerno≥ 250, ≤ 60000
bash
curl -X POST "https://api.zapyflow.com.br/api/marketing-campaigns" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 201 — Created

GET/api/marketing-campaigns/{id}

Required scope: campaigns.read

ParameterInRequired
idpathyes
bash
curl "https://api.zapyflow.com.br/api/marketing-campaigns/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 200 — OK

PUT/api/marketing-campaigns/{id}

Required scope: campaigns.write

ParameterInRequired
idpathyes

Request body

FieldTypeRequiredConstraints
namestringyesmin 1, max 160
channelIdstringyesmin 1
channelTemplateIdstringyesmin 1
timezonestringnomin 1, max 80
audienceSource"CONTACTS" | "CSV"yes—
stopOnReplybooleanno—
sendIntervalMsintegerno≥ 250, ≤ 60000
bash
curl -X PUT "https://api.zapyflow.com.br/api/marketing-campaigns/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 200 — OK

PUT/api/marketing-campaigns/{id}/audience

Required scope: campaigns.write

ParameterInRequired
idpathyes

Request body

FieldTypeRequiredConstraints
rowsobject[]yes≤ 10000 items
bash
curl -X PUT "https://api.zapyflow.com.br/api/marketing-campaigns/{id}/audience" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 200 — OK

POST/api/marketing-campaigns/{id}/duplicate

Required scope: campaigns.write

ParameterInRequired
idpathyes
bash
curl -X POST "https://api.zapyflow.com.br/api/marketing-campaigns/{id}/duplicate" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 201 — Created

GET/api/marketing-campaigns/{id}/recipients

Required scope: campaigns.read

ParameterInRequired
searchqueryno
statusqueryno
pagequeryno
limitqueryno
idpathyes
bash
curl "https://api.zapyflow.com.br/api/marketing-campaigns/{id}/recipients" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 200 — OK

GET/api/marketing-campaigns/{id}/report

Required scope: campaigns.read

ParameterInRequired
idpathyes
bash
curl "https://api.zapyflow.com.br/api/marketing-campaigns/{id}/report" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 200 — OK

PUT/api/marketing-campaigns/{id}/variables

Required scope: campaigns.write

ParameterInRequired
idpathyes

Request body

FieldTypeRequiredConstraints
mappingsobject[]yes≤ 50 items
bash
curl -X PUT "https://api.zapyflow.com.br/api/marketing-campaigns/{id}/variables" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 200 — OK

POST/api/marketing-campaigns/audience/contacts

Required scope: campaigns.write

Request body

FieldTypeRequiredConstraints
searchstringnomax 120
channelIdstringnomin 1
tagsstring[]no≤ 20 items
bash
curl -X POST "https://api.zapyflow.com.br/api/marketing-campaigns/audience/contacts" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 200 — OK

POST/api/marketing-campaigns/audience/csv/validate

Required scope: campaigns.write

Request body

FieldTypeRequiredConstraints
csvstringyesmin 1, max 5242880
bash
curl -X POST "https://api.zapyflow.com.br/api/marketing-campaigns/audience/csv/validate" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 200 — OK