This is our new version of API. If you want to use the old version of API: API v2
Use Cases Integrations
APIv3 (New)

APIv3 (New) (3.0.0)

Introduction

This is our new version of API. We invite you to start using it and give us your feedback

Getting Started

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

RESTful Services

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)

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

Authentication

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}'

SDK

Get started quickly with E-goi with our integration tools. Our SDK is a modern open source library that makes it easy to integrate your application with E-goi services.

Stream Limits

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

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.

Callbacks

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.

Apikey

Security Scheme Type: API Key
Header parameter name: Apikey

Automations

Get all automations

Returns all automations

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Remove automation

Remove automation information given its ID

Authorizations:
Apikey
path Parameters
automation_id
required
integer (ID) >= 1
Example: 1

ID of the Automation

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/automations/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Campaigns

Get all Campaigns

Returns all campaigns

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Remove Campaign

Remove campaign information given its ID

Authorizations:
Apikey
path Parameters
campaign_hash
required
string (Hash) [a-zA-Z0-9_-]*

Hash of the Campaign

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/campaigns/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Email

Send email message

Deploys and sends an email message

Authorizations:
Apikey
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

One of
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

Content type
application/json
Example
{
  • "list_id": 1,
  • "segments": {
    },
  • "notify": [
    ],
  • "destination_field": "string",
  • "unique_contacts_only": false,
  • "limit_hour": {
    }
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new email campaign

Create a new email campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "list_id": 1,
  • "internal_name": "Campaign internal name",
  • "subject": "Campaign subject",
  • "content": {
    },
  • "sender_id": 1,
  • "reply_to": 1,
  • "header_footer": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Update a specific email campaign

Update email campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "Campaign internal name",
  • "subject": "Campaign subject",
  • "content": {
    },
  • "sender_id": 1,
  • "reply_to": 1,
  • "header_footer": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Enables a rss email campaign

Enables a rss email message

Authorizations:
Apikey
path Parameters
campaign_hash
required
string (Hash) [a-zA-Z0-9_-]*

Hash of the Campaign

Responses

Request samples

curl --location --max-time 30 --request POST 'api.egoiapp.com/campaigns/email/rss/<string>/actions/enable' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new email rss campaign

Create a new email rss campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "list_id": 1,
  • "internal_name": "Campaign internal name",
  • "subject": "Campaign subject",
  • "content": {
    },
  • "sender_id": 1,
  • "reply_to": 1,
  • "header_footer": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Push

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:
Apikey
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

One of
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

Content type
application/json
Example
{
  • "app_id": "string",
  • "segments": {
    },
  • "notify": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new push campaign

Create a new push campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "app_id": "string",
  • "title": "string",
  • "content": {
    },
  • "actions": {
    },
  • "geo_options": {
    },
  • "notification_options": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Update a specific push campaign

Update push campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "string",
  • "content": {
    },
  • "actions": {
    },
  • "geo_options": {
    },
  • "notification_options": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Get all Push applications from E-goi

Get all Push applications from E-goi

Authorizations:
Apikey
query Parameters
list_id
integer

ID of the list to search for.

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/push/apps?list_id=<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
[
  • {
    }
]

Get a Push application from E-goi

Get a Push application from E-goi

Authorizations:
Apikey
path Parameters
app_id
required
string

ID of the E-goi push app.

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/push/apps/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "app_id": "string",
  • "list": {
    },
  • "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:
Apikey
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

Content type
application/json
{
  • "os": "string",
  • "contact": "string",
  • "message_hash": "string",
  • "mailing_id": 0,
  • "event": "string",
  • "device_id": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Registers a Firebase token

Registers a Firebase token

Authorizations:
Apikey
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

Content type
application/json
{
  • "os": "string",
  • "token": "string",
  • "two_steps_data": {
    }
}

Response samples

Content type
application/json
{
  • "success": true
}

Sms

Send sms message

Deploys and sends an sms message

Authorizations:
Apikey
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

One of
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

Content type
application/json
Example
{
  • "list_id": 1,
  • "destination_field": "cellphone",
  • "segments": {
    },
  • "notify": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new sms campaign

Create a new sms campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "list_id": 1,
  • "internal_name": "Internal Title",
  • "content": {
    },
  • "sender_id": 1,
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Update a specific sms campaign

Update sms campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "Internal Title",
  • "content": {
    },
  • "sender_id": 1,
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Smart Sms

Send smart sms message

Deploys and sends a smart sms message

Authorizations:
Apikey
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

One of
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

Content type
application/json
Example
{
  • "list_id": 1,
  • "destination_field": "cellphone",
  • "segments": {
    },
  • "notify": [
    ]
}

Response samples

Content type
application/json
{
  • "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:
Apikey
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

Content type
application/json
{
  • "list_id": 1,
  • "internal_name": "Internal Name",
  • "campaign_content": {
    },
  • "page_content": {
    },
  • "sender_id": 1,
  • "cname_id": 1,
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Update a specific smart sms campaign

Update smart sms campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "Internal Title",
  • "campaign_content": {
    },
  • "page_content": {
    },
  • "sender_id": 1,
  • "cname_id": 1,
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Voice

Send voice message

Deploys and sends an voice message

Authorizations:
Apikey
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

One of
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

Content type
application/json
{
  • "schedule_date": "2019-04-01 12:30:23",
  • "list_id": 1,
  • "segments": {
    },
  • "notify": [
    ],
  • "destination_field": "cellphone",
  • "unique_contacts_only": true,
  • "limit_contacts": {
    },
  • "limit_hour": {
    },
  • "limit_speed": 1
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new voice campaign

Create a new voice campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "string",
  • "list_id": 1,
  • "group_id": 1,
  • "content": {
    },
  • "sender_id": 1
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Update a specific voice campaign

Update a voice campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "string",
  • "group_id": 1,
  • "message": {
    },
  • "sender_id": 1
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Webpush

Send webpush message

Deploys and sends a webpush message

Authorizations:
Apikey
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

One of
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

Content type
application/json
Example
{
  • "site_id": 1,
  • "segments": {
    },
  • "notify": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new webpush campaign

Create a new webpush campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "site_id": 1,
  • "internal_name": "string",
  • "content": {
    },
  • "actions": [
    ]
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Update a specific webpush campaign

Update a webpush campaign

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "string",
  • "content": {
    },
  • "actions": [
    ]
}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Enable a rss webpush campaign

Enable rss webpush message

Authorizations:
Apikey
path Parameters
campaign_hash
required
string (Hash) [a-zA-Z0-9_-]*

Hash of the Campaign

Responses

Request samples

curl --location --max-time 30 --request POST 'api.egoiapp.com/campaigns/webpush/rss/<string>/actions/enable' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "result": "success"
}

Create new webpush rss campaign

Create a new webpush rss campaign

Authorizations:
Apikey
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

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "campaign_hash": "string"
}

Get all webpush sites

Returns all wepush's sites

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Creates a webpush site

Create a new webpush site

Authorizations:
Apikey
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

Content type
application/json
{
  • "site": "string",
  • "list_id": 1,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "site_id": 1,
  • "site": "string",
  • "list_id": 1,
  • "app_code": "7b89dfsb9a6ab6fbsfbasbd6f6",
  • "name": "string"
}

Campaign Groups

Get all campaign groups

Returns all campaign groups

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new campaign group

Create a new campaign group

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the Campaign Group

name
required
string

Name of the campaign group

Responses

Request samples

Content type
application/json
{
  • "name": "Your custom campaign group"
}

Response samples

Content type
application/json
{
  • "group_id": 1,
  • "name": "Your custom campaign group"
}

Update a specific campaign group

Update a campaign group

Authorizations:
Apikey
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

Content type
application/json
{
  • "name": "Your custom campaign group"
}

Response samples

Content type
application/json
{
  • "group_id": 1,
  • "name": "Your custom campaign group"
}

Remove Campaign Group

Remove campaign group information given its ID

Authorizations:
Apikey
path Parameters
group_id
required
integer (ID) >= 1
Example: 1

ID of the Campaign Group

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/campaign-groups/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Ecommerce

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:
Apikey
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

Content type
application/json
{
  • "cart_id": "cart1",
  • "cart_total": 1,
  • "contact": {
    },
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Get all catalogs

Returns all catalogs

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/catalogs' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new catalog

Creates a new catalog

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Catalog title",
  • "language": "en",
  • "currency": "eur"
}

Response samples

Content type
application/json
{
  • "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:
Apikey
path Parameters
catalog_id
required
integer (ID) >= 1
Example: 1

ID of the Catalog

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/catalogs/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

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:
Apikey
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

Content type
application/json
{
  • "order_total": 1,
  • "order_id": "100",
  • "cart_id": "cart1",
  • "contact": {
    },
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Import products

Imports a collection of products
DISCLAIMER: stream limits applied. view here

Authorizations:
Apikey
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:

  •                  'rewrite' - catalog content will be erased and then the imported products will be added
    
  •                  'add' - adds imported products to the catalog without replacing any content. Duplicates will
                     not be added
    
  •                  'update' - adds imported products to the catalog and updates any duplicates found
    

Responses

Request samples

Content type
application/json
{
  • "products": [
    ],
  • "mode": "rewrite"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Get all products

Returns all products for the given catalog

Authorizations:
Apikey
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 --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>&gtin=<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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new product

Creates a new product

Authorizations:
Apikey
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

Content type
application/json
{
  • "categories": [
    ],
  • "related_products": [
    ],
  • "custom_attributes": [
    ],
  • "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

Content type
application/json
{
  • "categories": [
    ],
  • "related_products": [
    ],
  • "custom_attributes": [
    ],
  • "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:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/catalogs/<integer>/products/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "categories": [
    ],
  • "related_products": [
    ],
  • "custom_attributes": [
    ],
  • "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:
Apikey
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 --location --max-time 30 --request DELETE 'api.egoiapp.com/catalogs/<integer>/products/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Update product

Updates a product

Authorizations:
Apikey
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

Content type
application/json
{
  • "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": [
    ],
  • "related_products": [
    ],
  • "custom_attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "categories": [
    ],
  • "related_products": [
    ],
  • "custom_attributes": [
    ],
  • "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"
}

Ecommerce Activity

Orders import bulk request

Creates new bulk orders syncronization
DISCLAIMER: stream limits applied. view here

Authorizations:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Request Body schema: application/json

Parameters for the Orders

Array
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

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "result": "success"
}

TrackEngage

Get all domains

Returns all domains

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/trackengage/domains' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Get all goals

Returns all goals

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/trackengage/goals' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Connected Sites

Get all Connected Sites

Returns all domains usable in Connected Sites

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/connectedsites' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Creates a Connected Site

Creates a domain usable in Connected Sites

Authorizations:
Apikey
Request Body schema: application/json

Parameters for new Connected Site

domain
string

Domain

list_id
string

List id

Responses

Request samples

Content type
application/json
{
  • "domain": "e-goi.com",
  • "list_id": 1
}

Response samples

Content type
application/json
{
  • "domain": "e-goi.com",
  • "list_id": 1,
  • "code": "<script type='text/javascript'>var x=y;</script>",
  • "features": [
    ]
}

Get a Connected Site

Returns domain info in Connected Sites

Authorizations:
Apikey
path Parameters
domain
required
string

Domain

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/connectedsites/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "domain": "e-goi.com",
  • "list_id": 1,
  • "code": "<script type='text/javascript'>var x=y;</script>",
  • "features": [
    ]
}

Deletes a Connected Site

Deletes a domain from Connected Sites

Authorizations:
Apikey
path Parameters
domain
required
string

Domain

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/connectedsites/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Contacts

Activate contacts

Activates a collection of contacts (does not apply to removed contacts)

Authorizations:
Apikey
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

Content type
application/json
Example
{
  • "type": "all"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Attach tag to contact

Attaches a tag to the provided contacts.

Authorizations:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Request Body schema: application/json

Parameters for the Tag

One of
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

Content type
application/json
Example
{
  • "contacts": [
    ],
  • "tag_id": 1
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Deactivate contacts

Deactivates a collection of contacts (does not apply to removed contacts)

Authorizations:
Apikey
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

Content type
application/json
Example
{
  • "type": "all"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Detach tag to contact

Detach a tag to the provided contacts

Authorizations:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Request Body schema: application/json

Parameters for the Tag

One of
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

Content type
application/json
Example
{
  • "contacts": [
    ],
  • "tag_id": 1
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Exports a list of contacts

Exports a list of contacts to the desired callback url

Authorizations:
Apikey
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

Content type
application/json
{
  • "format": "csv",
  • "callback_url": "http://example.com",
  • "segments": [
    ],
  • "fields": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Forget contacts

Forgets a list of contacts

Authorizations:
Apikey
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

Content type
application/json
{
  • "contacts": [
    ]
}

Response samples

Content type
application/json
{
  • "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:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Request Body schema: application/json

Parameters for the bulk import

One of
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

Content type
application/json
Example
{
  • "mode": "add",
  • "compare_field": "email",
  • "contacts": [
    ],
  • "force_empty": false,
  • "notify": [
    ],
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{
  • "imported": 100,
  • "updated": 10,
  • "ignored": 5,
  • "invalid": 1,
  • "file": "example.com"
}

Unsubscribes contacts

Unsubscribes contacts

Authorizations:
Apikey
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

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": {
    }
}

Start automation

Start automation to the provided contacts

Authorizations:
Apikey
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

Content type
application/json
{
  • "automation_id": 1,
  • "action_id": 1,
  • "contacts": [
    ]
}

Response samples

Content type
application/json
{
  • "automation_id": 1,
  • "action_id": 1,
  • "success": [
    ],
  • "error": {
    }
}

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:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Request Body schema: application/json

Parameters for the request

One of
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

Content type
application/json
Example
{
  • "type": "contacts",
  • "contacts": [
    ],
  • "base": {
    },
  • "extra": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Get all contact activities

Returns all contact activities

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "items": [
    ]
}

Updates a contact by field

Updates a contact by field, wich must be unique in list

Authorizations:
Apikey
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

Content type
application/json
{
  • "compare_field": {
    },
  • "base": {
    },
  • "extra": [
    ]
}

Response samples

Content type
application/json
{
  • "contact_id": "8f3a27ef26"
}

Get all contacts

Returns all contacts

Authorizations:
Apikey
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

email
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new contact

Create a new contact

Authorizations:
Apikey
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

Content type
application/json
{
  • "base": {
    },
  • "extra": [
    ],
  • "utm": {
    },
  • "referrer": {
    },
  • "advertising": {
    }
}

Response samples

Content type
application/json
{
  • "contact_id": "8f3a27ef26"
}

Update a specific contact

Update contact

Authorizations:
Apikey
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

Content type
application/json
{
  • "base": {
    },
  • "extra": [
    ]
}

Response samples

Content type
application/json
{
  • "contact_id": "8f3a27ef26"
}

Get contact

Returns contact information given its ID

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/contacts/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "base": {
    },
  • "extra": [
    ],
  • "tags": [
    ],
  • "email_stats": {
    },
  • "sms_stats": {
    },
  • "push_stats": {
    },
  • "webpush_stats": {
    },
  • "voice_stats": {
    },
  • "traffic_stats": {
    }
}

Search contact

Searches a contact across all lists and returns a collection of contacts found

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/contacts/search?type=email&contact=<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get all contacts by Segment Id

Returns all contacts filtered by Segment Id

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Fields

Update base field

Updates a base field

Authorizations:
Apikey
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

Content type
application/json
{
  • "unique": true
}

Response samples

Content type
application/json
{
  • "field_id": "string",
  • "name": "string",
  • "format": "date",
  • "unique": true
}

Remove extra field

Removes an extra field given its ID

Authorizations:
Apikey
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 --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>/fields/extra/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Update extra field

Updates an extra field

Authorizations:
Apikey
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

Content type
application/json
{
  • "name": "Field name",
  • "unique": true
}

Response samples

Content type
application/json
{
  • "field_id": "string",
  • "name": "string",
  • "format": "date",
  • "unique": true
}

Create extra field

Creates an extra field

Authorizations:
Apikey
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

Content type
application/json
{
  • "name": "string",
  • "format": "date",
  • "unique": true
}

Response samples

Content type
application/json
{
  • "field_id": "string",
  • "name": "string",
  • "format": "date",
  • "unique": true
}

Get all fields

Returns all fields

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/fields?offset=<integer>&limit=10' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
[
  • {
    }
]

Get all field options

Returns all options of a given field

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>/fields/extra/<integer>/options' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Create new field option

Creates a field option

Authorizations:
Apikey
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

Content type
application/json
{
  • "en": "English example",
  • "pt": "Portuguese example",
  • "br": "Brazilian portuguese example",
  • "es": "Spanish example",
  • "de": "German example",
  • "hu": "Hungarian example",
  • "fr": "French example"
}

Response samples

Content type
application/json
{
  • "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:
Apikey
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 --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>/fields/extra/<integer>/options/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Update field option

Updates a field option

Authorizations:
Apikey
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

Content type
application/json
{
  • "en": "English example",
  • "pt": "Portuguese example",
  • "br": "Brazilian portuguese example",
  • "es": "Spanish example",
  • "de": "German example",
  • "hu": "Hungarian example",
  • "fr": "French example"
}

Response samples

Content type
application/json
{
  • "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"
}

Lists

Get all lists

Returns all lists

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new list

Create a new list

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "Internal name",
  • "public_name": "Public name"
}

Response samples

Content type
application/json
{
  • "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:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/lists/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "default_language": "en",
  • "available_languages": [
    ],
  • "stats": {
    },
  • "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:
Apikey
path Parameters
list_id
required
integer (ID) >= 1
Example: 1

ID of the List

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Update a specific list

Update a list

Authorizations:
Apikey
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

Content type
application/json
{
  • "internal_name": "Internal name",
  • "public_name": "Public name",
  • "group_id": 1
}

Response samples

Content type
application/json
{
  • "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"
}

My Account

Enable Track&Engage

Enable Track&Engage

Authorizations:
Apikey
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

Content type
application/json
{
  • "domain": "e-goi.com",
  • "list_id": "1"
}

Response samples

Content type
application/json
{
  • "result": true,
  • "response": "success"
}

Enable Transactional

Enable Transactionale api usage

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request POST 'api.egoiapp.com/my-account/actions/enable-transactional' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Get My Account Info

My Account Info

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/my-account' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "general_info": {
    },
  • "billing_info": {
    },
  • "plan_info": {
    },
  • "balance_info": {
    },
  • "module_info": {
    }
}

Operations

Approve operation

Approves an operation

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the request

operations
required
Array of integers (ID) [ items >= 1 ]

Array of operation IDs

Responses

Request samples

Content type
application/json
{
  • "operations": [
    ]
}

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "error": {
    }
}

Cancel operation

Cancels an operation

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the request

operations
required
Array of integers (ID) [ items >= 1 ]

Array of operation IDs

Responses

Request samples

Content type
application/json
{
  • "operations": [
    ]
}

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "error": {
    }
}

Pause operation

Pauses an operation

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the request

operations
required
Array of integers (ID) [ items >= 1 ]

Array of operation IDs

Responses

Request samples

Content type
application/json
{
  • "operations": [
    ]
}

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "error": {
    }
}

Resume operation

Resumes an operation

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the request

operations
required
Array of integers (ID) [ items >= 1 ]

Array of operation IDs

Responses

Request samples

Content type
application/json
{
  • "operations": [
    ]
}

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "error": {
    }
}

Get all queued operations

Returns all operations in queue

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Ping

Pings the API

Checks if API is up and running

Responses

Request samples

curl --location --max-time 30 --request POST 'api.egoiapp.com/ping'

Response samples

Content type
application/json
{
  • "result": "pong"
}

Reports

Get email report

Returns email report given the campaign hash

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "campaign_hash": "string",
  • "overall": {
    },
  • "date": [
    ],
  • "weekday": [
    ],
  • "hour": [
    ],
  • "location": [
    ],
  • "domain": [
    ],
  • "url": [],
  • "reader": [
    ]
}

Get push report

Returns a push report given the campaign hash

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/reports/push/<string>?operating_systems=true' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "campaign_hash": "string",
  • "overall": {
    },
  • "operating_systems": [
    ]
}

Get sms report

Returns sms report given the campaign hash

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/reports/sms/<string>?networks=true' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "campaign_hash": "string",
  • "networks": [
    ],
  • "overall": {
    }
}

Get voice report

Returns voice report given the campaign hash

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/reports/voice/<string>?networks=true' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "campaign_hash": "string",
  • "networks": [
    ],
  • "overall": {
    }
}

Get webpush report

Returns webpush report given the campaign hash

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "campaign_hash": "string",
  • "overall": {
    },
  • "devices": [
    ],
  • "operating_systems": [
    ],
  • "browsers": [
    ],
  • "url": []
}

