APIs en MasterBase®

La principal ventaja de las APIs en Masterbase® radica en que permiten automatizar acciones que en la plataforma web se realizan en forma manual. Entre otras cosas, hacen posible:

Actualizar sus bases de datos en su ambiente de trabajo y en nuestra plataforma, simultáneamente.

Crear y enviar mensajes desde sus sistemas sin que deba ingresar a nuestra plataforma.

Recibir desde MasterBase® las métricas de sus envíos.

...

Nuestros web service
API

Utilice nuestros web services API para facilitar y sincronizar las acciones a realizar.

Ver video »
...

Cree sus credenciales
API

Antes de empezar debe crear las credenciales que le autorizan a hacer uso de nuestras APIs.

Ver video »
...

Integraciones MasterBase®

Integre los sistemas internos de su empresa con nuestra plataforma y automatice el manejo de datos.

Ver más »

Comencemos con MasterBase®

MasterBase® API

Para construir la URL del servicio que desea consumir, debe hacerlo con la siguiente estructura:

URL base que agrupa los servicios Web:

https://api2023.masterbase.com/

a la que debe agregar, en primer lugar, el segmento que indica el servicio al que apunta y, a continuación, los parámetros opcionales que definen su consulta en cuestión. El primero de ellos antecedido por un signo de interrogación (?), seguido por un signo igual (=) y el valor del parámetro. Desde el segundo parámetro que necesite añadir, deberá utilizar el signo ampersand (&) en lugar del signo de interrogación.

Ejemplo:

https://api2023.masterbase.com/contacts/v2/ClientName/?From=123&Top=100&Order=1

Estructura

The Envelope

Toda respuesta está contenida en una estructura denominada envelope (sobre, envoltorio). Esto significa, que cada respuesta tiene una estructura predefinida con las cuales se puede interactuar.

{
  "Service": "Nombre del servicio",
  "Version": "Version el servicio",
  "TransactionId": "Identificador alfanumerico de transaccion",
  "Status": {
    "Code": "Codigo de la respuesta",
    "Value": "Valor de la respuesta"
  },
  "Data": {}
}

Status

La llave status se utiliza para obtener información acerca de la respuesta del servicio. Si todo ha seguido su curso en forma correcta, la respuesta indicará en el atributo Code el valor 200 o 201. Sin embargo, puede ocurrir que algo falle, en cuyo caso la respuesta que se obtendrá es de este tipo:

"Status": {
  "Code": "401",
  "Value": "Unauthorized"
}

Autenticación

Para el consumo de los web services que se disponen en este sitio, es necesario considerar que autenticación de acceso es básica y para lo cual se utilizan las Credenciales API – usuario y contraseña - las cuales se obtienen a través de su cuenta MasterBase®. El uso de estas dependerá del lenguaje escogido para el consumo de los servicios y es de responsabilidad de quien realice el mismo.

Aprenda más de las API MasterBase®

Contacts - Administre sus contactos

/contacts/v2/{ClientName}/{ListId}
Obtiene información de sus contactos.

Obtiene información de sus contactos

Parameters endpoints

Name

ClientName*

ListId*

Email*

From*

Top*

Order*

Description

Nombre de la cuenta.

Identificador de la base de contactos.

Correo electrónico del contacto a buscar.

Indica el ID del primer contacto del listado.

Indica la cantidad de contactos que muestra la lista.

Indica el orden del listado: Por fecha de creación del contacto (0 ascendente, 1 descendente).

Type

string($string) - (path)

number($string) - (path)

string($string) - (query)

string($string) - (query)

string($string) - (query)

string($string) - (query)

(*) Parámetro obligatorio

Email, From, Top y Order son parámetros para incluir en el consumo de un web service. respetando las siguientes premisas:

  1. Siempre debe incluir al menos uno de estos parámetros.
  2. Si incluye Email, no puede agregar ningún otro.
  3. De los otros tres parámetros (From, Top y Order) puede, indistintamente, incluir uno, dos de ellos o los tres.

Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contacts": {
      "Contact": [{
          "idContact": "451028",
          "Email": "example@mail.com",
          "Gender": "M",
          "CreatedBy": "Usuario",
          "ModifiedBy": "Admin",
          "DateModification": "2018-01-17T20:23:34.193",
          "FieldStr01": "John",
          "FieldStr02": "Doe",
          "FieldDte01": "1900-01-01T00:00:00"
        }
      ]
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Code": "NoData",
    "Value": "No Data"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFound",
    "Value": "User not found"
  }
}

500

Internal error

Example Value | Model

{
  "Message": "An error has occuried"
}

/contacts/v2/{ClientName}/{ListId}
Elimina sus contactos de 1 en 1.

Elimina sus contactos de 1 en 1

Parameters endpoints

Name

ClientName*

ListId*

Identifier*

Description

Nombre de la cuenta.

Identificador de la base de contactos.

Correo electrónico o Identificador del contacto a buscar.

Type

string($string) - (path)

number($integer) - (path)

string($string) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contact": {
      "Email": "prueba46@prueba.cl",
      "Deleted": "True"
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Code": "NoData",
    "Value": "No Data"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFound",
    "Value": "User not found"
  }
}

500

Internal error

Example Value | Model

{
  "Message": "An error has occuried"
}

/contacts/v2/{ClientName}
Obtiene información de los envíos realizados a un contacto.

Obtiene información de los envíos realizados a un contacto

Parameters endpoints

Name

ContactId*

ListId*

Order

ExtraDetail

Description

Nombre de la cuenta.

Identificador del contacto.

Indica el orden en que se listará los envíos: Por fecha de envío.

Indica si se requiere detalles de los envíos realizados (true/false).

Type

string($string) - (path)

number($integer) - (query)

integer - (query)

