MailJet REST API - Schedule

Merkury

UPDATE:

Vale los postparams han de encodearse en JSON, bien por mi....

Solucionado.

Buenas gente.

Estoy implementando un sistema de newsletters en el proyecto en el que estoy trabajando ahora mismo y para ello elegimos MailJet.

La historia por no enrollarme mucho es que estoy en el paso final de programar el envío de las newsletters, y por mucho que lo intento no consigo sacarlo para delante.

La llamada cURL que se usa es esta:

curl -X POST \
--user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
https://api.mailjet.com/v3/REST/newsletter/$ID/schedule \
-H 'Content-Type: application/json' \
-d '{"date": "2015-04-22T09:00:00+01:00"}'

Basicamente estoy montando la llamada cURL de la siguiente forma (os dejo el codigo abreviado no toda la clase)

<?php
	$newsletter_id = 1;
	$date = "2015-04-22T09:00:00+01:00";
	$url = "https://api.mailjet.com/v3/REST/newsletter/" . $newsletter_id . "/schedule";
  	$curl_handle = curl_init();
  	curl_setopt($curl_handle, CURLOPT_POST, 1);
        curl_setopt($curl_handle, CURLOPT_URL, $url);
        curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, 2);
 	curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $date);
        curl_setopt($curl_handle, CURLOPT_USERPWD,  'MY_API_KEY_HERE:MY_SECRET_API_KEY_HERE');
        curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array(
             'Content-Type: application/json'
        ));

$buffer = curl_exec($curl_handle);
$response_code = curl_getinfo($curl_handle, CURLINFO_HTTP_CODE);
    // Close curl process
    curl_close($curl_handle);
    print_r($buffer);
?>

Este codigo hace la petición bien y la API me devuelve la respuesta correcta:

{
	Count: 1,
	Data: [
		{
		Status: "programmed"
		}
	],
	Total: 1
}

Pero pasa que tras efectuarse la llamada y recibir la respuesta, MailJet hace el send, en vez de programarla...

He probado a ejecutar el curl desde la consola y ahi funciona perfectamente, pero en mi implementación hay claramente algo que falla...

Alguien sabe porque, ve donde tengo el error o tiene alguna idea loca que compartir?

Gracias :D

JuAn4k4

Por si te interesa:
https://www.ventureharbour.com/transactional-email-service-best-mandrill-vs-sendgrid-vs-mailjet/

1 respuesta
Merkury

#2 Ya lo había leído, pero mi empresa requiere que el servidor de mail, como almacena los emails, ha de estar en Europa.

Usuarios habituales

  • Merkury
  • JuAn4k4