APIv3 (New) (3.0.0)
This is our new version of API. We invite you to start using it and give us your feedback
E-goi can be integrated with many environments and programming languages via our REST API. We've created a developer focused portal to give your organization a clear and quick overview of how to integrate with E-goi. The developer portal focuses on scenarios for integration and flow of events. We recommend familiarizing yourself with all of the content in the developer portal, before start using our rest API.
The E-goi APIv3 is served over HTTPS. To ensure data privacy, unencrypted HTTP is not supported.
Request data is passed to the API by POSTing JSON objects to the API endpoints with the appropriate parameters.
BaseURL = api.egoiapp.com
This API supports 5 HTTP methods:
- GET: The HTTP GET method is used to read (or retrieve) a representation of a resource.
- POST: The POST verb is most-often utilized to create new resources.
- PATCH: PATCH is used for modify capabilities. The PATCH request only needs to contain the changes to the resource, not the complete resource
- PUT: PUT is most-often utilized for update capabilities, PUT-ing to a known resource URI with the request body containing the newly-updated representation of the original resource.
- DELETE: DELETE is pretty easy to understand. It is used to delete a resource identified by a URI.
Transport Layer Security (TLS) is a widely used authentication and encryption protocol that establishes a secure communications channel for data-in-transit while ensuring that the client and server can validate one another.
Our API requires TLS 1.2 or TLS 1.3. We recommend TLS 1.3.
TLS 1.3 ciphers
- TLS_AES_256_GCM_SHA384 (0x1302) ECDH x25519 (eq. 3072 bits RSA) FS
- TLS_CHACHA20_POLY1305_SHA256 (0x1303) ECDH x25519 (eq. 3072 bits RSA) FS
- TLS_AES_128_GCM_SHA256 (0x1301) ECDH x25519 (eq. 3072 bits RSA) FS
TLS 1.2 ciphers
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH x25519 (eq. 3072 bits RSA) FS
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH x25519 (eq. 3072 bits RSA) FS
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f) DH 4096 bits FS
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e) DH 4096 bits FS
We use a custom authentication method, you will need a apikey that you can find in your account settings. Below you will see a curl example to get your account information:
#!/bin/bash
curl -X GET 'https://api.egoiapp.com/my-account'
-H 'accept: application/json'
-H 'Apikey:
Here you can see a curl Post example with authentication:
#!/bin/bash
curl -X POST 'http://api.egoiapp.com/tags'
-H 'accept: application/json'
-H 'Apikey:
-H 'Content-Type: application/json'
-d '{name
:Your custom tag
,color
:#FFFFFF
}'
Stream limits are security mesures we have to make sure our API have a fair use policy, for this reason, any request that creates or modifies data (POST, PATCH and PUT) is limited to a maximum of 20MB of content length. If you arrive to this limit in one of your request, you'll receive a HTTP code 413 (Request Entity Too Large) and the request will be ignored. To avoid this error in importation's requests, it's advised the request's division in batches that have each one less than 20MB.
Timeouts set a maximum waiting time on a request's response. Our API, sets a default timeout for each request and when breached, you'll receive an HTTP 408 (Request Timeout) error code. You should take into consideration that response times can vary widely based on the complexity of the request, amount of data being analyzed, and the load on the system and workspace at the time of the query. When dealing with such errors, you should first attempt to reduce the complexity and amount of data under analysis, and only then, if problems are still occurring ask for support.
For all these reasons, the default timeout for each request is 10 Seconds and any request that creates or modifies data (POST, PATCH and PUT) will have a timeout of 60 Seconds. Specific timeouts may exist for specific requests, these can be found in the request's documentation.
A callback is an asynchronous API request that originates from the API server and is sent to the client in response to a previous request sent by that client.
The API will make a POST request to the address defined in the URL with the information regarding the event of interest and share data related to that event.
[Go to callbacks documentation]
Note: Only http or https protocols are supported in the Url parameter.
Get all automations
Returns all automations
Authorizations:
query Parameters
automation_id | integer Reference attribute to automation id |
title | string Reference attribute to title |
created_by | integer Reference attribute to created by |
list_id | integer (ID) >= 1 Example: list_id=1 ID of the list that owns the automation |
status | string Enum: "active" "inactive" Automation status |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "automation_id" Enum: "automation_id" "title" "list_id" "created_by" Reference attribute to order automations |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/automations?automation_id=<integer>&title=<string>&created_by=<integer>&list_id=<integer>&status=<string>&offset=<integer>&limit=10&order=desc&order_by=automation_id' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "automation_id": 1,
- "title": "Example Automation",
- "list_id": 1,
- "status": "active",
- "created_by": 1,
- "allow_multiple_contacts": true,
- "contact_limit": 10,
- "created": "YYYY-MM-DD",
- "updated": "YYYY-MM-DD"
}
]
}
Remove automation
Remove automation information given its ID
Authorizations:
path Parameters
automation_id required | integer (ID) >= 1 Example: 1 ID of the Automation |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/automations/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all Campaigns
Returns all campaigns
Authorizations:
query Parameters
channel | string Enum: "email" "push" "sms" "smart_sms" "voice" "web_push" Channel of the campaign |
campaign_hash | string Hash of the campaign |
list_id | integer ID of the list where the campaign belongs |
status | string Enum: "draft" "canceled" "queued" "paused" "sending" "sent" Status of the campaign |
internal_name | string Internal name of the campaign |
created_by | integer ID of the user who created the campaign |
group_id | integer ID of the group where the campaign belongs |
created_min | string <date-time> (date_time) Example: created_min=YYYY-MM-DD hh:mm:ss Created initial date |
created_max | string <date-time> (date_time) Example: created_max=YYYY-MM-DD hh:mm:ss Created finish |
updated_min | string <date-time> (date_time) Example: updated_min=YYYY-MM-DD hh:mm:ss Updated initial |
updated_max | string <date-time> (date_time) Example: updated_max=YYYY-MM-DD hh:mm:ss Updated finish |
start_date_min | string <date-time> (date_time) Example: start_date_min=YYYY-MM-DD hh:mm:ss Start date initial |
start_date_max | string <date-time> (date_time) Example: start_date_max=YYYY-MM-DD hh:mm:ss Start date finish |
end_date_min | string <date-time> (date_time) Example: end_date_min=YYYY-MM-DD hh:mm:ss End Date initial |
end_date_max | string <date-time> (date_time) Example: end_date_max=YYYY-MM-DD hh:mm:ss End Date finish |
schedule_date_min | string <date-time> (date_time) Example: schedule_date_min=YYYY-MM-DD hh:mm:ss Schedule Date initial |
schedule_date_max | string <date-time> (date_time) Example: schedule_date_max=YYYY-MM-DD hh:mm:ss Schedule Date finish |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 100 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "created" Enum: "list_id" "internal_name" "created_by" "group_id" "created" Reference attribute to order campaigns |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/campaigns?channel=<string>&campaign_hash=<string>&list_id=<integer>&status=<string>&internal_name=<string>&created_by=<integer>&group_id=<integer>&created_min=<dateTime>&created_max=<dateTime>&updated_min=<dateTime>&updated_max=<dateTime>&start_date_min=<dateTime>&start_date_max=<dateTime>&end_date_min=<dateTime>&end_date_max=<dateTime>&schedule_date_min=<dateTime>&schedule_date_max=<dateTime>&offset=<integer>&limit=100&order=desc&order_by=created' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "id": 1,
- "campaign_hash": "string",
- "status": "sent",
- "thumbnail": "//bo29.e-goi.com/recursos/resource_folder/listas/name_image.jpg",
- "channel": "email",
- "internal_name": "your internal name",
- "list_id": 1,
- "title": "subject of campaign",
- "created_by": 1,
- "group_id": 1,
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss",
- "start_date": "YYYY-MM-DD hh:mm:ss",
- "end_date": "YYYY-MM-DD hh:mm:ss",
- "schedule_date": {
- "enabled": true,
- "date": "YYYY-MM-DD hh:mm:ss"
}
}
]
}
Remove Campaign
Remove campaign information given its ID
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/campaigns/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Send email message
Deploys and sends an email message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the 'send email' action
list_id required | integer (ID) >= 1 |
required | object (EmailSendSegment) Send segment schema for email |
notify | Array of integers Array of IDs of the users to notify |
destination_field | string Destination field of this campaign, which must be an email field (email or extra field id). If not sent, defaults to the general email field |
unique_contacts_only | boolean Default: false True to send the campaign only to unique contacts |
object Hour limit to send the campaign |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "segments": {
- "type": "none"
}, - "notify": [
- 0
], - "destination_field": "string",
- "unique_contacts_only": false,
- "limit_hour": {
- "hour_start": "13:00",
- "hour_end": "15:00"
}
}
Response samples
- 200
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new email campaign
Create a new email campaign
Authorizations:
Request Body schema: application/json
Parameters for the Email Campaign
list_id required | integer (ID) >= 1 |
internal_name required | string Campaign internal name |
subject | string Campaign subject. If no value is sent, defaults to 'internal_name' property value |
required | object (Campaign Content) |
sender_id required | integer (ID) >= 1 |
reply_to | integer (ID) >= 1 |
object (Campaign header and footer) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "internal_name": "Campaign internal name",
- "subject": "Campaign subject",
- "content": {
- "type": "html",
- "body": "string",
- "plain_text": "string",
- "snippet": "string"
}, - "sender_id": 1,
- "reply_to": 1,
- "header_footer": {
- "id": 1,
- "header_links": {
- "forward": false,
- "view_web": false,
- "unsubscribe": false,
- "edit": false,
- "social_share": false,
- "facebook_share": false,
- "twitter_share": false
}, - "footer_links": {
- "forward": false,
- "view_web": false,
- "unsubscribe": false,
- "edit": false,
- "social_share": false,
- "facebook_share": false,
- "twitter_share": false
}
}
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 408
- 409
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Update a specific email campaign
Update email campaign
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the Email Campaign
internal_name | string Campaign internal name |
subject | string Campaign subject. If no value is sent, defaults to 'internal_name' property value |
object (Campaign Email Html) | |
sender_id | integer (ID) >= 1 |
reply_to | integer (ID) >= 1 |
object (Campaign header and footer) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "Campaign internal name",
- "subject": "Campaign subject",
- "content": {
- "body": "string",
- "plain_text": "string",
- "snippet": "string"
}, - "sender_id": 1,
- "reply_to": 1,
- "header_footer": {
- "id": 1,
- "header_links": {
- "forward": false,
- "view_web": false,
- "unsubscribe": false,
- "edit": false,
- "social_share": false,
- "facebook_share": false,
- "twitter_share": false
}, - "footer_links": {
- "forward": false,
- "view_web": false,
- "unsubscribe": false,
- "edit": false,
- "social_share": false,
- "facebook_share": false,
- "twitter_share": false
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Enables a rss email campaign
Enables a rss email message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request POST 'api.egoiapp.com/campaigns/email/rss/<string>/actions/enable' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new email rss campaign
Create a new email rss campaign
Authorizations:
Request Body schema: application/json
Parameters for the Email Campaign
list_id required | integer (ID) >= 1 |
internal_name required | string Campaign internal name |
subject | string Campaign subject. If no value is sent, defaults to 'internal_name' property value |
required | object (Campaign Content) |
sender_id required | integer (ID) >= 1 |
reply_to | integer (ID) >= 1 |
object (Campaign header and footer) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "internal_name": "Campaign internal name",
- "subject": "Campaign subject",
- "content": {
- "type": "html",
- "body": "<body>{{FEEDBLOCK:https:\\/\\/example.com\\/?feed=egoi_rssfeed_gcoUFuaaBeAs4tfSY}}{{FEEDITEMS:count=1}}<div class='builder-actions-control selected'><table border='0' cellpadding='0' cellspacing='0' class='email-container' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: auto;' width='600' align='center' data-compile='true'><tbody><tr><td dir='ltr' valign='top' width='100%' bgcolor='#ffffff' style='background-color: rgb(255, 255, 255); padding: 20px;'><table border='0' cellpadding='0' cellspacing='0' class='row' width='100%' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><th class='stack-column-center columns first' valign='top' width='33.333333333333336%' style='font-weight: 400; padding-right: 8px;'><table border='0' cellpadding='0' cellspacing='0' width='100%' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><td dir='ltr' style='padding: 0px;' valign='top'><table border='0' cellpadding='0' cellspacing='0' class='builder-image-control image-6cbc6cd4b0f6c869b1d651e4288caa1c' data-control='image' width='100%' data-compile='true' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><td valign='top' style=''><table border='0' cellpadding='0' cellspacing='0' align='center' width='' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><td style='border: 0px;'><a href='{{FEEDITEM:LINK}}'><img align='center' border='0' class='float-center fluid' style='display: block; margin: 0px auto; height: auto; max-width: 179px; border: 0px !important; outline: none !important; text-decoration: none !important;' src='{{FEEDITEM:IMAGE}}' alt='beanie-768x768' height='179' width='179'><\\/a><\\/td><\\/tr><\\/tbody><\\/table><\\/td><\\/tr><\\/tbody><\\/table><\\/td><\\/tr><\\/tbody><\\/table><\\/th><th class='stack-column-center columns last' valign='top' width='66.66666666666667%' style='font-weight: 400; padding-left: 8px;'><table border='0' cellpadding='0' cellspacing='0' width='100%' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><td dir='ltr' style='padding: 0px;' valign='top'><table data-control='title' width='100%' class='title-641c2ce04833885b026fd1e0f46c2973' id='641c2ce0-4833-885b-026f-d1e0f46c2973' data-compile='true' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><td style=''><p style='font-family: Arial; font-size: 24px; color: rgb(0, 0, 0); line-height: 150%; text-align: left; padding-top: 0px; padding-bottom: 0px; margin: 0px;'>{{FEEDITEM:TITLE}}<\\/p><\\/td><\\/tr><\\/tbody><\\/table><table data-control='paragraph' width='100%' class='paragraph-12fc4dd322cf0a3cd43032e85db67593' id='12fc4dd3-22cf-0a3c-d430-32e85db67593' data-compile='true' style='border-spacing: 0px; border-collapse: collapse; table-layout: fixed; margin: 0px auto;'><tbody><tr><td class='undefined' style=''><p style='font-family: Arial; font-size: 16px; color: rgb(109, 109, 109); line-height: 200%; text-align: left; padding-top: 0px; padding-bottom: 0px; margin: 0px; overflow: hidden;'>{{FEEDITEM:DESCRIPTION}}<\\/p><\\/td><\\/tr><\\/tbody><\\/table><\\/td><\\/tr><\\/tbody><\\/table><\\/th><\\/tr><\\/tbody><\\/table><\\/td><\\/tr><\\/tbody><\\/table><\\/div>{{ENDFEEDITEMS}}{{ENDFEEDBLOCK}}<\\/body>",
- "plain_text": "string",
- "snippet": "string"
}, - "sender_id": 1,
- "reply_to": 1,
- "header_footer": {
- "id": 1,
- "header_links": {
- "forward": false,
- "view_web": false,
- "unsubscribe": false,
- "edit": false,
- "social_share": false,
- "facebook_share": false,
- "twitter_share": false
}, - "footer_links": {
- "forward": false,
- "view_web": false,
- "unsubscribe": false,
- "edit": false,
- "social_share": false,
- "facebook_share": false,
- "twitter_share": false
}
}
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 408
- 409
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Getting started:
To start sending push notifications you simply have to integrate with our server and import our libraries. Follow the link to find out how! https://developers.e-goi.com/push/
Send push message
Deploys and sends a push message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the 'send push' action
app_id required | string (Push App Id) [a-zA-Z0-9_-]* |
required | object (Campaign Segments) |
notify | Array of integers Array of IDs of the users to notify |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "app_id": "string",
- "segments": {
- "type": "none"
}, - "notify": [
- 0
]
}
Response samples
- 202
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new push campaign
Create a new push campaign
Authorizations:
Request Body schema: application/json
Parameters for the push campaign
app_id required | string (Push App Id) [a-zA-Z0-9_-]* |
title required | string Push campaign subject |
required | object (Campaign Content) |
object Actions for push campaign | |
object Push geolocation options | |
object Push notification options |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "app_id": "string",
- "title": "string",
- "content": {
- "type": "text",
- "message": "Campaign message"
}, - "actions": {
- "type": "url",
- "title": "string",
- "link": "string",
- "cancel_label": "string"
}, - "geo_options": {
- "latitude": -180,
- "longitude": -180,
- "range": 0,
- "duration": 0
}, - "notification_options": {
- "icon": "string"
}
}
Response samples
- 201
- 400
- 401
- 403
- 409
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Update a specific push campaign
Update push campaign
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the push campaign
title | string Push campaign subject |
object Campaign content | |
object Actions for push campaign | |
object Push geolocation options | |
object Push notification options |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "string",
- "content": {
- "message": "Campaign message"
}, - "actions": {
- "type": "url",
- "title": "string",
- "link": "string",
- "cancel_label": "string"
}, - "geo_options": {
- "latitude": -180,
- "longitude": -180,
- "range": 0
}, - "notification_options": {
- "icon": "string"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Get all Push applications from E-goi
Get all Push applications from E-goi
Authorizations:
query Parameters
list_id | integer ID of the list to search for. |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/push/apps?list_id=<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 408
- 422
- 500
- 503
[- {
- "app_id": "string",
- "list": {
- "id": 0,
- "internal_name": "string"
}, - "name": "string",
- "description": "string",
- "two_steps_config": "string",
- "development": true,
- "created": "string",
- "updated": "string"
}
]
Get a Push application from E-goi
Get a Push application from E-goi
Authorizations:
path Parameters
app_id required | string ID of the E-goi push app. |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/push/apps/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 408
- 422
- 500
- 503
{- "app_id": "string",
- "list": {
- "id": 0,
- "internal_name": "string"
}, - "name": "string",
- "description": "string",
- "two_steps_config": "string",
- "development": true,
- "created": "string",
- "updated": "string"
}
Registers an event from the push notification.
Registers a Firebase token
Authorizations:
path Parameters
app_id required | string ID of the E-goi push app. |
Request Body schema: application/json
Parameters for the event
os required | string The OS of the device. |
contact required | string The UID of the contact. |
message_hash required | string The hash of the campaign related to the notification. |
mailing_id | integer The id of the campaign operation related to the notification. |
event required | string The event to register (open, canceled). |
device_id required | integer The E-goi's ID of the device. |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "os": "string",
- "contact": "string",
- "message_hash": "string",
- "mailing_id": 0,
- "event": "string",
- "device_id": 0
}
Response samples
- 202
- 401
- 408
- 422
- 500
- 503
{- "success": true
}
Registers a Firebase token
Registers a Firebase token
Authorizations:
path Parameters
app_id required | string ID of the E-goi push app. |
Request Body schema: application/json
Parameters for the token
os required | string The OS of the device. |
token required | string The Firebase token. |
object The data to register the token with. |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "os": "string",
- "token": "string",
- "two_steps_data": {
- "field": "string",
- "value": "string"
}
}
Response samples
- 202
- 401
- 408
- 422
- 500
- 503
{- "success": true
}
Send sms message
Deploys and sends an sms message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the 'send sms' action
list_id required | integer (ID) >= 1 |
destination_field required | string SMS campaign destination field. Must be 'cellphone' or the other field ID of type cellphone |
required | object (Campaign Segments) |
notify | Array of integers Array of IDs of the users to notify |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "destination_field": "cellphone",
- "segments": {
- "type": "none"
}, - "notify": [
- 0
]
}
Response samples
- 202
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new sms campaign
Create a new sms campaign
Authorizations:
Request Body schema: application/json
Parameters for the Sms Campaign
list_id required | integer (ID) >= 1 |
internal_name required | string SMS campaign internal name |
required | object (Campaign Content) |
sender_id | integer (ID) >= 1 |
object (Campaign Options) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "internal_name": "Internal Title",
- "content": {
- "type": "text",
- "message": "Campaign message"
}, - "sender_id": 1,
- "options": {
- "encoding": "gsm",
- "max_messages": 5
}
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Update a specific sms campaign
Update sms campaign
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the Sms Campaign
internal_name | string SMS campaign internal name |
object | |
sender_id | integer (ID) >= 1 |
object (Campaign Options) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "Internal Title",
- "content": {
- "message": "Campaign message"
}, - "sender_id": 1,
- "options": {
- "encoding": "gsm",
- "max_messages": 5
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Send smart sms message
Deploys and sends a smart sms message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the 'send sms' action
list_id required | integer (ID) >= 1 |
destination_field required | string SMS campaign destination field. Must be 'cellphone' or the other field ID of type cellphone |
required | object (Campaign Segments) |
notify | Array of integers Array of IDs of the users to notify |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "destination_field": "cellphone",
- "segments": {
- "type": "none"
}, - "notify": [
- 0
]
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new smart sms campaign
Creates a new smart sms campaign. DISCLAIMER: A URL will be added at the end of your SMS
Authorizations:
Request Body schema: application/json
Parameters for the Smart Sms Campaign
list_id required | integer (ID) >= 1 |
internal_name required | string Smart SMS campaign internal name |
required | object |
required | object (Campaign page content) |
sender_id | integer (ID) >= 1 |
cname_id | integer (ID) >= 1 |
object (Campaign Options) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "internal_name": "Internal Name",
- "campaign_content": {
- "message": "string"
}, - "page_content": {
- "type": "redirect",
- "page_url": "string"
}, - "sender_id": 1,
- "cname_id": 1,
- "options": {
- "encoding": "gsm",
- "max_messages": 5
}
}
Response samples
- 201
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Update a specific smart sms campaign
Update smart sms campaign
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the Smart Sms Campaign
internal_name | string SMS campaign internal name |
object | |
object | |
sender_id | integer (ID) >= 1 |
cname_id | integer (ID) >= 1 |
object (Campaign Options) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "Internal Title",
- "campaign_content": {
- "message": "string"
}, - "page_content": {
- "page_url": "string",
- "page_html": "string",
- "page_internal_name": "string"
}, - "sender_id": 1,
- "cname_id": 1,
- "options": {
- "encoding": "gsm",
- "max_messages": 5
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Send voice message
Deploys and sends an voice message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the 'send voice' action
list_id required | integer (ID) >= 1 |
destination_field required | string Enum: "phone" "cellphone" "phone_failsafe_cellphone" "cellphone_failsafe_phone" "cellphone_phone" Destination field of this campaign |
unique_contacts_only | boolean Default: false True to send the campaign only to unique contacts |
required | object (Campaign Segments) |
notify | Array of integers Array of IDs of the users to notify |
object (Limit Contacts Object) Object of contact limit | |
object Hour limit to send the campaign | |
limit_speed | integer [ 1 .. 10 ] Speed limit to send the campaign |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "schedule_date": "2019-04-01 12:30:23",
- "list_id": 1,
- "segments": {
- "type": "none"
}, - "notify": [
- 0
], - "destination_field": "cellphone",
- "unique_contacts_only": true,
- "limit_contacts": {
- "type": "percent",
- "value": 10
}, - "limit_hour": {
- "hour_start": "01:00",
- "hour_end": "04:00"
}, - "limit_speed": 1
}
Response samples
- 200
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new voice campaign
Create a new voice campaign
Authorizations:
Request Body schema: application/json
Parameters for the Voice Campaign
internal_name required | string Voice campaign internal name |
list_id required | integer (ID) >= 1 |
group_id | integer (ID) >= 1 |
required | object (Content) Content schema |
sender_id required | integer (ID) >= 1 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "string",
- "list_id": 1,
- "group_id": 1,
- "content": {
- "type": "template_id",
- "template_id": 1
}, - "sender_id": 1
}
Response samples
- 201
- 400
- 401
- 403
- 409
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Update a specific voice campaign
Update a voice campaign
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the Voice Campaign
internal_name | string Voice campaign internal name |
group_id | integer (ID) >= 1 |
object (Content) Content schema | |
sender_id | integer (ID) >= 1 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "string",
- "group_id": 1,
- "message": {
- "audio": "string"
}, - "sender_id": 1
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Send webpush message
Deploys and sends a webpush message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the 'send web-push' action
site_id required | integer (ID) >= 1 |
required | object (Campaign Segments) |
notify | Array of integers Array of IDs of the users to notify |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "site_id": 1,
- "segments": {
- "type": "none"
}, - "notify": [
- 0
]
}
Response samples
- 202
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new webpush campaign
Create a new webpush campaign
Authorizations:
Request Body schema: application/json
Parameters for the webpush campaign
site_id required | integer (ID) >= 1 |
internal_name required | string Webpush campaign internal title |
required | object (Campaign Content) |
Array of objects (Webpush actions) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "site_id": 1,
- "internal_name": "string",
- "content": {
- "title": "string",
- "message": "Campaign message",
- "link": "string",
- "icon": "string"
}, - "actions": [
- {
- "title": "string",
- "link": "string"
}
]
}
Response samples
- 201
- 400
- 401
- 403
- 409
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Update a specific webpush campaign
Update a webpush campaign
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Request Body schema: application/json
Parameters for the Webpush Campaign
internal_name | string Webpush campaign internal title |
object (Campaign Content) | |
Array of objects (Webpush actions) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "string",
- "content": {
- "title": "string",
- "message": "Campaign message",
- "link": "string",
- "icon": "string"
}, - "actions": [
- {
- "title": "string",
- "link": "string"
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Enable a rss webpush campaign
Enable rss webpush message
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request POST 'api.egoiapp.com/campaigns/webpush/rss/<string>/actions/enable' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Create new webpush rss campaign
Create a new webpush rss campaign
Authorizations:
Request Body schema: application/json
Parameters for the WebPush Campaign
site_id required | integer (ID) >= 1 |
internal_name required | string Webpush campaign internal title |
required | object (Campaign Content) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "site_id": 1,
- "internal_name": "string",
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 408
- 409
- 422
- 429
- 500
- 503
{- "campaign_hash": "string"
}
Get all webpush sites
Returns all wepush's sites
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "list_id" Enum: "list_id" "created" "updated" Reference attribute to order sites |
list_id | integer (ID) >= 1 Example: list_id=1 Select sites referenced to a list |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/webpush/sites?offset=<integer>&limit=10&order=desc&order_by=list_id&list_id=<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "site_id": 1,
- "site": "string",
- "list_id": 1,
- "app_code": "7b89dfsb9a6ab6fbsfbasbd6f6",
- "name": "string"
}
]
}
Creates a webpush site
Create a new webpush site
Authorizations:
Request Body schema: application/json
Parameters for the webpush site
site required | string Webpush site |
list_id required | integer (ID) >= 1 |
name required | string Webpush name |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "site": "string",
- "list_id": 1,
- "name": "string"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 500
{- "site_id": 1,
- "site": "string",
- "list_id": 1,
- "app_code": "7b89dfsb9a6ab6fbsfbasbd6f6",
- "name": "string"
}
Get all campaign groups
Returns all campaign groups
Authorizations:
query Parameters
group_id | integer (ID) >= 1 Example: group_id=1 Reference attribute to campaign group id |
name | string Reference attribute to campaign group id |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
offset | integer >= 0 Element offset (starting at zero for the first element) |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/campaign-groups?group_id=<integer>&name=<string>&limit=10&offset=<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "group_id": 1,
- "name": "Your custom campaign group"
}
]
}
Create new campaign group
Create a new campaign group
Authorizations:
Request Body schema: application/json
Parameters for the Campaign Group
name required | string Name of the campaign group |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "Your custom campaign group"
}
Response samples
- 201
- 400
- 401
- 403
- 409
- 422
- 429
- 500
- 503
{- "group_id": 1,
- "name": "Your custom campaign group"
}
Update a specific campaign group
Update a campaign group
Authorizations:
path Parameters
group_id required | integer (ID) >= 1 Example: 1 ID of the Campaign Group |
Request Body schema: application/json
Parameters for the Campaign Group
name required | string Name of the campaign group |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "Your custom campaign group"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "group_id": 1,
- "name": "Your custom campaign group"
}
Remove Campaign Group
Remove campaign group information given its ID
Authorizations:
path Parameters
group_id required | integer (ID) >= 1 Example: 1 ID of the Campaign Group |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/campaign-groups/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Create cart
Creates a new cart. If contact_id is specified, order will be atached to the contact, if the contact propreties are specified, we'll create the user, if its already in your list it will get the correct contact (make sure you are sending atleast all configured list's unique fields). This same logic is also applied to the product_identifier.
Authorizations:
path Parameters
domain required | string Domain |
Request Body schema: application/json
Parameters for the Carts
cart_id | string Cart ID is any non-empty unique string |
cart_total | number <double> Ecommerce cart total |
object (Contact) Contact | |
Array of objects (Product) List of products |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "cart_id": "cart1",
- "cart_total": 1,
- "contact": {
- "base": {
- "contact_id": "8f3a27ef26",
- "status": "active",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "cellphone": "351-300404336",
- "phone": "351-300404336",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
]
}, - "products": [
- {
- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
]
}
Response samples
- 202
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/catalogs' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "catalog_id": 1,
- "title": "Catalog title",
- "language": "en",
- "currency": "eur",
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
]
}
Create new catalog
Creates a new catalog
Authorizations:
Request Body schema: application/json
Parameters for the Catalog
title required | string Title of the catalog |
language required | string Language of the catalog |
currency required | string Currency of the catalog |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Catalog title",
- "language": "en",
- "currency": "eur"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "catalog_id": 1,
- "title": "Catalog title",
- "language": "en",
- "currency": "eur",
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
Remove catalog
Remove catalog information given its ID
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/catalogs/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Create order
Creates a new order. If contact_id is specified, order will be atached to the contact, if the contact propreties are specified, we'll create the user, if its already in your list it will get the correct contact (make sure you are sending atleast all configured list's unique fields). This same logic is also applied to the product_identifier.
Authorizations:
path Parameters
domain required | string Domain |
Request Body schema: application/json
Parameters for the Orders
order_total | number <double> Ecommerce cart total |
order_id required | string Order ID is any non-empty unique string |
cart_id | string Cart ID that originated this order |
object (Contact) Contact | |
Array of objects (Product) List of products |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "order_total": 1,
- "order_id": "100",
- "cart_id": "cart1",
- "contact": {
- "base": {
- "contact_id": "8f3a27ef26",
- "status": "active",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "cellphone": "351-300404336",
- "phone": "351-300404336",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
]
}, - "products": [
- {
- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
]
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 413
- 422
- 429
- 500
- 503
{- "result": "success"
}
Import products
Imports a collection of products DISCLAIMER: stream limits applied. view here
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
Request Body schema: application/json
Parameters for the Product
required | Array of objects (Product) Collection of products to import. Products having an incorrect format will be ignored |
mode | string Default: "update" Enum: "rewrite" "add" "update" How the import will be processed:
|
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "products": [
- {
- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
], - "mode": "rewrite"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 413
- 422
- 429
- 500
- 503
{- "result": "success"
}
Get all products
Returns all products for the given catalog
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
query Parameters
product_identifier | string[a-zA-Z0-9\_\-.] Filter by product ID in your store |
name | string Filter by name of the product |
description | string Filter by description of the product |
sku | string Filter by Stock Keeping Unit |
upc | string Filter by Universal Product Code |
ean | string Filter by European Article Numbering |
gtin | string Filter by Global Trade Item Number |
mpn | string Filter by Manufacturer Part Number |
price | number Filter by price of the product |
sale_price | number Filter by sale price of the product |
brand | string Filter by brand of the product |
object Filter by custom attributes of products Example: 'custom_attributes[alias]=value'
| |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/catalogs/<integer>/products?product_identifier=<string>&name=<string>&description=<string>&sku=<string>&upc=<string>&ean=<string>>in=<string>&mpn=<string>&price=<number>&sale_price=<number>&brand=<string>&custom_attributes[alias]=<string>&custom_attributes[other_alias]=<string>&offset=<integer>&limit=10' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "catalog_id": 1,
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
]
}
Create new product
Creates a new product
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
Request Body schema: application/json
Parameters for the Product
categories | Array of strings Array of product categories, using the character '>' as delimiter for the breadcrumb syntax |
related_products | Array of strings Related products, array of 'product_identifier' |
Array of objects (Product Custom Attributes) Custom attributes | |
product_identifier required | string[a-zA-Z0-9\_\-.] The ID of the product in your store |
name required | string Name of the product |
description | string Description of the product |
sku | string Stock Keeping Unit |
upc | string Universal Product Code |
ean | string European Article Numbering |
gtin | string Global Trade Item Number |
mpn | string Manufacturer Part Number |
link | string Link for the product |
image_link | string Link for the product image |
price | number <double> Default: 0 Price of the product |
sale_price | number <double> Default: 0 Sale price of the product |
brand | string Brand of the product |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "catalog_id": 1,
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
Get product
Returns product information given its ID
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
product_identifier required | string[a-zA-Z0-9\_\-.] ID of the Product |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/catalogs/<integer>/products/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "catalog_id": 1,
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
Remove product
Remove product information given its ID
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
product_identifier required | string[a-zA-Z0-9\_\-.] ID of the Product |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/catalogs/<integer>/products/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Update product
Updates a product
Authorizations:
path Parameters
catalog_id required | integer (ID) >= 1 Example: 1 ID of the Catalog |
product_identifier required | string[a-zA-Z0-9\_\-.] ID of the Product |
Request Body schema: application/json
Parameters for the product
name | string Name of the product |
description | string Description of the product |
sku | string Stock Keeping Unit |
upc | string Universal Product Code |
ean | string European Article Numbering |
gtin | string Global Trade Item Number |
mpn | string Manufacturer Part Number |
link | string Link for the product |
image_link | string Link for the product image |
price | number <double> Default: 0 Price of the product |
sale_price | number <double> Default: 0 Sale price of the product |
brand | string Brand of the product |
categories | Array of strings Array of product categories, using the character '>' as delimiter for the breadcrumb syntax |
related_products | Array of strings Related products, array of 'product_identifier' |
Array of objects (Product Custom Attributes) Custom attributes |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string",
- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "categories": [
- "Clothing>Women>Blue Jeans"
], - "related_products": [
- "string"
], - "custom_attributes": [
- {
- "alias": "sale_price_5",
- "value": "15.45"
}
], - "product_identifier": "string",
- "catalog_id": 1,
- "name": "Product name",
- "description": "Product description",
- "sku": "string",
- "upc": "string",
- "ean": "string",
- "gtin": "string",
- "mpn": "string",
- "link": "string",
- "image_link": "string",
- "price": 10,
- "sale_price": 10,
- "brand": "string"
}
Orders import bulk request
Creates new bulk orders syncronization DISCLAIMER: stream limits applied. view here
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the Orders
order_id required | string Ecommerce order id |
contact_id | string Contact ID is any non-empty unique string identifying the user (such as an email address or e-goi uid) |
revenue required | number >= 0 Ecommerce order revenue |
store_url required | string Ecommerce store url |
date required | string <date-time> (date_time) Ecommerce order date (For technical reasons, all orders synchronized will have the date of synchronization.) |
required | Array of objects (Contact) Array of ordered products |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
[- {
- "order_id": "100",
- "contact_id": "customer@e-goi.com",
- "revenue": 100,
- "date": "YYYY-MM-DD hh:mm:ss",
- "items": [
- {
- "id": "100",
- "name": "Product 1",
- "category": "10",
- "price": 100,
- "quantity": 2
}
]
}
]
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
- 503
{- "result": "success"
}
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/trackengage/domains' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "domain": "e-goi.com",
- "list_id": 1,
- "status": "active"
}
]
}
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/trackengage/goals' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "domain": "www.e-goi.com",
- "name": "Button click",
- "id": 1,
- "config": {
- "type": "manual",
- "multiple_conversion": true
}
}
]
}
Get all Connected Sites
Returns all domains usable in Connected Sites
Authorizations:
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/connectedsites' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "domain": "e-goi.com",
- "list_id": 1
}
]
}
Creates a Connected Site
Creates a domain usable in Connected Sites
Authorizations:
Request Body schema: application/json
Parameters for new Connected Site
domain | string Domain |
list_id | string List id |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "domain": "e-goi.com",
- "list_id": 1
}
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "domain": "e-goi.com",
- "list_id": 1,
- "code": "<script type='text/javascript'>var x=y;</script>",
- "features": [
- {
- "track_and_engage": {
- "enabled": true
}, - "on_site_message": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1
}
]
}, - "popup_forms": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1
}
]
}, - "whatsapp": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1
}
]
}, - "web_push": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Web push Internal Name",
- "site_id": 1,
- "app_code": "7b89dfsb9a6ab6fbsfbasbd6f6"
}
]
}, - "embed_forms": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1,
- "form_hash": "2Ve45e1bKZ"
}
]
}
}
]
}
Get a Connected Site
Returns domain info in Connected Sites
Authorizations:
path Parameters
domain required | string Domain |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/connectedsites/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "domain": "e-goi.com",
- "list_id": 1,
- "code": "<script type='text/javascript'>var x=y;</script>",
- "features": [
- {
- "track_and_engage": {
- "enabled": true
}, - "on_site_message": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1
}
]
}, - "popup_forms": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1
}
]
}, - "whatsapp": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1
}
]
}, - "web_push": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Web push Internal Name",
- "site_id": 1,
- "app_code": "7b89dfsb9a6ab6fbsfbasbd6f6"
}
]
}, - "embed_forms": {
- "enabled": true,
- "items": [
- {
- "internal_name": "Form Internal Name",
- "form_id": 1,
- "form_hash": "2Ve45e1bKZ"
}
]
}
}
]
}
Deletes a Connected Site
Deletes a domain from Connected Sites
Authorizations:
path Parameters
domain required | string Domain |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/connectedsites/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Activate contacts
Activates a collection of contacts (does not apply to removed contacts)
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the request
type | string Activates the contacts in the whole list (excluding removed contacts) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "type": "all"
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Attach tag to contact
Attaches a tag to the provided contacts.
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the Tag
contacts required | Array of strings (Contact ID) non-empty unique Array of contact IDs to attach the tag |
tag_id required | integer (ID) >= 1 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "contacts": [
- "8f3a27ef26"
], - "tag_id": 1
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Deactivate contacts
Deactivates a collection of contacts (does not apply to removed contacts)
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the request
type | string Deactivates the contacts in the whole list (excluding removed contacts) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "type": "all"
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Detach tag to contact
Detach a tag to the provided contacts
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the Tag
contacts required | Array of strings (Contact ID) non-empty unique Array of contact IDs to dettach the tag |
tag_id required | integer (ID) >= 1 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "contacts": [
- "8f3a27ef26"
], - "tag_id": 1
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Exports a list of contacts
Exports a list of contacts to the desired callback url
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for export
format required | string Enum: "csv" "xml" File extension to export contacts |
callback_url | string <uri> Url to receive the callback [Go to callback documentation] |
segments | Array of strings Array of segment IDs to filter contacts to export. Note: segments of type auto and tag are not yet supported but they are expected to be supported soon! |
fields | Array of strings Array of field IDs to be displayed in the exported file |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "format": "csv",
- "segments": [
- "string"
], - "fields": [
- "string"
]
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Forget contacts
Forgets a list of contacts
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the action
contacts required | Array of strings (Contact ID) non-empty unique Array of contact IDs to forget (Max: 1000) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "contacts": [
- "8f3a27ef26"
]
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Import collection of contacts
Imports a collection of contacts
DISCLAIMER: stream limits applied. view here
Notes:
Minimum of 2 contacts to use this method. Use Create new contact method instead
It defaults to Bulk object import.
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the bulk import
mode required | string Enum: "add" "update" "update_only" Add new contacts only ('add'), add and replace existing ones ('update') or only replace existing ones ('update_only') |
compare_field required | string Field ID which will be mapped for comparison to prevent duplicates. Field must be set as unique in E-goi. |
required | Array of objects (ContactBulk) Array of contacts to import |
force_empty | boolean Default: false If 'true' accepts empty values and erases those fields |
notify | Array of integers Array of IDs of the users to notify |
callback_url | string Url to receive the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "mode": "add",
- "compare_field": "email",
- "contacts": [
- {
- "base": {
- "status": "active",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "cellphone": "351-300404336",
- "phone": "351-300404336",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
], - "utm": {
- "utm_source": "source",
- "utm_medium": "medium",
- "utm_campaign": "campaign",
- "utm_content": "content",
- "utm_term": "term"
}, - "referrer": {
- "referrer": "referrer"
}
}
], - "force_empty": false,
- "notify": [
- 0
], - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 409
- 413
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{- "imported": 100,
- "updated": 10,
- "ignored": 5,
- "invalid": 1,
- "file": "example.com"
}
Unsubscribes contacts
Unsubscribes contacts
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the contact to unsubscribe
Array of objects (RequestItemsUnsubscribe) |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "data": [
- {
- "contact_id": "8f3a27ef26",
- "unsubscription_method": "manual",
- "unsubscription_reason": "not_interested",
- "unsubscription_observation": "string"
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "success": [
- "8f3a27ef26"
], - "errors": {
- "invalid_unsubscription_reason": [
- "cbb0077994",
- "be9715c108",
- "649a15f483"
], - "invalid_unsubscription_method": [
- "732711d708",
- "ba5b2b14aa"
], - "invalid_data_type": [
- "44fc463242"
], - "contact_not_in_list": [
- "a47a947e2b"
], - "contact_already_removed": [
- "a41a247e21"
]
}
}
Start automation
Start automation to the provided contacts
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the operation to start automation
automation_id required | integer (ID) >= 1 |
action_id required | integer (ID) >= 1 |
contacts required | Array of strings (Contact ID) Array of contact IDs to start automation |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "automation_id": 1,
- "action_id": 1,
- "contacts": [
- "8f3a27ef26",
- "aa3b21ef1a",
- "7a5b21ca17"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "automation_id": 1,
- "action_id": 1,
- "success": [
- "8f3a27ef26",
- "7a5b21ca17"
], - "error": {
- "already_in_queue": [
- "aa3b21ef1a"
]
}
}
Updates contacts
Updates a collection of contacts (does not apply to removed contacts).
Note that all contacts will be updated with the same values and the existance of unique fields in the payload will trigger a 409 Conflict response.
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the request
type required | string Value: "contacts" Updates the provided contacts (excluding removed contacts) |
contacts required | Array of strings (Update Contacts Request) non-empty unique Array of contact IDs to update |
object Contact base fields | |
Array of ContactExtraFieldDate (object) or ContactExtraFieldText (object) or ContactExtraFieldCellphone (object) or ContactExtraFieldPhone (object) or ContactExtraFieldNumber (object) or ContactExtraFieldEmail (object) or ContactExtraFieldOptions (object) (ContactExtraFields) Array of the contact's extra fields |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "type": "contacts",
- "contacts": [
- "8f3a27ef26"
], - "base": {
- "status": "active",
- "consent": "any",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "email_status": "active",
- "cellphone": "351-300404336",
- "cellphone_status": "active",
- "phone": "351-300404336",
- "phone_status": "active"
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
]
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 409
- 422
- 429
- 500
- 503
{- "result": "success"
}
Get all contact activities
Returns all contact activities
Authorizations:
path Parameters
contact_id required | string (Contact ID) [a-fA-F\d]{10} ID of the Contact |
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
date_min | string <date-time> (date_time) Example: date_min=YYYY-MM-DD hh:mm:ss Start date |
date_max | string <date-time> (date_time) Example: date_max=YYYY-MM-DD hh:mm:ss End date |
action_name | string Enum: "email_open" "email_click" "forward" "conversion" "email_send" "sms_send" "voice_send" "mms_send" "sms_report" "voice_report" "invitation_send" "invitation_open" "mms_open" "unsubscribe" "email_soft_bounce" "email_hard_bounce" "subscription" "resubscription" "unsubscribe_reason" "facebook_like" "social_share" "unsubscribe_manual" "double_optin" "double_optin_resend" "email_spam_complaint" "email_field_disable" "cellphone_field_disable" "phone_field_disable" "unsubscribe_api" "email_field_enable" "cellphone_field_enable" "phone_field_enable" "edit_subscription" "double_optedit" "automation_event" "push_send" "push_open" "push_click" "push_received" "push_error" "push_canceled" "reply_to_email" "web_push_send" "web_push_delivered" "web_push_open" "web_push_bounce" "web_push_click" "web_push_subscription" "web_push_unsubscription" "add_push_contact" "remove_push_contact" "forget_subscription" "change_consent" "push_unsubscription" "voice_menu_event" "voice_redirect" "automation_action" "automation_trigger" "push_delivered" "attach_tag" "detach_tag" "smart_sms_send" "smart_sms_open" "smart_sms_click" "smart_sms_report" Action data to return |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/contacts/<string>/activities?offset=<integer>&limit=10&date_min=<dateTime>&date_max=<dateTime>&action_name=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "items": [
- {
- "action_data": {
- "campaign_hash": "97b5a6cecf",
- "url": "example.com"
}, - "date": "YYYY-MM-DD hh:mm:ss",
- "action_name": "email_click"
}
]
}
Updates a contact by field
Updates a contact by field, wich must be unique in list
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the list where the contact belongs |
Request Body schema: application/json
Parameters for the Contact Update by Field Id
object Contact compare fields | |
object Contact base fields | |
Array of ContactExtraFieldDate (object) or ContactExtraFieldText (object) or ContactExtraFieldCellphone (object) or ContactExtraFieldPhone (object) or ContactExtraFieldNumber (object) or ContactExtraFieldEmail (object) or ContactExtraFieldOptions (object) (ContactExtraFields) Array of the contact's extra fields |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "compare_field": {
- "field_id": "email",
- "value": "example@e-goi.com"
}, - "base": {
- "status": "active",
- "consent": "any",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "email_status": "active",
- "cellphone": "351-300404336",
- "cellphone_status": "active",
- "phone": "351-300404336",
- "phone_status": "active",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
]
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "contact_id": "8f3a27ef26"
}
Get all contacts
Returns all contacts
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
first_name | string First name of the contacts to return |
last_name | string Last name of the contacts to return |
string Email of the contacts to return | |
email_status | boolean EmailStatus of the contacts to return |
cellphone | string Cellphone of the contacts to return |
cellphone_status | boolean CellphoneStatus of the contacts to return |
phone | string Phone of the contacts to return |
phone_status | boolean PhoneStatus of the contacts to return |
birth_date | date Birth date of the contacts to return |
language | string Enum: "pt" "en" "es" "br" "fr" "de" Language date of the contacts to return |
object Extra field of contacts Example: 'extra_field_id[field_id]=value'
|
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/contacts?offset=<integer>&limit=10&first_name=<string>&last_name=<string>&email=<string>&email_status=<boolean>&cellphone=<string>&cellphone_status=<boolean>&phone=<string>&phone_status=<boolean>&birth_date=<date>&language=<string>&extra_field_id={"field_id":"<string>","other_field_id":"<string>"}' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "base": {
- "contact_id": "8f3a27ef26",
- "status": "active",
- "consent": "any",
- "consent_date": "2019-01-01 00:00:00",
- "subscription_method": "manual",
- "subscription_date": "2019-01-01 00:00:00",
- "subscription_form": 0,
- "unsubscription_method": "manual",
- "unsubscription_reason": "not_interested",
- "unsubscription_observation": "",
- "unsubscription_date": "0000-00-00 00:00:00",
- "change_date": "0000-00-00 00:00:00",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "email_status": "active",
- "cellphone": "351-300404336",
- "cellphone_status": "active",
- "phone": "351-300404336",
- "phone_status": "active",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "format": "date",
- "value": "2019-01-01"
}
], - "tags": [
- 1,
- 2
]
}
]
}
Create new contact
Create a new contact
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the list where the contact belongs |
Request Body schema: application/json
Parameters for the Contact
object Contact base fields | |
Array of ContactExtraFieldDate (object) or ContactExtraFieldText (object) or ContactExtraFieldCellphone (object) or ContactExtraFieldPhone (object) or ContactExtraFieldNumber (object) or ContactExtraFieldEmail (object) or ContactExtraFieldOptions (object) (ContactExtraFields) Array of the contact's extra fields | |
object Contact Urchin Tracking Module (utm) fields | |
object Contact referrer fields | |
object Contact advertising fields |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "base": {
- "status": "active",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "cellphone": "351-300404336",
- "phone": "351-300404336",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
], - "utm": {
- "utm_source": "source",
- "utm_medium": "medium",
- "utm_campaign": "campaign",
- "utm_content": "content",
- "utm_term": "term"
}, - "referrer": {
- "referrer": "referrer"
}, - "advertising": {
- "gclid": "google",
- "msclkid": "microsoft",
- "fbclid": "facebook"
}
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "contact_id": "8f3a27ef26"
}
Update a specific contact
Update contact
Authorizations:
path Parameters
contact_id required | string (Contact ID) [a-fA-F\d]{10} ID of the Contact |
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the contact
object Contact base fields | |
Array of ContactExtraFieldDate (object) or ContactExtraFieldText (object) or ContactExtraFieldCellphone (object) or ContactExtraFieldPhone (object) or ContactExtraFieldNumber (object) or ContactExtraFieldEmail (object) or ContactExtraFieldOptions (object) (ContactExtraFields) Array of the contact's extra fields |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "base": {
- "status": "active",
- "consent": "any",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "email_status": "active",
- "cellphone": "351-300404336",
- "cellphone_status": "active",
- "phone": "351-300404336",
- "phone_status": "active",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "value": "2019-01-01"
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 409
- 422
- 429
- 500
- 503
{- "contact_id": "8f3a27ef26"
}
Get contact
Returns contact information given its ID
Authorizations:
path Parameters
contact_id required | string (Contact ID) [a-fA-F\d]{10} ID of the Contact |
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/contacts/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "base": {
- "contact_id": "8f3a27ef26",
- "status": "active",
- "consent": "any",
- "consent_date": "2019-01-01 00:00:00",
- "subscription_method": "manual",
- "subscription_date": "2019-01-01 00:00:00",
- "subscription_form": 0,
- "unsubscription_method": "manual",
- "unsubscription_reason": "not_interested",
- "unsubscription_observation": "",
- "unsubscription_date": "0000-00-00 00:00:00",
- "change_date": "0000-00-00 00:00:00",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "email_status": "active",
- "cellphone": "351-300404336",
- "cellphone_status": "active",
- "phone": "351-300404336",
- "phone_status": "active",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "format": "date",
- "value": "2019-01-01"
}
], - "tags": [
- 1,
- 2
], - "email_stats": {
- "sent": 20,
- "opens": 2,
- "clicks": 4,
- "soft_bounces": 5,
- "hard_bounces": 5,
- "forwards": 2,
- "conversions": 1,
- "social_actions": 1,
- "last_send_date": "2019-01-01 00:00:00",
- "last_open_date": "2019-01-01 00:00:00",
- "last_click_date": "2019-01-01 00:00:00",
- "last_open_country": "Portugal",
- "last_open_region": "Porto",
- "last_open_city": "Matosinhos"
}, - "sms_stats": {
- "sent": 5,
- "delivered": 5
}, - "push_stats": {
- "sent": 5,
- "delivered": 5,
- "not_delivered": 0,
- "views": 4,
- "clicks": 3,
- "last_view_date": "2019-01-01 00:00:00"
}, - "webpush_stats": {
- "sent": 7,
- "delivered": 7,
- "clicks": 2,
- "bounces": 0,
- "last_send_date": "2019-01-01 00:00:00",
- "last_delivery_date": "2019-01-01 00:00:00",
- "last_click_date": "2019-01-01 00:00:00",
- "last_bounce_date": "2019-01-01 00:00:00"
}, - "voice_stats": {
- "sent": 20,
- "answered": 10
}, - "traffic_stats": {
- "utm": {
- "utm_source": "source",
- "utm_medium": "medium",
- "utm_campaign": "campaign",
- "utm_content": "content",
- "utm_term": "term"
}, - "referrer": {
- "referrer": "referrer"
}, - "advertising": {
- "gclid": "gclid",
- "msclkid": "msclkid",
- "fbclid": "fbclid"
}
}
}
Search contact
Searches a contact across all lists and returns a collection of contacts found
Authorizations:
query Parameters
type | string Default: "email" Enum: "email" "cellphone" "phone" Type of contact to search (defaults to 'email') |
contact required | string Contact to search |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/contacts/search?type=email&contact=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "items": [
- {
- "contact_id": "8f3a27ef26",
- "list_id": 1
}
]
}
Get all contacts by Segment Id
Returns all contacts filtered by Segment Id
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
segment_id required | string ID of the Segment |
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
show_removed | boolean (Show removed contacts) Default: false Example: show_removed=true Show removed contacts |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/contacts/segment/<string>?offset=<integer>&limit=10&show_removed=false' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "base": {
- "contact_id": "8f3a27ef26",
- "status": "active",
- "consent": "any",
- "consent_date": "2019-01-01 00:00:00",
- "subscription_method": "manual",
- "subscription_date": "2019-01-01 00:00:00",
- "subscription_form": 0,
- "unsubscription_method": "manual",
- "unsubscription_reason": "not_interested",
- "unsubscription_observation": "",
- "unsubscription_date": "0000-00-00 00:00:00",
- "change_date": "0000-00-00 00:00:00",
- "first_name": "John",
- "last_name": "Doe",
- "birth_date": "1975-01-10",
- "language": "en",
- "email": "example@e-goi.com",
- "email_status": "active",
- "cellphone": "351-300404336",
- "cellphone_status": "active",
- "phone": "351-300404336",
- "phone_status": "active",
- "push_token_android": [
- {
- "app_id": "string",
- "token": "string"
}
], - "push_token_ios": [
- {
- "app_id": "string",
- "token": "string"
}
]
}, - "extra": [
- {
- "field_id": 1,
- "format": "date",
- "value": "2019-01-01"
}
], - "tags": [
- 1,
- 2
]
}
]
}
Update base field
Updates a base field
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | string ID of the base field |
Request Body schema: application/json
Parameters for the extra field
unique | boolean True if the field is unique, false otherwise |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "unique": true
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "field_id": "string",
- "name": "string",
- "format": "date",
- "unique": true
}
Remove extra field
Removes an extra field given its ID
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | integer (ID) >= 1 Example: 1 ID of the Field |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>/fields/extra/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Update extra field
Updates an extra field
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | integer (ID) >= 1 Example: 1 ID of the Field |
Request Body schema: application/json
Parameters for the extra field
name | string Name of the field |
unique | boolean True if the field is unique, false otherwise |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "Field name",
- "unique": true
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "field_id": "string",
- "name": "string",
- "format": "date",
- "unique": true
}
Create extra field
Creates an extra field
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the extra field
name required | string Name of the field |
format required | string Enum: "date" "text" "cellphone" "phone" "number" "email" "options" Field format |
unique | boolean True if the field is unique, false otherwise |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "string",
- "format": "date",
- "unique": true
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "field_id": "string",
- "name": "string",
- "format": "date",
- "unique": true
}
Get all fields
Returns all fields
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/fields?offset=<integer>&limit=10' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
[- {
- "type": "base",
- "options": [
- {
- "option_id": 1,
- "en": "English example",
- "pt": "Portuguese example",
- "br": "Brazilian portuguese example",
- "es": "Spanish example",
- "de": "German example",
- "hu": "Hungarian example",
- "fr": "French example"
}
], - "field_id": "string",
- "name": "string",
- "format": "date",
- "unique": true
}
]
Get all field options
Returns all options of a given field
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | integer (ID) >= 1 Example: 1 ID of the Field |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/fields/extra/<integer>/options' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 429
- 500
- 503
{- "items": [
- {
- "option_id": 1,
- "en": "English example",
- "pt": "Portuguese example",
- "br": "Brazilian portuguese example",
- "es": "Spanish example",
- "de": "German example",
- "hu": "Hungarian example",
- "fr": "French example"
}
]
}
Create new field option
Creates a field option
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | integer (ID) >= 1 Example: 1 ID of the Field |
Request Body schema: application/json
Parameters for the field option
en | string English option value |
pt | string Portuguese option value |
br | string Brazilian portuguese option value |
es | string Spanish option value |
de | string German option value |
hu | string Hungarian option value |
fr | string French option value |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "en": "English example",
- "pt": "Portuguese example",
- "br": "Brazilian portuguese example",
- "es": "Spanish example",
- "de": "German example",
- "hu": "Hungarian example",
- "fr": "French example"
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "option_id": 1,
- "en": "English example",
- "pt": "Portuguese example",
- "br": "Brazilian portuguese example",
- "es": "Spanish example",
- "de": "German example",
- "hu": "Hungarian example",
- "fr": "French example"
}
Deletes an option
Deletes an option of a list of values field
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | integer (ID) >= 1 Example: 1 ID of the Field |
option_id required | integer (ID) >= 1 Example: 1 ID of the field option |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>/fields/extra/<integer>/options/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Update field option
Updates a field option
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
field_id required | integer (ID) >= 1 Example: 1 ID of the Field |
option_id required | integer (ID) >= 1 Example: 1 ID of the field option |
Request Body schema: application/json
Parameters for the field option
en | string English option value |
pt | string Portuguese option value |
br | string Brazilian portuguese option value |
es | string Spanish option value |
de | string German option value |
hu | string Hungarian option value |
fr | string French option value |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "en": "English example",
- "pt": "Portuguese example",
- "br": "Brazilian portuguese example",
- "es": "Spanish example",
- "de": "German example",
- "hu": "Hungarian example",
- "fr": "French example"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "option_id": 1,
- "en": "English example",
- "pt": "Portuguese example",
- "br": "Brazilian portuguese example",
- "es": "Spanish example",
- "de": "German example",
- "hu": "Hungarian example",
- "fr": "French example"
}
Get all lists
Returns all lists
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "list_id" Enum: "list_id" "internal_name" "public_name" "created" "updated" Reference attribute to order lists |
internal_name | string Internal name of the list |
public_name | string Public name of the list |
created_min | string <date-time> (date_time) Example: created_min=YYYY-MM-DD hh:mm:ss Created initial date |
created_max | string <date-time> (date_time) Example: created_max=YYYY-MM-DD hh:mm:ss Created finish |
updated_min | string <date-time> (date_time) Example: updated_min=YYYY-MM-DD hh:mm:ss Updated initial |
updated_max | string <date-time> (date_time) Example: updated_max=YYYY-MM-DD hh:mm:ss Updated finish |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists?offset=<integer>&limit=10&order=desc&order_by=list_id&internal_name=<string>&public_name=<string>&created_min=<dateTime>&created_max=<dateTime>&updated_min=<dateTime>&updated_max=<dateTime>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "list_id": 1,
- "internal_name": "Internal name",
- "public_name": "Public name",
- "status": "active",
- "group_id": 0,
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
]
}
Create new list
Create a new list
Authorizations:
Request Body schema: application/json
Parameters for the List
internal_name required | string Internal name of the list |
public_name | string Public name of the list. Defaults to internal name if not set |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "Internal name",
- "public_name": "Public name"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "list_id": 1,
- "internal_name": "Internal name",
- "public_name": "Public name",
- "status": "active",
- "group_id": 0,
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
Get list
Returns list information given its ID
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "default_language": "en",
- "available_languages": [
- "en"
], - "stats": {
- "total_contacts": 1000,
- "total_active": 900,
- "total_inactive": 30,
- "total_removed": 50,
- "total_unconfirmed": 15,
- "total_waiting_new_confirmation": 5
}, - "list_id": 1,
- "internal_name": "Internal name",
- "public_name": "Public name",
- "status": "active",
- "group_id": 0,
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
Remove list
Remove list information given its ID
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Update a specific list
Update a list
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Request Body schema: application/json
Parameters for the List
internal_name | string Internal name of the list |
public_name | string Public name of the list |
group_id | integer (ID) >= 1 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "internal_name": "Internal name",
- "public_name": "Public name",
- "group_id": 1
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "list_id": 1,
- "internal_name": "Internal name",
- "public_name": "Public name",
- "status": "active",
- "group_id": 0,
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
Enable Track&Engage
Enable Track&Engage
Authorizations:
Request Body schema: application/json
Parameters for the Tracking&Engage
domain required | string Website's Domain without protocol |
list_id | integer Website's List |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "domain": "e-goi.com",
- "list_id": "1"
}
Response samples
- 200
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "result": true,
- "response": "success"
}
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request POST 'api.egoiapp.com/my-account/actions/enable-transactional' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/my-account' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "general_info": {
- "name": "Name Test",
- "website": "www.yoursite.com",
- "cellphone": "351-910000000",
- "client_id": "123456",
- "company_size": 2,
- "business_sector": {
- "business_sector_id": 123,
- "name": "Name of the business sector"
}
}, - "billing_info": {
- "type": "company",
- "company_legal_name": "your company legal name",
- "vat_number": 1234546,
- "country": {
- "country_code": "PT"
}, - "city": "Porto",
- "state": "SP",
- "address1": "Porto",
- "address2": "Matosinhos",
- "zip_code": "1234-123",
- "invoice_comments": "your invoice comments"
}, - "plan_info": {
- "type": "starter"
}, - "balance_info": {
- "balance": "123.45",
- "currency": "EUR"
}, - "module_info": {
- "te": {
- "enabled": true
}
}
}
Approve operation
Approves an operation
Authorizations:
Request Body schema: application/json
Parameters for the request
operations required | Array of integers (ID) [ items >= 1 ] Array of operation IDs |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "operations": [
- 1
]
}
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "success": [
- 1,
- 2
], - "error": {
- "invalid_operation_action": [ ],
- "operation_not_found": [ ]
}
}
Cancel operation
Cancels an operation
Authorizations:
Request Body schema: application/json
Parameters for the request
operations required | Array of integers (ID) [ items >= 1 ] Array of operation IDs |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "operations": [
- 1
]
}
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "success": [
- 1,
- 2
], - "error": {
- "invalid_operation_action": [ ],
- "operation_not_found": [ ]
}
}
Pause operation
Pauses an operation
Authorizations:
Request Body schema: application/json
Parameters for the request
operations required | Array of integers (ID) [ items >= 1 ] Array of operation IDs |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "operations": [
- 1
]
}
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "success": [
- 1,
- 2
], - "error": {
- "invalid_operation_action": [ ],
- "operation_not_found": [ ]
}
}
Resume operation
Resumes an operation
Authorizations:
Request Body schema: application/json
Parameters for the request
operations required | Array of integers (ID) [ items >= 1 ] Array of operation IDs |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "operations": [
- 1
]
}
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "success": [
- 1,
- 2
], - "error": {
- "invalid_operation_action": [ ],
- "operation_not_found": [ ]
}
}
Get all queued operations
Returns all operations in queue
Authorizations:
query Parameters
type | string Enum: "import_contacts" "update_contacts" "export_contacts" "export_reports" "advanced_report" "email" "sms" "smart_sms" "voice" "push" "webpush" "ads" "social" "segment_generation" "mass_operation" "unify" "import_ecommerce" "attach_tag" "detach_tag" Operation type |
status | string Enum: "queued" "processing" "executing" "paused" Operation state |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Enum: "operation_id" "created" "start_date" Reference attribute to order operations |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/operations?type=<string>&status=<string>&offset=<integer>&limit=10&order=desc&order_by=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "operation_id": 1,
- "operation_data": {
- "internal_name": "string",
- "campaign_hash": "string"
}, - "type": "import_contacts",
- "status": "queued",
- "created_by": 1,
- "created": "YYYY-MM-DD hh:mm:ss",
- "start_date": "YYYY-MM-DD hh:mm:ss"
}
]
}
Get email report
Returns email report given the campaign hash
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
query Parameters
date | boolean Default: true True to show date stats |
weekday | boolean Default: true True to show weekday stats |
hour | boolean Default: true True to show hour stats |
location | boolean Default: true True to show location stats |
domain | boolean Default: true True to show Domain stats |
url | boolean Default: true True to show Url stats |
reader | boolean Default: true True to show Reader stats |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/reports/email/<string>?date=true&weekday=true&hour=true&location=true&domain=true&url=true&reader=true' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string",
- "overall": {
- "sends": 3,
- "opens": 3,
- "unique_opens": 3,
- "clicks": 3,
- "unique_clicks": 3,
- "hard_bounces": 3,
- "soft_bounces": 3,
- "complaints": 3,
- "unsubscriptions": 3
}, - "date": [
- {
- "date": "01-01-1970",
- "sends": 3,
- "opens": 3,
- "clicks": 3,
- "hard_bounces": 3,
- "soft_bounces": 3,
- "complaints": 3,
- "unsubscriptions": 3
}
], - "weekday": [
- {
- "weekday": "3",
- "sends": 3,
- "opens": 3,
- "clicks": 3,
- "hard_bounces": 3,
- "soft_bounces": 3,
- "complaints": 3,
- "unsubscriptions": 3
}
], - "hour": [
- {
- "hour": "03",
- "sends": 3,
- "opens": 3,
- "clicks": 3,
- "hard_bounces": 3,
- "soft_bounces": 3,
- "complaints": 3,
- "unsubscriptions": 3
}
], - "location": [
- {
- "location": "Matosinhos",
- "region": "Porto",
- "country": "Portugal",
- "opens": 3,
- "clicks": 3,
- "hard_bounces": 3,
- "soft_bounces": 3,
- "complaints": 3,
- "unsubscriptions": 3
}
], - "domain": [
- {
- "domain": "e-goi.com",
- "sends": 3,
- "opens": 3,
- "clicks": 3,
- "hard_bounces": 3,
- "soft_bounces": 3,
- "complaints": 3,
- "unsubscriptions": 3
}
], - "reader": [
- {
- "reader": "E-goi",
- "type": "webmail",
- "opens": 3
}
]
}
Get push report
Returns a push report given the campaign hash
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
query Parameters
operating_systems | boolean Default: true True to show operating system stats |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/reports/push/<string>?operating_systems=true' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string",
- "overall": {
- "sends": 1,
- "opens": 1,
- "delivered": 1,
- "received": 1,
- "bounces": 0,
- "error": 0
}, - "operating_systems": [
- {
- "operating_systems": "desktop",
- "sends": 1,
- "opens": 1,
- "delivered": 1,
- "received": 1,
- "bounces": 0,
- "error": 0
}
]
}
Get sms report
Returns sms report given the campaign hash
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
query Parameters
networks | boolean Default: true True to show network stats |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/reports/sms/<string>?networks=true' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string",
- "networks": [
- {
- "network": "Vodafone",
- "sends": 1,
- "delivered": 1,
- "error": 0,
- "invalid": 0,
- "pending": 0
}
], - "overall": {
- "destinations": 3,
- "sends": 3,
- "delivered": 3,
- "error": 0,
- "invalid": 0,
- "pending": 0
}
}
Get voice report
Returns voice report given the campaign hash
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
query Parameters
networks | boolean Default: true True to show network stats |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/reports/voice/<string>?networks=true' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string",
- "networks": [
- {
- "network": "Vodafone",
- "sends": 1,
- "delivered": 1,
- "error": 0,
- "invalid": 0,
- "pending": 0
}
], - "overall": {
- "destinations": 3,
- "sends": 3,
- "delivered": 3,
- "error": 0,
- "invalid": 0,
- "pending": 0
}
}
Get webpush report
Returns webpush report given the campaign hash
Authorizations:
path Parameters
campaign_hash required | string (Hash) [a-zA-Z0-9_-]* Hash of the Campaign |
query Parameters
devices | boolean Default: true True to show device stats |
operating_systems | boolean Default: true True to show operating systems stats |
browsers | boolean Default: true True to show browser stats |
url | boolean Default: true True to show url stats |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/reports/web-push/<string>?devices=true&operating_systems=true&browsers=true&url=true' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "campaign_hash": "string",
- "overall": {
- "opens": 0,
- "sends": 1,
- "clicks": 0,
- "bounces": 0
}, - "devices": [
- {
- "device": "desktop",
- "opens": 0,
- "sends": 1,
- "clicks": 0,
- "bounces": 0
}
], - "operating_systems": [
- {
- "operating_system": "macos",
- "versions": [
- {
- "version": "10.126",
- "opens": 0,
- "sends": 1,
- "clicks": 0,
- "bounces": 0
}
]
}
], - "browsers": [
- {
- "browser": "Chrome",
- "versions": [
- {
- "version": "64.0328214",
- "opens": 0,
- "sends": 1,
- "clicks": 0,
- "bounces": 0
}
]
}
],
}
Generate contact activity report
Generates a new contact activity report
Authorizations:
Request Body schema: application/json
Parameters for the contact activity report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
lists required | Array of integers (ID) [ items >= 1 ] Array of List Id's (3 items max) |
required | object (AdvancedReportContactActivityColumns) Columns of the report |
required | object (AdvancedReportContactActivityOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "lists": [
- 1
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "contact_activities": {
- "opens": true,
- "clicks": true,
- "recommends": true,
- "conversion": true,
- "email_send": true,
- "sms_send": true,
- "sms_report": true,
- "voice_send": true,
- "voice_report": true,
- "invitation_send": true,
- "invitation_open": true,
- "unsubscribe": true,
- "email_soft_bounce": true,
- "email_hard_bounce": true,
- "subscription": true,
- "resubscription": true,
- "unsubscribe_reason": true,
- "facebook_like": true,
- "social_share": true,
- "unsubscribe_manual": true,
- "double_optin": true,
- "email_spam_complaint": true,
- "email_field_disable": true,
- "cellphone_field_disable": true,
- "phone_field_disable": true,
- "unsubscribe_api": true,
- "email_field_enable": true,
- "cellphone_field_enable": true,
- "phone_field_enable": true,
- "edit_subscription": true,
- "automation_event": true,
- "push_send": true,
- "push_delivered": true,
- "push_error": true,
- "push_received": true,
- "push_open": true,
- "push_canceled": true,
- "push_unsubscription": true,
- "reply_to_email": true,
- "web_push_send": true,
- "web_push_delivered": true,
- "web_push_open": true,
- "web_push_bounce": true,
- "web_push_click": true,
- "web_push_subscription": true,
- "web_push_unsubscription": true,
- "forget_subscription": true,
- "change_consent": true,
- "double_optin_resend": true,
- "double_optedit": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Get all advanced reports
Returns all advanced reports
Authorizations:
query Parameters
status | string Enum: "queued" "running" "finished" "stopped" "canceled" "paused" "error" Advanced report status |
title | string Advanced report title |
created_min | string <date-time> (date_time) Example: created_min=YYYY-MM-DD hh:mm:ss Created initial date |
created_max | string <date-time> (date_time) Example: created_max=YYYY-MM-DD hh:mm:ss Created finish |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "advanced_report_id" Enum: "advanced_report_id" "title" "created" Reference attribute to order the advanced reports |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/reports/advanced?status=<string>&title=<string>&created_min=<dateTime>&created_max=<dateTime>&offset=<integer>&limit=10&order=desc&order_by=advanced_report_id' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "advanced_report_id": 1,
- "title": "Report title",
- "hash": "string",
- "file": "string",
- "status": "queued",
- "created": "YYYY-MM-DD hh:mm:ss"
}
]
}
Generate email bounces report
Generates a new email bounces report
Authorizations:
Request Body schema: application/json
Parameters for the email bounces report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportEmailBouncesColumns) Columns of the report |
required | object (AdvancedReportEmailBouncesOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "bounce_date": true,
- "bounce_type": true,
- "bounce_detail": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "sender": true,
- "type": true
}
}, - "options": {
- "include_unopens": true,
- "notify": [
- 1
], - "grouping": "by_contact"
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate email clicks by contact report
Generates a new email clicks by contact report
Authorizations:
Request Body schema: application/json
Parameters for the email clicks by contact report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportEmailClicksByContactColumns) Columns of the report |
required | object (AdvancedReportEmailClicksByContactOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "clicks": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "url": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "sender": true,
- "city": true,
- "country": true,
- "region": true,
- "program": true,
- "os": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate email clicks by URL report
Generates a new email clicks by URL report
Authorizations:
Request Body schema: application/json
Parameters for the email clicks by URL report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportEmailClicksByUrlColumns) Columns of the report |
required | object (AdvancedReportEmailClicksByUrlOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "clicks": true,
- "unique_clicks": true,
- "click_rate_per_url": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "url": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "city": true,
- "country": true,
- "region": true,
- "program": true,
- "os": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate email events report
Generates a new email events report
Authorizations:
Request Body schema: application/json
Parameters for the email events report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportEmailEventsColumns) Columns of the report |
required | object (AdvancedReportEmailEventsOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "opens": true,
- "clicks": true,
- "complaints": true,
- "unsubscribes": true,
- "bounces": true,
- "forwards": true,
- "forwards_conversion": true,
- "fb_likes": true,
- "fb_shares": true,
- "tw_shares": true,
- "social_shares": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "url": true,
- "sender": true,
- "city": true,
- "country": true,
- "region": true,
- "program": true,
- "os": true
}
}, - "options": {
- "include_unopens": true,
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate email unsubscriptions report
Generates a new email unsubscriptions report
Authorizations:
Request Body schema: application/json
Parameters for the email unsubscriptions report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportEmailUnsubscriptionsColumns) Columns of the report |
required | object (AdvancedReportEmailUnsubscriptionsOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "unsubscription_method": true,
- "unsubscription_motive": true,
- "unsubscription_date": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "sender": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate form answers report
Generates a new form answers report
Authorizations:
Request Body schema: application/json
Parameters for the form answers report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportForms) |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "forms": [
- {
- "list_id": 1,
- "forms": [
- 1
]
}
], - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate sends report
Generates a new sends report
Authorizations:
Request Body schema: application/json
Parameters for the sends report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
lists required | Array of integers (ID) [ items >= 1 ] Array of List Id's |
required | object (AdvancedReportSendsColumns) Columns of the report |
required | object (AdvancedReportSendsOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "lists": [
- 1
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "sender": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate SMS bounces report
Generates a new SMS bounces report
Authorizations:
Request Body schema: application/json
Parameters for the SMS bounces report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportSmsBouncesColumns) Columns of the report |
required | object (AdvancedReportSmsBouncesOptions) Columns of the report |
callback_url | string URL which will receive the information of the report[Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "delivery_answer": true,
- "delivery_date": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "sender": true
}
}, - "options": {
- "notify": [
- 1
], - "grouping": "by_contact"
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate SMS events report
Generates a new SMS events report
Authorizations:
Request Body schema: application/json
Parameters for the SMS events report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
required | Array of objects (AdvancedReportCampaigns) Campaigns of the report |
required | object (AdvancedReportSmsEventsColumns) Columns of the report |
required | object (AdvancedReportSmsEventsOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "campaigns": [
- {
- "list_id": 1,
- "type": "all"
}
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "delivery_answer": true,
- "delivery_date": true
}, - "campaign_fields": {
- "internal_name": true,
- "campaign_hash": true,
- "send_date": true,
- "group": true,
- "channel": true,
- "type": true,
- "sender": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate subscriptions report
Generates a new subscriptions report
Authorizations:
Request Body schema: application/json
Parameters for the subscriptions report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
lists required | Array of integers (ID) [ items >= 1 ] Array of List Id's |
required | object (AdvancedReportSubscriptionsColumns) Columns of the report |
required | object (AdvancedReportSubscriptionsOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "lists": [
- 1
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "subscription_method": true,
- "subscription_src": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Generate unsubscriptions report
Generates a new unsubscriptions report
Authorizations:
Request Body schema: application/json
Parameters for the unsubscriptions report
title required | string Advanced report title |
required | object (AdvancedReportRange) Time range of the report |
lists required | Array of integers (ID) [ items >= 1 ] Array of List Id's |
required | object (AdvancedReportUnsubscriptionsColumns) Columns of the report |
required | object (AdvancedReportUnsubscriptionsOptions) Columns of the report |
callback_url | string URL which will receive the information of the report [Go to callback documentation] |
Responses
Callbacks
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "title": "Report title",
- "range": {
- "start": "YYYY-MM-DD hh:mm:ss",
- "end": "YYYY-MM-DD hh:mm:ss"
}, - "lists": [
- 1
], - "columns": {
- "list_base_fields": [
- "string"
], - "list_extra_fields": [
- {
- "list_id": 1,
- "fields": [
- "string"
]
}
], - "list_stats_fields": {
- "unsubscription_method": true,
- "unsubscription_src": true,
- "unsubscription_date": true
}
}, - "options": {
- "notify": [
- 1
]
}, - "callback_url": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Callback payload samples
{
}
Get all segments
Returns all segments
Authorizations:
path Parameters
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
query Parameters
type | string Enum: "auto" "saved" "tag" Type of segment |
name | string Segment name |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/segments?type=<string>&name=<string>&offset=<integer>&limit=10' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "type": "auto",
- "segment_id": "string",
- "name": "string"
}
]
}
Remove segment
Remove segment information given its ID
Authorizations:
path Parameters
segment_id required | string ID of the Segment |
list_id required | integer (ID) >= 1 Example: 1 ID of the List |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>/segments/<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all cellphone senders
Returns all cellphone senders
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
status | string Enum: "active" "moderation" "rejected" Status filter |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/senders/cellphone?offset=<integer>&limit=10&status=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "items": [
- {
- "cellphone": "Your company name",
- "type": "alpha_numeric",
- "sender_id": 1,
- "status": "moderation"
}
]
}
Create cellphone sender
Creates a cellphone sender
Authorizations:
Request Body schema: application/json
Parameters for the sender
type required | string Sender code type |
cellphone required | string Sender cellphone name |
file required | string <byte> Content of your sender file in base64 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "type": "alpha_numeric",
- "cellphone": "Your company name",
- "file": "string"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "cellphone": "Your company name",
- "type": "alpha_numeric",
- "sender_id": 1,
- "status": "moderation"
}
Remove cellphone sender
Remove sender information given its ID
Authorizations:
path Parameters
sender_id required | integer (ID) >= 1 Example: 1 ID of the Sender |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/senders/cellphone/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all email senders
Returns all email senders
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
status | string Enum: "active" "moderation" "rejected" Status filter |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/senders/email?offset=<integer>&limit=10&status=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "items": [
- {
- "name": "E-goi",
- "email": "example@e-goi.com",
- "sender_id": 1,
- "status": "moderation"
}
]
}
Create email sender
Creates an email sender
Authorizations:
Request Body schema: application/json
Parameters for the sender
name required | string Sender name |
email required | string Sender email |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "E-goi",
- "email": "example@e-goi.com"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "name": "E-goi",
- "email": "example@e-goi.com",
- "sender_id": 1,
- "status": "moderation"
}
Update email sender
Updates an email sender
Authorizations:
path Parameters
sender_id required | integer (ID) >= 1 Example: 1 ID of the Sender |
Request Body schema: application/json
Parameters for the contact
name required | string Sender name |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "New sender name"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "name": "E-goi",
- "email": "example@e-goi.com",
- "sender_id": 1,
- "status": "moderation"
}
Remove email sender
Remove sender information given its ID
Authorizations:
path Parameters
sender_id required | integer (ID) >= 1 Example: 1 ID of the Sender |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/senders/email/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all phone senders
Returns all phone senders
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
status | string Enum: "active" "moderation" "rejected" Status filter |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/senders/phone?offset=<integer>&limit=10&status=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "items": [
- {
- "phone": "351-300404336",
- "sender_id": 1,
- "status": "moderation"
}
]
}
Create phone sender
Creates a phone sender
Authorizations:
Request Body schema: application/json
Parameters for the sender
phone required | string^(\d){1,3}-(\d){4,20}$ Sender value (country code followed by phone number, split by '-') |
file required | string <byte> Content of your sender file in base64 |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "phone": "351-300404336",
- "file": "string"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "phone": "351-300404336",
- "sender_id": 1,
- "status": "moderation"
}
Remove phone sender
Remove sender information given its ID
Authorizations:
path Parameters
sender_id required | integer (ID) >= 1 Example: 1 ID of the Sender |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/senders/phone/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/cnames' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "cname_id": 1,
- "value": "mkt.example.com",
- "status": "verified"
}
]
}
Create cname
Creates a cnames
Authorizations:
Request Body schema: application/json
Parameters for the cname
value | string CName value |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "value": "mkt.example.com"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "cname_id": 1,
- "value": "mkt.example.com",
- "status": "verified"
}
Get the suppression list
Returns the suppression list
Authorizations:
query Parameters
type | string Enum: "email" "email_domain" "email_user" "cellphone" "phone" Suppression type |
method | string Enum: "unsubscribe" "bounce" "manual" "other" "forgotten" Suppression method |
value | string Reference attribute to value suppression list |
campaign_hash | string (Hash) [a-zA-Z0-9_-]* Reference attribute to campaign id |
created_min | string <date-time> (date_time) Example: created_min=YYYY-MM-DD hh:mm:ss Created initial date |
created_max | string <date-time> (date_time) Example: created_max=YYYY-MM-DD hh:mm:ss Created finish |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "id" Enum: "id" "value" "created" Reference attribute to order the suppression list |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/suppression-list?type=<string>&method=<string>&value=<string>&campaign_hash=<string>&created_min=<dateTime>&created_max=<dateTime>&offset=<integer>&limit=10&order=desc&order_by=id' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "id": 1,
- "value": "string",
- "type": "email",
- "method": "unsubscribe",
- "campaign_hash": "string",
- "created": "YYYY-MM-DD hh:mm:ss"
}
]
}
Add to suppression list
Adds a collection of values to the suppression list
Authorizations:
Request Body schema: application/json
Parameters for the request
type required | string Suppression type |
value required | Array of strings Array of email values to add to the suppression list |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "type": "email",
- "value": [
- "example@e-goi.com"
]
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 408
- 422
- 429
- 500
- 503
{- "result": "success"
}
Delete from suppression list
Deletes a suppression list value given its ID if it's creation method was ´manual´
Authorizations:
path Parameters
suppression_id required | integer (ID) >= 1 Example: 1 ID of Suppression List |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/suppression-list/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all tags
Returns all tags
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "tag_id" Enum: "tag_id" "name" "color" Reference attribute to order tags |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/tags?offset=<integer>&limit=10&order=desc&order_by=tag_id' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "tag_id": 1,
- "name": "Your custom tag",
- "color": "#FFFFFF"
}
]
}
Create new tag
Create a new tag
Authorizations:
Request Body schema: application/json
Parameters for the Tag
name | string Name of the tag |
color | string Main color of the tag |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "Your custom tag",
- "color": "#FFFFFF"
}
Response samples
- 201
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "tag_id": 1,
- "name": "Your custom tag",
- "color": "#FFFFFF"
}
Update a specific tag
Update a tag
Authorizations:
path Parameters
tag_id required | integer (ID) >= 1 Example: 1 ID of the Tag |
Request Body schema: application/json
Parameters for the tag
name | string Name of the tag |
color | string Main color of the tag |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "name": "Your custom tag",
- "color": "#FFFFFF"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 408
- 409
- 422
- 429
- 500
- 503
{- "tag_id": 1,
- "name": "Your custom tag",
- "color": "#FFFFFF"
}
Remove tag
Remove tag information given its ID
Authorizations:
path Parameters
tag_id required | integer (ID) >= 1 Example: 1 ID of the Tag |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/tags/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all users
Returns all users
Authorizations:
query Parameters
username | string Reference attribute to username user |
status | string Enum: "active" "inactive" Status filter |
created_min | string <date-time> (date_time) Example: created_min=YYYY-MM-DD hh:mm:ss Created initial date |
created_max | string <date-time> (date_time) Example: created_max=YYYY-MM-DD hh:mm:ss Created finish |
updated_min | string <date-time> (date_time) Example: updated_min=YYYY-MM-DD hh:mm:ss Updated initial |
updated_max | string <date-time> (date_time) Example: updated_max=YYYY-MM-DD hh:mm:ss Updated finish |
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
order | string Default: "desc" Enum: "asc" "desc" Type of order |
order_by | string Default: "user_id" Enum: "user_id" "username" Reference attribute to order users |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/users?username=<string>&status=<string>&created_min=<dateTime>&created_max=<dateTime>&updated_min=<dateTime>&updated_max=<dateTime>&offset=<integer>&limit=10&order=desc&order_by=user_id' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "user_id": 1,
- "username": "example@e-goi.com",
- "is_admin": false,
- "first_name": "string",
- "last_name": "string",
- "email": "example@e-goi.com",
- "phone": "351-300404336",
- "profile_image": "string",
- "status": "active",
- "created": "YYYY-MM-DD hh:mm:ss",
- "updated": "YYYY-MM-DD hh:mm:ss"
}
]
}
Remove user
Remove user information given its ID
Authorizations:
path Parameters
user_id required | integer (ID) >= 1 Example: 1 ID of the User |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/users/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 409
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}
Get all countries
Returns all countries
Authorizations:
query Parameters
phone | string Phone number without country code to get all countries which can use that phone number |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/utilities/countries?phone=<string>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "country": 1,
- "name": "Portugal",
- "iso_code": "PT",
- "currency": "EUR",
- "country_code": "351"
}
]
}
Get all webhooks
Returns all webhooks [Go to webhooks documentation]
Authorizations:
query Parameters
offset | integer >= 0 Element offset (starting at zero for the first element) |
limit | integer [ 1 .. 1000 ] Default: 10 Number of items to return |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request GET 'api.egoiapp.com/webhooks?offset=<integer>&limit=10' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 200
- 401
- 403
- 408
- 422
- 429
- 500
- 503
{- "total_items": 1,
- "items": [
- {
- "webhook_id": 1,
- "list_id": 1,
- "url": "string",
- "actions": [
- "forget_subscription"
], - "fields": [
- "string"
]
}
]
}
Create new webhook
Create a new webhook [Go to webhooks documentation]
Authorizations:
Request Body schema: application/json
Parameters for the webhook
list_id required | integer (ID) >= 1 |
url required | string Url to send the webhook [Go to webhooks documentation]:
|
actions required | Array of strings (WebhookActionSchema) Items Enum: "forget_subscription" "change_consent" "web_push_bounce" "web_push_click" "web_push_delivered" "web_push_open" "web_push_send" "web_push_subscription" "web_push_unsubscription" "email_send" "email_open" "email_click" "email_soft_bounce" "email_hard_bounce" "sms_send" "sms_delivered" "voice_send" "unsubscribe" "subscription" "edit_subscription" "resubscription" "facebook_like" "social_share" "double_optin" "email_spam_complaint" "email_field_disable" "cellphone_field_disable" "phone_field_disable" "push_send" "push_open" "push_click" "push_received" "push_error" "push_canceled" "new_order" "cart_update" "goal_conversion" "product_view" Action that will trigger the webhook |
fields | Array of strings Array of contact field IDs to be displayed in the webhook |
Responses
Request samples
- Payload
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
{- "list_id": 1,
- "url": "string",
- "actions": [
- "forget_subscription"
], - "fields": [
- "string"
]
}
Response samples
- 200
- 400
- 401
- 403
- 408
- 409
- 422
- 429
- 500
- 503
{- "webhook_id": 1,
- "list_id": 1,
- "url": "string",
- "actions": [
- "forget_subscription"
], - "fields": [
- "string"
]
}
Remove webhook
Remove webhook information given its ID
Authorizations:
path Parameters
webhook_id required | integer (ID) >= 1 Example: 1 ID of the Webhook |
Responses
Request samples
- cURL
- C#
- Java
- JavaScript
- PHP
- Python
- Ruby
curl --location --max-time 30 --request DELETE 'api.egoiapp.com/webhooks/<integer>' \ --header 'Apikey: <YOUR_APIKEY>'
Response samples
- 401
- 403
- 404
- 408
- 429
- 500
- 503
{- "title": "Unauthorized",
- "status": 401,
- "detail": "The request has not been applied because it lacks valid authentication credentials for the target resource"
}