boolean - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Response": {
      "PageDetail": {
        "TotalRecords": "340",
        "CurrentPage": "1",
        "TotalPage": "23"
      },
      "Summary": {
        "TotalOpens": "45",
        "TotalWebViews": "1",
        "TotalCliks": "23",
        "TotalBounces": "23"
      },
      "Mails": {
        "Mail": [{
            "id": "1022",
            "Open": "2",
            "WebView": "1",
            "TotalClicks": "0",
            "TotalBounces": "0",
            "Detail": {
              "Links": {
                "Link": {
                  "Url": "http://www.es.masterbase.com/?utm_campaign=4329:%20Ejemplo%20&utm_source=MasterBase%20Cliente&utm_medium=email&utm_content=3&utm_term=none",
                  "Total": "1"
                }
              },
              "Bounces": {
                "Bounce": {
                  "Code": "133",
                  "Total": "1"
                }
              }
            },
            "ExtraDetail": {
              "Opens": {
                "Open": {
                  "Country": "US",
                  "OS": "Linux",
                  "Patform": "Desktop",
                  "EventDate": "2016-09-02T16:45:11"
                }
              },
              "Clicks": {
                "Click": {
                  "Country": "US",
                  "OS": "Linux",
                  "Patform": "Desktop",
                  "EventDate": "2016-09-02T16:45:11"
                }
              }
            }
          }
        ]
      }
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Code": "NoData",
    "Value": "No Data"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFound",
    "Value": "User not found"
  }
}

500

Internal error

Example Value | Model

{
  "Message": "An error has occuried"
}

/contacts/v2/{ClientName}
Crea o actualiza sus contactos.

Crea o actualiza sus contactos

Parameters endpoints

Name

ContactId*

Update

Body*

Description

Nombre de la cuenta.

Indica si desea actualizar contactos (true/false).

Datos del contacto a crear o actualizar.

Type

string($string) - (path)

boolean - (query)

(body)

Example Value | Model

{
  "Request": {
    "ListId": "1",
    "Contacts": {
      "Contact": [{
          "Email": "example@mail.com",
          "Gender": "M",
          "FieldStr01": "John",
          "FieldStr02": "Doe",
          "FieldDte01": "1900-01-01T00:00:00"
        }
      ]
    }
  }
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "a7ef3fd03ad54fdc8394497ff6b74f9c",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contacts": {
      "Contact": [{
          "Email": "example@mail.com",
          "idContact": "451028",
          "Validation": {
            "Status": "PASSED"
          },
          "Operation": {
            "Status": "UPDATED",
            "text": "Successfully executed"
          }
        }
      ]
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Code": "NoData",
    "Value": "No Data"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFound",
    "Value": "User not found"
  }
}

500

Internal error

Example Value | Model

{
  "Message": "An error has occuried"
}

/contacts/v2/{ClientName}
Actualiza sus contactos de 1 en 1.

Actualiza sus contactos de 1 en 1

Parameters endpoints

Name

ClientName*

Body*

Description

Nombre de la cuenta.

Datos del contacto a actualizar.

Type

string($string) - (path)

(body)

Example Value | Model

{
  "Request": {
    "ListId": "1",
    "Contact": {
      "Email": "example@mail.com",
      "Gender": "M",
      "FieldStr01": "John",
      "FieldStr02": "Doe",
      "FieldDte01": "1900-01-01T00:00:00"
    }
  }
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "a7ef3fd03ad54fdc8394497ff6b74f9c",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contacts": {
      "Contact": [{
          "Email": "example@mail.com",
          "idContact": "451028",
          "Validation": {
            "Status": "PASSED"
          },
          "Operation": {
            "Status": "UPDATED",
            "text": "Successfully executed"
          }
        }
      ]
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Code": "NoData",
    "Value": "No Data"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFound",
    "Value": "User not found"
  }
}

500

Internal error

Example Value | Model

{
  "Message": "An error has occuried"
}

/contacts/v2/{ClientName}/GetContacts/{ListId}
Obtiene información de sus contactos por parámetros.

Obtiene información de sus contactos por parámetros

Parameters endpoints

Name

ClientName*

ListId*

Field*

Value*

Top

Op*

PageNumber

PageSize

Order

Description

Nombre de la cuenta.

Identificador del contacto.

Campo del filtro.

Valor a filtrar.

Indica la cantidad de contactos que mostrará el listado.

Operador que aplicará el filtro.

Operador que aplicará el filtro.

Cantidad de registros a mostrar por página.

Indica el orden en que se listará los envíos: Por fecha de creación.

Type

string($string) - (path)

integer($int32) - (path)

string - (query)

string - (query)

string($string) - (query)

string - (query)

string - (query)

string - (query)

string - (query)

(*) Parámetro obligatorio


Valores permitidos para el atributo del operador

Valor Operador

eq

neq

sw

contain

notcontains

gt

Lt

gte

lte

null

notnull

Correlación

Igual a

Distinto a

Empieza con

Contiene

No contiene

Mayor que

Menor que

Mayor o igual que

Menor o igual que

Nulo

No Nulo

Type

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)

string - (query)


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "PageDetail": {
      "CurrentPage": "1",
      "TotalPages": "2323",
      "TotalRecords": "5342",
      "Contacts": {
        "Contact": [{
            "idContact": "451028",
            "Email": "example@mail.com",
            "Gender": "M",
            "CreatedBy": "Usuario",
            "ModifiedBy": "Admin",
            "DateModification": "2018-01-17T20:23:34.193",
            "FieldStr01": "John",
            "FieldStr02": "Doe",
            "FieldDte01": "1900-01-01T00:00:00"
          }
        ]
      }
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Code": "NoData",
    "Value": "No Data"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "5c60b7bcd4f5620f627d0346b796c765",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFound",
    "Value": "User not found"
  }
}

500

Internal error

Example Value | Model

{
  "Message": "An error has occuried"
}

MassiveMail - Administre sus envíos

/massivemail/v1/{ClientName}
Realiza un envío masivo sin plantilla.

Realiza un envío masivo sin plantilla

Parameters endpoints

Name

Nombre de la cuenta*

Body*

Description

Nombre de la cuenta del cliente.

Datos del mensaje a enviar.

Type

string($string) - (path)

(body)


Parameters body

Classification

Name*

Description

SubCategoryId

Based on Type

Based on Id

From Type*

From Id*

ListId*

FilterType*

Ids*


Subject*

Format*

Now*

OpenTracking*

ClickTracking*

Enable*

Sólo acepta valores “C” o “T” (Comercial/Transaccional) por defecto se asume Comercial.