Advanced Reports

Generate contact activity report

Generates a new contact activity report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "lists": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Get all advanced reports

Returns all advanced reports

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Generate email bounces report

Generates a new email bounces report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate email clicks by contact report

Generates a new email clicks by contact report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate email clicks by URL report

Generates a new email clicks by URL report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate email events report

Generates a new email events report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate email unsubscriptions report

Generates a new email unsubscriptions report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate form answers report

Generates a new form answers report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "forms": [
    ],
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate sends report

Generates a new sends report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "lists": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate SMS bounces report

Generates a new SMS bounces report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate SMS events report

Generates a new SMS events report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "campaigns": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate subscriptions report

Generates a new subscriptions report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "lists": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Generate unsubscriptions report

Generates a new unsubscriptions report

Authorizations:
Apikey
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

Content type
application/json
{
  • "title": "Report title",
  • "range": {
    },
  • "lists": [
    ],
  • "columns": {
    },
  • "options": {
    },
  • "callback_url": "string"
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Callback payload samples

Callback
POST: {$request.body#/callbackUrl}
Content type
application/json
{}

Segments

Get all segments

Returns all segments

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Remove segment

Remove segment information given its ID

Authorizations:
Apikey
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 --location --max-time 30 --request DELETE 'api.egoiapp.com/lists/<integer>/segments/<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Senders

Get all cellphone senders

Returns all cellphone senders

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/senders/cellphone?offset=<integer>&limit=10&status=<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Create cellphone sender

Creates a cellphone sender

Authorizations:
Apikey
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

Content type
application/json
Example
{
  • "type": "alpha_numeric",
  • "cellphone": "Your company name",
  • "file": "string"
}

Response samples

Content type
application/json
Example
{
  • "cellphone": "Your company name",
  • "type": "alpha_numeric",
  • "sender_id": 1,
  • "status": "moderation"
}

Remove cellphone sender

Remove sender information given its ID

Authorizations:
Apikey
path Parameters
sender_id
required
integer (ID) >= 1
Example: 1

ID of the Sender

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/senders/cellphone/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Get all email senders

Returns all email senders

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/senders/email?offset=<integer>&limit=10&status=<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Create email sender

Creates an email sender

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the sender

name
required
string

Sender name

email
required
string

Sender email

Responses

Request samples

Content type
application/json
{
  • "name": "E-goi",
  • "email": "example@e-goi.com"
}

Response samples

Content type
application/json
{
  • "name": "E-goi",
  • "email": "example@e-goi.com",
  • "sender_id": 1,
  • "status": "moderation"
}

Update email sender

Updates an email sender

Authorizations:
Apikey
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

Content type
application/json
{
  • "name": "New sender name"
}

Response samples

Content type
application/json
{
  • "name": "E-goi",
  • "email": "example@e-goi.com",
  • "sender_id": 1,
  • "status": "moderation"
}

Remove email sender

Remove sender information given its ID

Authorizations:
Apikey
path Parameters
sender_id
required
integer (ID) >= 1
Example: 1

ID of the Sender

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/senders/email/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Get all phone senders

Returns all phone senders

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/senders/phone?offset=<integer>&limit=10&status=<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Create phone sender

Creates a phone sender

Authorizations:
Apikey
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

Content type
application/json
{
  • "phone": "351-300404336",
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "phone": "351-300404336",
  • "sender_id": 1,
  • "status": "moderation"
}

Remove phone sender

Remove sender information given its ID

Authorizations:
Apikey
path Parameters
sender_id
required
integer (ID) >= 1
Example: 1

ID of the Sender

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/senders/phone/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

CNames

Get All CNames

Returns all cnames

Authorizations:
Apikey

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/cnames' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create cname

Creates a cnames

Authorizations:
Apikey
Request Body schema: application/json

Parameters for the cname

value
string

CName value

Responses

Request samples

Content type
application/json
{
  • "value": "mkt.example.com"
}

Response samples

Content type
application/json
{
  • "cname_id": 1,
  • "value": "mkt.example.com",
  • "status": "verified"
}

Suppression List

Get the suppression list

Returns the suppression list

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Add to suppression list

Adds a collection of values to the suppression list

Authorizations:
Apikey
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

Content type
application/json
Example
{
  • "type": "email",
  • "value": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "success"
}

Delete from suppression list

Deletes a suppression list value given its ID if it's creation method was ´manual´

Authorizations:
Apikey
path Parameters
suppression_id
required
integer (ID) >= 1
Example: 1

ID of Suppression List

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/suppression-list/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Tags

Get all tags

Returns all tags

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new tag

Create a new tag

Authorizations:
Apikey
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

Content type
application/json
{
  • "name": "Your custom tag",
  • "color": "#FFFFFF"
}

Response samples

Content type
application/json
{
  • "tag_id": 1,
  • "name": "Your custom tag",
  • "color": "#FFFFFF"
}

Update a specific tag

Update a tag

Authorizations:
Apikey
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

Content type
application/json
{
  • "name": "Your custom tag",
  • "color": "#FFFFFF"
}

Response samples

Content type
application/json
{
  • "tag_id": 1,
  • "name": "Your custom tag",
  • "color": "#FFFFFF"
}

Remove tag

Remove tag information given its ID

Authorizations:
Apikey
path Parameters
tag_id
required
integer (ID) >= 1
Example: 1

ID of the Tag

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/tags/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Users

Get all users

Returns all users

Authorizations:
Apikey
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 --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

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Remove user

Remove user information given its ID

Authorizations:
Apikey
path Parameters
user_id
required
integer (ID) >= 1
Example: 1

ID of the User

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/users/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}

Utilities

Get all countries

Returns all countries

Authorizations:
Apikey
query Parameters
phone
string

Phone number without country code to get all countries which can use that phone number

Responses

Request samples

curl --location --max-time 30 --request GET 'api.egoiapp.com/utilities/countries?phone=<string>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Web Hooks

Get all webhooks

Returns all webhooks [Go to webhooks documentation]

Authorizations:
Apikey
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 --location --max-time 30 --request GET 'api.egoiapp.com/webhooks?offset=<integer>&limit=10' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{
  • "total_items": 1,
  • "items": [
    ]
}

Create new webhook

Create a new webhook [Go to webhooks documentation]

Authorizations:
Apikey
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]:

  •   Note: Only 'http' or 'https' protocols are supported.
    
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

Content type
application/json
{
  • "list_id": 1,
  • "url": "string",
  • "actions": [
    ],
  • "fields": [
    ]
}

Response samples

Content type
application/json
{
  • "webhook_id": 1,
  • "list_id": 1,
  • "url": "string",
  • "actions": [
    ],
  • "fields": [
    ]
}

Remove webhook

Remove webhook information given its ID

Authorizations:
Apikey
path Parameters
webhook_id
required
integer (ID) >= 1
Example: 1

ID of the Webhook

Responses

Request samples

curl --location --max-time 30 --request DELETE 'api.egoiapp.com/webhooks/<integer>' \
--header 'Apikey: <YOUR_APIKEY>'

Response samples

Content type
application/json
{}