Cliente Laravel de la API Rest de MailRelay.
Credits: Ajuntament de Tarragona.
Check the MailRelay API docs here: https://tarragona1.ipzmarketing.com/api-documentation/
- Instalación
- Configuración
- Uso
composer require ajtarragona/mailrelay-client
Puedes configurar el paquete a través del archivo .env
de tu aplicación Laravel, a través de las siguientes variables de entorno:
MAILRELAY_API_URL
MAILRELAY_API_KEY
MAILRELAY_DEBUG
Alternativamente, puedes publicar en archivo de configuración a través del comando:
php artisan vendor:publish --tag=ajtarragona-mailrelay-config
Esto creará el archivo mailrelay.php
en la carpeta config
de tu aplicación Laravel.
Puedes usar el servicio de tres maneras diferentes:
A través de una Facade
:
use MailRelay;
...
public function test(){
$remitents=MailRelay::getSenders();
...
}
Nota: Para Laravel < 5.6, es necesario registrar el alias de la
Facade
en el archivoconfig/app.php
de tu aplicación Laravel
'aliases' => [
...
'MailRelay' => Ajtarragona\MailRelay\Facades\MailRelay::class
]
Vía Inyección de dependencias:
En tus controladores, helpers, modelo...
use Ajtarragona\MailRelay\MailRelayService;
...
public function test(MailRelayService $mailrelay){
$remitents=$mailrelay->getSenders();
...
}
Vía función helper
:
...
public function test(){
$remitents=mailrelay()->getSenders();
...
}
Un remitente es un objeto de la clase Sender
Retorna todos los remitentes.
$page
: numero de pàgina (opcional)$per_page
: registres per pàgina (opcional)
Retorna un remitente
Retorna el remitente por defecto
Añade un remitente
$name
: nombre del remitente$email
: email del remitente
Un custom field es un objeto de la clase CustomField
Retorna todos los custom_fields de Mailrelay.
Retorna un custom_fields
Añade un custom field a mailrelay.
$name
: nombre corto interno$label
: nombre visible$type
: Tipo de campo. Soportados: text, textarea, number, select, select_multiple, checkbox, radio_buttons, date. (opcional, por defectotext
)$required
: Indica si será obligatorio (opcional, por defectofalse
)$default_value
: Valor por defecto (opcional)
En caso de ser select, select_multiple, checkbox o radio_buttons:
$options
es un array con los nombres de las opciones
Un grupo es un objeto de la clase Group
Retorna todos los grupos.
Retorna un grupo
Añade un grupo
Un boletín es un objeto de la clase Campaign
Retorna todos los boletines.
Retorna un boletin
Añade un boletin
$subject
Asunto$body
Cuerpo del boletín$sender_id
Id del remitente$group_ids
Array de Ids de grupo (opcional)$target
Indica si serà un boletín de grupos (groups
) o de segmento (segment
)$attributes
Array con otros atributos opcionales que pasaremos a la API MailRelay.
Un informe de envio de boletín es un objeto de la clase SentCampaign
Retorna todos los informes de envio de boletín.
Retorna un informe de envio de boletín
Una carpeta es un objeto de la clase CampaignFolder
Retorna todas las carpetas de boletín.
Retorna una carpeta de boletín
Añade una carpeta de boletín
$name
Nombre de la carpeta
Una importacion es un objeto de la clase Import
Retorna todas las importaciones.
Retorna una importacion
Añade una importacion
$filename
name of the file created in MailRelay$subscribers
must be an array of subscribers. Each row must have the same key=>value fields. Custom fields key shold be:custom_field_ID
$group_ids
array of group IDs the users will be subscribed to$callback
url$ignore
by default existing users will be ignored
MailRelay::createImport("prueba api",[
[
"name"=>"juan",
"email"=>"juan2@txomin.com",
"custom_field_17"=>"a"
],
[
"name"=>"Luis d'Àvila",
"email"=>"luis2@txomin.com",
"custom_field_17"=>"bb"
]
],[13]);
Un media file es un objeto de la clase MediaFile
Retorna todas las imagenes
Retorna una imagen
Añade una imagen
$filename
Nombre de la imagen$content
Contenido biario de la imagen (no base64)
Añade una imagen a partir de un upload
Un media folder es un objeto de la clase MediaFolder
Retorna las carpetas de media
Retorna una carpeta de media
Añade una carpeta de media.
Si ya existe con el mismo nombre, la devuelve
Los objetos que devuelve la API se devuelven como instancias de la clase RestModel
.
Sobre estos objetos podemos invocar los siguientes métodos:
Eliminará el objeto de MailRelay
$sender=MailRelay::getSender(2);
$sender->delete();
Modificará los atributos pasados
$sender=MailRelay::getSender(2);
$sender->update([
"name"=>"Nuevo nombre"
]);
Hereda de la clase RestModel
Hereda de la clase RestModel
Métodos:
Envía el mail de confirmación al remitente
$sender=MailRelay::getSender(2);
$sender->sendConfirmationMail();
Hereda de la clase RestModel
Hereda de la clase RestModel
Métodos:
Envía el boletín. Retorna el informe de envio (un objeto SentCampaign)
$boletin=MailRelay::getCampaign(5);
$informe=$boletin->send();
Hereda de la clase RestModel
Métodos:
Retona els clicks
Retona les impressions
Retona els emails enviats
Retona les desubscripcions
Hereda de la clase RestModel
Hereda de la clase RestModel
Métodos:
Devuelve los datos de la importación
Cancela una importación si está en curso
Hereda de la clase RestModel
Hereda de la clase RestModel