Nombre del envío.

Descripción del envío.

Identificador de subcategoría.

Sólo acepta valor “template”.

Identificador de la plantilla.

Solo acepta valores "Standard" o “Dynamic”.

Identificador numérico de remitente.

Identificador de la lista de contactos sobre la cual se realizará el envío.

Sólo acepta valores “Static”, “Dynamic” o “Newsletter”.

Listado de identificadores asociados al filtro seleccionado, solo permite múltiples identificadores el tipo de filtro Newsletter (boletín).

Asunto del mensaje.

Solo acepta valores “html” o “text”.

Sólo acepta valores “true” o “false”, asume valor true por defecto.

Sólo acepta valores “true” o “false”.

Sólo acepta valores “true” o “false”.

Sólo acepta valores “true” o “false”.

Text

Text

Text

Number

Text

Number

Text

Number

Number

Text

Number


Text

Text

Text

Text

Text

Text

La plantilla utilizada debe tener en el cuerpo del mensaje el tag ‹ attachfile /› y el fichero a adjuntar debe ser cargado previamente en el sistema vía File Bunker.


Example Value | Model

{
  "GeneralData": {
    "Name": "Prueba de Envio",
    "Description": "Dato Opcional",
    "SubCategory": "1",
    "Classification": "C"
  },
  "From": {
    "Type": "Standard",
    "Id": "1"
  },
  "To": {
    "Ids": [
      "4"
    ],
    "ListId": "1",
    "FilterType": "Dynamic"
  },
  "Message": {
    "Subject": "Asunto del correo",
    "Body": {
      "Format": "html",
      "Value": "<!DOCTYPE html><html> Cuerpo del correo </html>"
    }
  },
  "Options": {
    "SendDate": {
      "Now": "false",
      "Value": "2018-01-30T09:38:00-03:00"
    },
    "OpenTracking": "true",
    "ClickTracking": "true",
    "Enable": "false"
  }
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "a7ef3fd03ad54fdc8394497ff6b74f9c",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contacts": {
      "Contact": [{
          "Email": "example@mail.com",
          "idContact": "451028",
          "Validation": {
            "Status": "PASSED"
          },
          "Operation": {
            "Status": "UPDATED",
            "text": "Successfully executed"
          }
        }
      ]
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/massivemail/v1/{ClientName}
Realiza un envío masivo con plantilla.

Realiza un envío masivo con plantilla

Parameters endpoints

Name

Nombre de la cuenta*

Body*

Description

Nombre de la cuenta del cliente.

Datos del mensaje a enviar.

Type

string($string) - (path)

(body)


Parameters body

Classification

Name*

Description

SubCategoryId

Based on Type

Based on Id

From Type*

From Id*

ListId*

FilterType*

Ids*


Subject*

Format*

Now*

OpenTracking*

ClickTracking*

Enable*

Sólo acepta valores “C” o “T” (Comercial/Transaccional) por defecto se asume Comercial.

Nombre del envío.

Descripción del envío.

Identificador de subcategoría.

Sólo acepta valor “template”.

Identificador de la plantilla.

Solo acepta valores "Standard" o “Dynamic”.

Identificador numérico de remitente.

Identificador de la lista de contactos sobre la cual se realizará el envío.

Sólo acepta valores “Static”, “Dynamic” o “Newsletter”.

Listado de identificadores asociados al filtro seleccionado, solo permite múltiples identificadores el tipo de filtro Newsletter (boletín).

Asunto del mensaje.

Solo acepta valores “html” o “text”.

Sólo acepta valores “true” o “false”, asume valor true por defecto.

Sólo acepta valores “true” o “false”.

Sólo acepta valores “true” o “false”.

Sólo acepta valores “true” o “false”.

Text

Text

Text

Number

Text

Number

Text

Number

Number

Text

Number


Text

Text

Text

Text

Text

Text

La plantilla utilizada debe tener en el cuerpo del mensaje el tag ‹ attachfile /› y el fichero a adjuntar debe ser cargado previamente en el sistema vía File Bunker.

Según se entregue u omita un valor para el parámetro Subject, el servicio tomará el valor dado o asumirá como asunto el de la plantilla seleccionada.


Example Value | Model

{
  "GeneralData": {
    "Name": "Correo promocional campaña Noviembre",
    "Description": "Correo que contiene la campaña promocional de nov.",
    "SubCategoryId": "2",
    "Classification": "C",
    "BasedOn": {
      "Type": "template",
      "Id": "1"
    }
  },
  "From": {
    "Type": "Standard",
    "Id": "1"
  },
  "To": {
    "Ids": [
      "1"
    ],
    "ListId": "1",
    "FilterType": "Newsletter"
  },
  "Message": {
    "Subject": "Campaña Noviembre",
    "Body": {
      "Format": "html",
      "Value": "<!DOCTYPE html><html> Cuerpo del correo </html> "
              }
          },
          " Options ": {
              " SendDate ": {
                  " now ": " false ",
                  " value ": " 2016 - 09 - 05 20: 30: 00 "
              },
              " OpenTracking ": " false ",
              " ClickTracking ": " true ",
              " Enable ": " true "
          }
      }

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "a7ef3fd03ad54fdc8394497ff6b74f9c",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contacts": {
      "Contact": [{
          "Email": "example@mail.com",
          "idContact": "451028",
          "Validation": {
            "Status": "PASSED"
          },
          "Operation": {
            "Status": "UPDATED",
            "text": "Successfully executed"
          }
        }
      ]
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/massivemail/v1/{ClientName}
Modifica un envío masivo.

Modifica un envío masivo

Parameters endpoints

Name

ClientName*

Body*

Description

Nombre de la cuenta.

Datos a actualizar en el borrador generado.

Type

string($string) - (path)

(body)

Example Value | Model

{
  "GeneralData": {
    "MailId": "5401",
    "SubcategoryId": "2"
  },
  "From": {
    "Type": "Standard",
    "Id": "1"
  },
  "To": {
    "Ids": [
      "4"
    ],
    "ListId": "1",
    "FilterType": "Dynamic"
  },
  "Message": {
    "Subject": "Asunto del correo",
    "Body": {
      "Format": "html",
      "Value": "<!DOCTYPE html><html> Cuerpo del correo </html>"
    }
  },
  "Options": {
    "SendDate": {
      "Now": "false",
      "Value": "2018-01-30T09:38:00-03:00"
    },
    "OpenTracking": "true",
    "ClickTracking": "true",
    "Enabled": "false"
  }
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "MailId": {
    "AccountStatus": "User",
    "Value": "10291"
  },
  "TransactionId": "RST01_20180130_44c2af5ef1984651bf9f0aad1264b2df",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/massivemail/v1/{ClientName}/GetMails
Obtiene el resumen de un envío por ID.

Obtiene el resumen de un envío por ID

Parameters endpoints

Name

ClientName*

MailId*

Description

Nombre de la cuenta.

Identificador del envío.

Type

string($string) - (path)

integer($int64) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Response": {
    "AccountTipe": "T",
    "MassiveMail": {
      "Id": "7024",
      "Name": "Nombre del envio",
      "Subject": "Asunto del envio",
      "Status": "E",
      "Creator": "email@dominio.com",
      "SentDate": "2017-08-09T13:25:01.717",
      "EnabledBy": "email@dominio.com",
      "EnabledDate": "2017-08-09T13:25:01.717",
      "Total": "1000",
      "CategoryId": "1",
      "Category": "Categoria Test",
      "SubCategoryId": "1",
      "SubCategory": "Test Interno"
    }
  },
  "TransactionId": "RST01_20180130_44c2af5ef1984651bf9f0aad1264b2df",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/massivemail/v1/{ClientName}/GetMail
Obtiene el resumen de un envío por parámetros.

Obtiene el resumen de un envío por parámetros

Parameters endpoints

Name

ClientName*

PageNumber

PageSize

StartDate

EndDate

CategoryId

SubCategoryId

Creator

EnabledBy

Subject

Description

Nombre de la cuenta.

Número de página a la vista.

Cantidad de registros por página.

Fecha inicial del listado de envíos.

Fecha final del listado de envíos.

Identificador de la categoría del envío.

Identificador de la subcategoría del envío.

Correo electrónico o credencial del creador del envío.

Correo electrónico o credencial del habilitador del envío.

Asunto del envío.

Type

string - (path)

string - (query)

string - (query)

string - (query)

string - (query)

integer($int32) - (query)

integer($int32) - (query)

string - (query)

string - (query)

string($string) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Response": {
    "AccountTipe": "T",
    "MassiveMail": {
      "Id": "7024",
      "Name": "Nombre del envio",
      "Subject": "Asunto del envio",
      "Status": "E",
      "Creator": "email@dominio.com",
      "SentDate": "2017-08-09T13:25:01.717",
      "EnabledBy": "email@dominio.com",
      "EnabledDate": "2017-08-09T13:25:01.717",
      "Total": "1000",
      "CategoryId": "1",
      "Category": "Categoria Test",
      "SubCategoryId": "1",
      "SubCategory": "Test Interno"
    }
  },
  "TransactionId": "RST01_20180130_44c2af5ef1984651bf9f0aad1264b2df",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/massivemail/v1/{ClientName}/GetStatistics
Obtiene las estadísticas de un envío.

Obtiene las estadísticas de un envío

Parameters endpoints

Name

ClientName*

MailId

PageNumber

PageSize

StartDate

EndDate

CategoryId

SubCategoryId

EnabledBy

Creator

EnabledBy

Subject

ExtraDetail

Order

Description

Nombre de la cuenta.

Identificador del envío.

Número de página a la vista.

Cantidad de registros por página.

Fecha inicial del listado de envíos.

Fecha final del listado de envíos.

Identificador de la categoría del envío.

Identificador de la subcategoría del envío.

Correo electrónico o credencial del habilitador del envío.

Correo electrónico o credencial del creador del envío.

Correo electrónico o credencial del habilitador del envío.

Asunto del envío.

Indica si se obtendrá estadísticas detalladas.

Indica el orden del listado: Por fecha de envío (0 ascendente, 1 descendente).

Type

string - (path)

integer($int64) - (query)

string - (query)

string - (query)

string - (query)

string - (query)

integer($int32) - (query)

integer - (query)

string($int32) - (query)

string - (query)

string - (query)

string - (query)

boolean - (query)

string($string) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Response": {
    "AccountType": "T",
    "CurrentPage": "1",
    "TotalPage": "500",
    "TotalRecords": "3200",
    "MassiveMail": {
      "Statistics": [{
          "MailId": "10234",
          "Sent": "1000",
          "Open": "700",
          "OpenUnique": "450",
          "OpenPixelTracking": "45",
          "OpenWebview": "1",
          "OpenClicDeduced": "23",
          "Bounce": "2",
          "BounceUnique": "2",
          "Click": "333",
          "ClickUnique": "163",
          "NotOpen": "300",
          "Accepted": "689",
          "Acepted_Rate": "98.0000",
          "TAC": "75.0000",
          "CTR": "75.0000",
          "CTO": "75.0000",
          "ExtraDetail": {
            "Opens": [{
                "OpenDetail": "101",
                "Country": "US",
                "OS": "Linux",
                "Patform": "Desktop",
                "EventDate": "2016-09-02T16:45:11"
              }
            ],
            "Links": [{
                "OpenDetail": "101",
                "Country": "US",
                "OS": "Linux",
                "Patform": "Desktop",
                "EventDate": "2016-09-02T16:45:11"
              }
            ],
            "Bounces": [{
                "OpenDetail": null,
                "Country": null,
                "OS": null,
                "Patform": null,
                "EventDate": "2016-09-02T16:45:11"
              }
            ]
          }
        }
      ]
    }
  },
  "TransactionId": "RST04_20180201_bfb8cbfaf1ff45528b0073cbaae06805",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/massivemail/v1/{ClientName}/GetEvent/{MailId}/{Event}
Obtiene detalles de los eventos relacionados con un envío.

Obtiene detalles de los eventos relacionados con un envío

Parameters endpoints

Name

ClientName*

MailId*

Event*

PageNumber

PageSize

Description

Nombre de la cuenta.

Identificador del envío.

Tipo de evento (sent, open, click, bounce)

Número de página a la vista.

Cantidad de registros por página.

Type

string - (path)

integer($int64) - (path)

string - (path)

string - (query)

string - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Response": {
    "CurrentPage": "1",
    "TotalPage": "1",
    "TotalRecords": "1",
    "Records": {
      "Type": "open",
      "Record": [
        {
          "Email": "correo@mail.com",
          "EventDate": "2018-02-08T15:52:46",
          "OperatingSystem": "Windows 7",
          "Platform": "WinNT"
        }
      ]
    }
  },
  "TransactionId": "RST04_20180201_bfb8cbfaf1ff45528b0073cbaae06805",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

UniqueMail - Administre sus envíos únicos

/UniqueMail/v3/{ClientName}
Realiza un envío único sin plantilla.

Realiza un envío único sin plantilla

Parameters endpoints

Name

ClientName*

Body*

Description

Nombre de la cuenta.

Datos del mensaje a enviar.

Type

string($string) - (path)

(body)

Example Value | Model

{
   "GeneralData": {
      "FromName": "Nombre Remitente",
      "From": "from@mail.com",
      "To": {
         "Email": [
            "destinatario@mail.com"
         ]
      },
      "Cc": {
         "Email": [
            "destinatarioCC@mail.com"
         ]
      },
      "Bcc": {
         "Email": [
            "destinatarioBcc@mail.com"
         ]
      },
      "Message": {
         "Subject": "Asunto del correo",
         "Classification": "T",
         "Body": {
            "Format": "html",
            "Value": "<!DOCTYPE html><html> Cuerpo del correo </html>"
         },
         "Attachment": [
            {
               "FileName": "a-b-c.csv",
               "Encode": "Base64",
               "Size": "1",
               "Value": "ZW1haWw7bm9tYnJlDQphQGEuY29tO2ENCmJAYi5jb207Yg0KY0BjLmNvbTtjDQo="
            }
         ]
      },
      "Options": {
         "OpenTracking": "true",
         "ClickTracking": "true",
         "TextHtmlTracking": "true",
         "AutoTextBody": "false"
      }
   }
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "Mails": [{
        "Id": "W1C1d18d0b1cb52e4a2fa89d19af3fe9b44601"
      }
    ]
  },
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Error": {
    "Code": "NoData"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFoundOrWithoutPermissions"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Code": "GeneralException"
  }
}

/UniqueMail/v3/{ClientName}
Realiza un envío único con plantilla.

Realiza un envío único con plantilla

Parameters endpoints

Name

ClientName*

Body*

Description

Nombre de la cuenta.

Datos del mensaje a enviar.

Type

string($string) - (path)

(body)

Example Value | Model

{
  "GeneralData": {
    "FromName": "Nombre Remitente",
    "From": "correo@remitente.com",
    "To": {
      "Email": ["emaildestintario1@mail.com", " emaildestintario2@mail.com "]
    },
    "Message": {
      "Subject": "Asunto del envio",
      "Classification": "C",
      "BasedOn": {
        "Id": "6",
        "Type": "Template"
      },
      "Body": {
        "Format": "html",
        "Value": "obligatorio",
        "Variables": [{
            "Name": "VariableNombre",
            "Value": "Claudia"
          }, {
            "Name": "VariableApellido",
            "Value": "Carmona"
          }, {
            "Name": "VariableCargo",
            "Value": "Editora de Contenidos"
          }, {
            "Name": "VariableCorreo",
            "Value": "example@mail.com"
          }
        ]
      },
      "Attachment": [{
          "FileName": "NombreArchivo1.ext",
          "Encode": "Base64",
          "Size": "178",
          "Value": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/9k="
        }, {
          "FileName": "NombreArchivo2.ext",
          "Encode": "Base64",
          "Size": "165",
          "Value": "/9j/4AAQSkZJRgABAQAAAQABAAD//LCk/ZWo7P5SrG7hNWz+X6j8hGbTeV3r9goypgENJdfYEIgQiBCIEIgQiBCIEIgQiBCIEIgQiBC//2Q=="
        }
      ]
    },
    "Options": {
      "OpenTracking": "true",
      "ClickTracking": "false",
      "TextHtmlTracking": "true",
      "AutoTextBody": "false",
      "Personalization": "true"
    }
  }
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Service": "Contacts",
  "Version": "1.0.9.0",
  "TransactionId": "a7ef3fd03ad54fdc8394497ff6b74f9c",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Data": {
    "Contacts": {
      "Contact": [{
          "Email": "example@mail.com",
          "idContact": "451028",
          "Validation": {
            "Status": "PASSED"
          },
          "Operation": {
            "Status": "UPDATED",
            "text": "Successfully executed"
          }
        }
      ]
    }
  }
}

400

No Data

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Mensaje": {
      "Code": "InternalWarning"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Error": {
      "Code": "InternalError"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  }
}

/UniqueMail/v3/{ClientName}/Summary
Obtiene el resumen de sus envíos.

Obtiene el resumen de sus envíos

Parameters endpoints

Name

ClientName*

MailId

PageNumber

PageSize

PageSize

StartDate

EndDate

To

Order

Description

Nombre de la cuenta.

Identificador del envío.

Número de página a la vista.

Cantidad de registros a mostrar.

Cantidad de registros por página.

Fecha inicial del listado de envíos.

Fecha final del listado de envíos.

Dirección de correo electrónico del destinatario.

Indica el orden del listado: Por fecha de envío (0 ascendente, 1 descendente).

Type

string($string) - (path)

integer($int64) - (query)

integer($int64) - (query)

integer($int64) - (query)

string - (query)

string - (query)

string - (query)

string - (query)

integer($int32) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "PageDetail": {
      "TotalRecords": "1232",
      "CurrentPage": "1",
      "TotalPages": "10"
    },
    "Mails": [{
        "Id": "A16415e5cb09bea04952bb0e09e25ca6802301",
        "RuleId": "30",
        "Subject": "Asunto del mensaje",
        "From": "remitente@mail.com",
        "To": "destinatario@mail.com",
        "Category": "Categoria Test",
        "UrlEmlOriginal": "https://api.masterosr.com/out/v1/4/4/A16415e5cb09bea04952bb0e09e25ca6802301/o8bhex6cee64lxu20xmubwz7yrbxniws",
        "UrlEmlProced": "https://api.masterosr.com/out/v1/4/4/A16415e5cb09bea04952bb0e09e25ca6802301/2bugbxkq7f6fqs1ul7elz7lwdov71j",
        "ReceptionDate": "2017-11-21T15:21:23.867",
        "SendDate": "2017-11-21T15:19:21.51",
        "Status": "250"
      }
    ]
  },
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Error": {
    "Code": "NoData"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "MassiveMail",
  "Version": "1.0.14.0",
  "Error": {
    "Message": {
      "Code": "AuthorizationFailure"
    }
  },
  "TransactionId": "RST02_20180130_62875e9908484fc9a56db8bdf3d407cd",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Code": "GeneralException"
  }
}

/UniqueMail/v3/{ClientName}/Statistics
Obtiene las estadísticas de sus envíos.

Obtiene las estadísticas de sus envíos

Parameters endpoints

Name

ClientName*

MailId

PageNumber

PageSize

StartDate

EndDate

To

Order

Description

Nombre de la cuenta.

Identificador del envío.

Número de página a la vista.

Cantidad de registros a mostrar.

Fecha inicial del listado de envíos.

Fecha final del listado de envíos.

Dirección de correo electrónico del destinatario.

Indica el orden del listado: Por fecha de envío (0 ascendente, 1 descendente).

Type

string($string) - (path)

integer($int64) - (query)

integer($int64) - (query)

integer($int64) - (query)

string - (query)

string - (query)

string - (query)

integer($int32) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "PageDetail": {
      "TotalRecords": "1232",
      "CurrentPage": "1",
      "TotalPages": "10"
    },
    "Summary": {
      "PageDetail": {
        "Sents": "1",
        "Opens": "1",
        "Clicks": "2",
        "Retries": "2",
        "Accepteds": "1",
        "AcceptedsRate": "100.0000",
        "TACs": "0.0000",
        "PCTRs": "0.0000",
        "CTRs": "0.0000",
        "PCTOs": "0.0000",
        "CTOs": "0.0000"
      }
    },
    "Mails": [{
        "MailId": "A16415e5cb09bea04952bb0e09e25ca6802301",
        "Retry": "2",
        "Sents": "1",
        "Opens": "1",
        "Clicks": "2",
        "Accepteds": "1",
        "AcceptedsRate": "100.0000",
        "TAC": "0.0000",
        "PCTR": "0.0000",
        "CTR": "0.0000",
        "PCTO": "0.0000",
        "CTO": "0.0000"
      }
    ]
  },
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Error": {
    "Code": "NoData"
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Code": "UserNotFoundOrWithoutPermissions"
  }
}

500

Internal error

Example Value | Model

{
  "Service": "UniqueMail",
  "Version": "1.0.13.0",
  "TransactionId": "INSTANCIA 03_20180222_6a7f91d0f6824457a58f89539721d8f7",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Code": "GeneralException"
  }
}

Archive - Accede a la URL de almacenamiento de tus campañas enviadas

/Archive/v1/{ClientName}/GetByRange
Obtiene la URL del EML enviado, por rango de fechas y número de página.

Obtiene la URL del EML enviado, por rango de fechas y número de página

Parameters endpoints

Name

ClientName*

PageNumber

PageSize

StartDate

EndDate

Order

Description

Nombre de la cuenta.

Número de página a la vista.

Cantidad de registros a mostrar.

Fecha inicial del listado de envíos.

Fecha final del listado de envíos.

Indica el orden del listado: Por fecha de envío (0 ascendente, 1 descendente).

Type

string($string) - (path)

integer($int64) - (query)

integer($int64) - (query)

string - (query)

string - (query)

integer($int32) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "PageDetails": {
      "TotalRecords": "408",
      "CurrentPage": "1",
      "TotalPages": "204"
    },
    "Archives": {
      "Archive": [{
          "From": "remitente@mail.com",
          "Serial": "25",
          "MailId": "3099",
          "Type": "0",
          "IdResp": "111",
          "MailUTCDate": "2016-12-15T13:34:14.973",
          "ArchiveDate": "2017-01-05T21:40:18.700",
          "Subject": "Asunto del envio",
          "URL": "https://ss-scl01.masterosr.com/out/v1/AQ02B02/170102/CLIENTE/19/2016-12-15T10/CLIENTE.0.3099.25@sender19.masterbase.com.eml/e5897589e9e14ee9b53a10e7bad963a8"
        }
      ]
    }
  },
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_01_20171102_e5897589e9e14ee9b53a10e7bad963a8",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Error": {
    "Message": {
      "Code": "NoData"
    }
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Message": {
      "Code": "UserNotFoundOrWithoutPermissions"
    }
  }
}

500

Internal error

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

/Archive/v1/{ClientName}/GetByMailId
Obtiene la URL del EML enviado, por ID de envío.

Obtiene la URL del EML enviado, por ID de envío

Parameters endpoints

Name

ClientName*

MailId*

Order

Description

Nombre de la cuenta.

Identificador del envío.

Cantidad de registros a mostrar.

Type

string($string) - (path)

integer($int64) - (query)

integer($int32) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "Archive": [{
        "From": "remitente@mail.com",
        "Serial": "25",
        "MailId": "3099",
        "Type": "0",
        "IdResp": "111",
        "MailUTCDate": "2016-12-15T13:34:14.973",
        "ArchiveDate": "2017-01-05T21:40:18.700",
        "Subject": "Asunto del envio",
        "URL": "https://ss-scl01.masterosr.com/out/v1/AQ02B02/170102/CLIENTE/19/2016-12-15T10/CLIENTE.0.3099.25@sender19.masterbase.com.eml/e5897589e9e14ee9b53a10e7bad963a8"
      }
    ]
  },
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_01_20171102_e5897589e9e14ee9b53a10e7bad963a8",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Error": {
    "Message": {
      "Code": "NoData"
    }
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

500

Internal error

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

/Archive/v1/{ClientName}/GetByEmail
Obtiene la URL del EML enviado, por correo electrónico del destinatario.

Obtiene la URL del EML enviado, por correo electrónico del destinatario

Parameters endpoints

Name

ClientName*

Email*

Order

Description

Nombre de la cuenta.

Dirección de correo electrónico del destinatario.

Indica el orden del listado: Por fecha de envío (0 ascendente, 1 descendente).

Type

string($string) - (path)

integer($int64) - (query)

integer($int32) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "Archive": [{
        "From": "remitente@mail.com",
        "Serial": "25",
        "MailId": "3099",
        "Type": "0",
        "IdResp": "111",
        "MailUTCDate": "2016-12-15T13:34:14.973",
        "ArchiveDate": "2017-01-05T21:40:18.700",
        "Subject": "Asunto del envio",
        "URL": "https://ss-scl01.masterosr.com/out/v1/AQ02B02/170102/CLIENTE/19/2016-12-15T10/CLIENTE.0.3099.25@sender19.masterbase.com.eml/e5897589e9e14ee9b53a10e7bad963a8"
      }
    ]
  },
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_01_20171102_e5897589e9e14ee9b53a10e7bad963a8",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "200",
    "Value": "OK"
  },
  "Error": {
    "Message": {
      "Code": "NoData"
    }
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Message": {
      "Code": "UserNotFoundOrWithoutPermissions"
    }
  }
}

500

Internal error

Example Value | Model

{
  "Service": "Archive",
  "Version": "1.0.2.0",
  "TransactionId": "Archive_04_20171019_cd26038250174628b7ba8274930b12d6",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

Config - Consulte los datos de configuración

/Config/v1/{ClientName}/Fields/{ListId}
Obtiene la información de los campos de una base.

Obtiene la información de los campos de una base

Parameters endpoints

Name

ClientName*

ListId*

Description

Nombre de la cuenta.

Identificador de la base de contactos.

Type

string($string) - (path)

string($string) - (path)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "Field": [{
        "Id": "84",
        "Name": "Email",
        "Display": "Email",
        "IntTtpe": "Str",
        "Required": "1",
        "MinLength": "1",
        "MaxLength": "150",
        "ReadOnly": 0,
        "PersonalizationString": "#!Email!#"
      }
    ]
  },
  "Service": "Config",
  "Version": "1.0.3.0",
  "TransactionId": "CONFIG_04_20180223_9c7f1617f4d6408e8bba266d82f102f8",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "Config",
  "Version": "1.0.3.0",
  "TransactionId": "CONFIG_04_20180223_839ad16e729b4c8fa5c11d3ac16abf72",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Message": {
      "Code": "WarningException"
    }
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Config",
  "Version": "1.0.3.0",
  "TransactionId": "CONFIG_04_20180223_839ad16e729b4c8fa5c11d3ac16abf72",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Message": {
      "Code": "CredentialsNotFound"
    }
  }
}

500

Internal error

Example Value | Model

{
  "Service": "Config",
  "Version": "1.0.3.0",
  "TransactionId": "CONFIG_04_20180223_839ad16e729b4c8fa5c11d3ac16abf72",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

Content - Administre los contenidos de su cuenta

/Content/v1/{ClientName}
Obtiene información de los contenidos de su cuenta.

Obtiene información de los contenidos de su cuenta

Parameters endpoints

Name

ClientName*

ListId*

Description

Nombre de la cuenta.

Identificador de la base de contactos.

Type

string($string) - (path)

integer($int32) - (query)

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": {
    "Summary": {
      "CurrentPage": 1,
      "TotalPages": 1,
      "TotalRecords": 1,
      "Contents": [{
          "Id": "84",
          "Type": "Anuncio Inmobiliario",
          "Name": "Inmobiliaria Saenz",
          "CreationDate": "2017-03-21T14:17:11.287",
          "Creator": "example@exmple.com",
          "ModificationDate": "2017-03-21T14:17:11.287",
          "Modificator": "example@exmple.com",
          "EnableDate": "2017-03-21T14:17:11.287",
          "ExpirationDate": "2017-03-21T14:17:11.287",
          "Status": "2"
        }
      ]
    }
  },
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_56078b29566c42d0a1c90a30074558fd",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_0cf3566d77884022b1bc63298e312c92",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Message": {
      "Code": "WarningException"
    }
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_0cf3566d77884022b1bc63298e312c92",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Message": {
      "Code": "CredentialsNotFound"
    }
  }
}

500

Internal error

Example Value | Model

{
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_0cf3566d77884022b1bc63298e312c92",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

/Content/v1/{ClientName}
Modifica estados y fechas de un contenido.

Modifica estados y fechas de un contenido

Parameters endpoints

Name

ClientName*

ListId*

Body*

Description

Nombre de la cuenta.

Identificador de la lista de contactos.

Datos del contacto a modificar.

Type

string($string) - (path)

integer($int32) - (path)

(body)

Example Value | Model

{
  "Id": "159",
  "EnableDate": "2018-07-14T00:00:00",
  "ExpirationDate": "2018-07-30T03:00:00",
  "Status": "1"
}

(*) Parámetro obligatorio


Responses

Code

200

Description

Succesfull response

Example Value | Model

{
  "Data": "Updated",
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_56078b29566c42d0a1c90a30074558fd",
  "Status": {
    "Code": "200",
    "Value": "OK"
  }
}

400

No Data

Example Value | Model

{
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_0cf3566d77884022b1bc63298e312c92",
  "Status": {
    "Code": "400",
    "Value": "BadRequest"
  },
  "Error": {
    "Message": {
      "Code": "WarningException"
    }
  }
}

401

Unauthorized

Example Value | Model

{
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_0cf3566d77884022b1bc63298e312c92",
  "Status": {
    "Code": "401",
    "Value": "Unauthoraized"
  },
  "Error": {
    "Message": {
      "Code": "CredentialsNotFound"
    }
  }
}

500

Internal error

Example Value | Model

{
  "Service": "Content",
  "Version": "1.0.1.0",
  "TransactionId": "CONTENT_20180713_0cf3566d77884022b1bc63298e312c92",
  "Status": {
    "Code": "500",
    "Value": "InternalServerError"
  },
  "Error": {
    "Message": {
      "Code": "ErrorException"
    }
  }
}

Automatización de Procesos

WebService RDS - Permite ingresar, actualizar y eliminar registros en una colección de datos RDS

Las bases RDS, son bases de datos no relacionales, estas son las que se utilizan en nuestra plataforma de automatización de procesos. Si quieres saber más sobre está opción haz click aquí

https://apirds2020.masterbase.com/find
Para encontrar registros.

Para encontrar registros.

Encontrar registros contenidos en una colección de datos, en base a un filtro determinado (/find)

Responses

Code

/find

Description

Succesfull response

Example Value | Model

    filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}

https://apirds2020.masterbase.com/findOne
Para encontrar un registro.

Para encontrar un registro.

Encontrar un registro que cumpla la o las condiciones de un filtro determinado (/findOne)

Responses

Code

/findOne

Description

Succesfull response

Example Value | Model

 filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}     

https://apirds2020.masterbase.com/findOneAndUpdate
Para encontrar y actualizar un registro.

Para encontrar y actualizar un registro.

Encontrar y actualizar un registro que cumpla la o las condiciones de un filtro determinado (/findOneAndUpdate)

Responses

Code

/findOneAndUpdate

Description

Succesfull response

Example Value | Model

    filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}
update: {"$set":{"customerData.campoN":"valor a actualizar"}}
options: {"returnOriginal":false}

https://apirds2020.masterbase.com/updateOne
Para actualizar un registro.

Para actualizar un registro.

Actualizar un registro que cumpla la o las condiciones de un filtro determinado (/updateOne)

Responses

Code

/updateOne

Description

Succesfull response

Example Value | Model

    filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}
update: {"$set":{"customerData.campoN":"valor a actualizar"}}  

https://apirds2020.masterbase.com/updateMany
Para actualizar multiples registros.

Para actualizar multiples registros.

Actualizar todos los registros que cumplan la o las condiciones de un filtro determinado (/updateMany)

Responses

Code

/updateMany

Description

Succesfull response

Example Value | Model

      filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}
update: {"$set":{"customerData.campoN":"valor a actualizar"}}

https://apirds2020.masterbase.com/insertOne
Para insertar un registro.

Para insertar un registro.

Ingresar un registro nuevo a la colección de datos (/insertOne)

Responses

Code

/insertOne

Description

Succesfull response

Example Value | Model

    document: {"customerData: {"campo1":"valor a insertar", "campo2":"valor a insertar"}}  

https://apirds2020.masterbase.com/deleteOne
Para eliminar un registro.

Para eliminar un registro.

Eliminar un registro de la colección de datos, en base a un filtro determinado (/deleteOne)

Responses

Code

/deleteOne

Description

Succesfull response

Example Value | Model

    filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}  

https://apirds2020.masterbase.com/deleteMany
Para eliminar múltiples registros.

Para eliminar múltiples registros.

Eliminar todos los registros de una colección de datos que cumplan la o las condiciones de un filtro determinado (/deleteMany)

Responses

Code

/deleteMany

Description

Succesfull response

Example Value | Model

     filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"} 

https://apirds2020.masterbase.com/count
Para contabilizar registros.

Para contabilizar registros.

Contar los registros que cumplan la o las condiciones de un filtro determinado (/count)

Responses

Code

/count

Description

Succesfull response

Example Value | Model

    filter: {"customerData.campo1": "valor a buscar","customerData.campo2": "valor a buscar"}  

WebService - FileBunker

https://filein.filebunker.com
Para el almacenamiento de archivos.

Para el almacenamiento de archivos.

Para almacenar un documento en FileBunker

Header

Content-Type*

x-api-key*

Description

Formato del mensaje Http.

Clave única para el acceso a FileBunker.

Type

string

string

Example Value | Content-Type

  multipart/form-data

Example Value | x-api-key

 ak1/mb/fb/XXXX/aaabbccdeef

(*) Parámetro obligatorio
La clave única indica el identificador del cliente, en el caso de este ejemplo XXXX, que corresponde al clientID solicitado en la Metadata del cuerpo (Body)


Name

fileName

Metadata

File

Description

Nombre y extensión del archivo a almacenar.

Estructura JSON que contiene los parámetros que requiere el servicio para almacenar el archivo.

Archivo a subir.

Type

string (text)

string (JSON)

(file)

Example Metadata | Model

{
 "fb": {
 "keyLength": 100,
 "clientID": "6157",
 "daysToExpiration": 20,
 "daysToPurge": 21
 },
 "createdBy": "jespinoza@masterbase.com"
}

(*) Parámetro obligatorio

https://out.filebunker.com/
Obtiene un documento almacenado.

Obtiene un documento almacenado en FileBunker

Parameters endpoints

Name

{{begins}}*

{{id}}*

{{key}}*

Description

corresponde al valor contenido en metadata.customerIndex.begins, entregado como parte de la respuesta del servicio fileBunker cuando se realiza la carga de un archivo.

corresponde al valor contenido en metadata.id, entregado como parte de la respuesta del servicio fileBunker cuando se realiza la carga de un archivo.

corresponde al valor contenido en metadata.customerIndex.key, entregado como parte de la respuesta del servicio fileBunker cuando se realiza la carga de un archivo.

Example Value | Content-Type

{
 "metadata": {
 "_id": "60e775ea21ac700012ff0534",
 "mbData": {
 "creationDate": "2021-07-08T22:02:18.526Z",
 "createdBy": "jose.espinoza@masterbase.com",
 "creationMethod": "IN"
 },
 "customerIndex": {
 "storage": "W1_1057",
 "begins": "I1012",
 "key": "ho0jbeqo7rxuhp3fftpqdnksya4ql895f435ugok2jyajffrv46juff8pkg1xpmg2rshrndi7
yzeznkbqxg0p31hcxri34suflc5",
 "numChunks": 2
 }
 }
}

(*) Parámetro obligatorio


Si necesitas ayuda, contacta a Customer Service haciendo clic aquí

¿Interesado en empezar a automatizar tus procesos?

Estamos para ayudarte

Contacta a un
ejecutivo comercial »