Envío HTTP de MMS

Enviado por GolanTrevize el Vie, 26/10/2007 - 12:48.
Tipo de licencia:
Apache 2.0
Descripción:

API que permite componer y enviar mensajes multimedia desde nuestras aplicaciones.

El mensaje puede contener texto, imagen, sonido y vídeo. Hay que tener en cuenta que, en un terminal móvil, no se mostrará el vídeo al mismo tiempo que una imagen o un sonido, por lo que es conveniente que no se inserte un vídeo si ya se ha insertado una imagen o un sonido.

Para enviar un mensaje multimedia es necesario seguir los siguientes pasos:

  • En primer lugar, realizar el login con los datos del remitente (número de teléfono y password)
  • A continuación podremos empezar a insertar los archivos adjuntos. Estos adjuntos pueden ser imágenes, archivos de audio y archivos de vídeo. Al crear el mensaje hay que tener en cuenta que el tamañó máximo del mensaje es de 300kb. Para insertar cada uno de estos archivos será necesario únicamente el path local del archivo.
  • Para realizar el envío propiamente dicho deberemos proporcionar el destinatario (número de teléfono o dirección de correo electrónico), el asunto del mensaje y el texto que acompañará a los adjuntos.

Todas estas operaciones se realizan a través del servicio web de movistar.

Este API está disponible para todos los clientes movistar España.

Enlaces relacionados:

http://code.google.com/p/apimms/
Tracker: http://code.google.com/p/apimms/issues/list

SDK en distintos entornos de desarrollo (Web, escritorio y terminal movil): http://open.movilforum.com/sdks

14 comentarios - escribe el tuyo

Hola, he estado probando y usando ésta API (en PHP) y me he encontrado con algunos problemillas que he tenido que solucionar y que paso a enunciar por si hiciese falta alguna modificación de la API.

Estos problemas pueden ser debidos a que me encuentro tras un proxy y supongo que mucha gente estará igual.

El primero de todos me lo encontré cuando la API (en PHP) no me encontraba el valor de la Cookie. Fué debido a que el valor que me llegaba era "Set-Cookie: skf=" (con un espacio en blanco) y al intentar sacar el valor de la cookie con una expresión regular no me lo cogía. Lo solucioné haciendo el siguiente cambio:

Línea 83: preg_match('/Set-Cookie:.*skf=(.*?)\n/', $header, $matches);

 

El siguiente problema fué cuando adjuntaba un objeto multimedia. Yo recibía un 'oid' pero la API no lo sacaba, con lo que no funcionaba. Era debido que cuando mandaba el objeto multimedia en vez de recibir una trama "HTTP 200 OK" con el parámetro 'oid' yo recibía antes una trama "HTTP 100 CONTINUE", con lo que la API (como divide esas tramas por \r\n\r\n) intentaba buscar el valor 'oid' en la trama "HTTP 100 CONTINUE" (donde obviamente no se encontraba).

La solución por la que opté fué realizar los siguientes cambios:

Comentar (o eliminar) la Línea 222: //list($header, $result) = explode("\r\n\r\n", $result, 2);

Línea 225:  preg_match('/oid:(.*?)\n/', $result, $matches);

 

Ésto mismo me ocurría en las tres funciones para insertar (video, audio e imagen) asi que realicé el mismo cambio en las funciones restantes, quedando afectadas las líneas 362, 365, 503 y 506.

Enviado por alberto el Mar, 18/03/2008 - 09:36.

Movistar ha cambiado recientemente la web de multimedia.movistar.es y esta API ya no nos funciona...

 Podrían haber esperado a que pasase la competición... xD 

Enviado por ernesto.jimenez el Jue, 08/05/2008 - 12:31.

Voy a empezar por lo bueno para terminar dando caña!

Estuve en el primer BarCamp y me divertí, aprendí y realmente salí pensando en que había sido un día de provecho mucho más allá de la oportunidad de hacer networking con gente del sector y algún que otro "colgao" (en el buen sentido) que suelen ser realmente divertidos y aportan además un huevo de sabiduría :) y visión de futuro...

Por lo tanto... aconsejo a todos los que podáis asistir... no dejéis de pasaros por el 2º BarCamp que nos lo vamos a pasar genial, siempre y cuando me dejen ir después de que lean las siguientes líneas...

Sres. de Open MovilForum... me habéis dejado perplejo y alucinado!!!

Me hacia gracia participar en el concurso y se me habían ocurrido varias ideas, alguna incluso subida de tono... pero me decante por buscar una aplicación para el mundo real, de forma, que nuestros clientes pudieran utilizarla para informar a los suyos de los productos de su catalogo vía MMS bajo demanda.

Pero cual ha sido mi sorpresa que al intentar probar el ejemplo y no funcionarme he decidido mirar el fuente del API y vaya pedazo de sorpresa... se comunica con la Web para personas en vez de hacer uso de un servicio web o algo así!!!!

Ahora la critica: Da la sensación de que Open MovilForum es simplemente una medida desesperada de ser "2.0" o "Guais" o yo que se... mas que una iniciativa real, para abrir el potencial de Movistar al publico y este pueda inventar libremente...

De verdad que me habéis dejado totalmente frío! :(

Modificación: No dejo de darle vueltas y la única cosa que se me ocurre, es que al final Movistar está tan desmembrada que la iniciativa Open MovilForum no tiene acceso a esos servicios, que supongo si existirán. 

Enviado por inpyme el Vie, 09/05/2008 - 18:23.

Hola,

 Alberto, gracias por tu aportación!

Ernesto, tienes razón, pero no hay cosas que no están en nuestra mano :_( De todas formas no te preocupes, lo tendremos en cuenta a la hora de evaluar las aplicaciones del Concurso! !

Enviado por csa el Lun, 12/05/2008 - 11:27.

Hola Inpyme,

Si te acercas al Barcamp os contaremos las vicisitudes a la hora de abrir las APIs :_( Por supuesto que serás muy bien recibido :)

Este API es una primera versión beta, y como tal muy mejorable. Y en ello te aseguro que estamos.... pero también te aseguro que no es fácil, y sobre todo, que lleva su tiempo :_(

Te adelanto que el API que estás solicitando, tipo REST está de camino. Os mantendremos informados.

Mientras tanto en breve tendremos disponible otra versión del API de envío MMS, basada en la nueva web. Os animo a que la probéis y nos mandéis vuestros comentarios. Mejor esto que nada, no? :)

Un saludo, y nos vemos en el Barcamp!!

Enviado por csa el Lun, 12/05/2008 - 11:50.

Hola!

Sólo deciros que el API basado en la nueva web está en el horno y estará disponible en un par de días.

Un saludo.

Enviado por GolanTrevize el Lun, 12/05/2008 - 15:56.

csa: me alegro de que lo vayáis a tener en cuenta, sobretodo porque después de tener una librería en Ruby hecha hubo que hacer otra XD

csa, GolanTrevize: una recomendación , cuando trabajéis en la API en Python, en lugar de copiar y pegar cabeceras de un caso real estaría bien que le echaseis un vistazo a Mechanize.

Mechanize (al menos su versión Ruby inspirada en la versión Python) es una librería para hacer web scrapping que os permitirá abstraeros de user-agents, cookies, referers, formularios multipart, etc...

Un saludo!

Enviado por ernesto.jimenez el Lun, 12/05/2008 - 17:41.

Bueno, como lo prometido es deuda, ya está disponible la nueva versión del API de envío de MMS.

Ernesto, gracias por tu recomendación, la estudiaremos

 

Enviado por GolanTrevize el Mié, 14/05/2008 - 11:21.

Hola,

desde que actualizasteis la API no volví a probarla y ahora tengo una duda. ¿Actualizasteis la API de envío de MMS para PHP? si es así, ¿dónde se encuentra? porque la que me he bajado yo es la misma que la primera versión, y no funciona claro.

Muchas gracias

Saludos!

Enviado por alberto el Jue, 19/06/2008 - 13:26.

Hola Alberto, Ya están las descargas correctas, gracias por el aviso.

De todas formas también se puede descargar el API y el ejemplo como parte del SDK para PHP.

Enviado por GolanTrevize el Mar, 24/06/2008 - 11:30.

En el SDK para el iPhone, algunos ejemplos (he probado el de los MMS y el de los SMS) no se compilan si ponemos el Target en Device. Creo que es porque hacéis uso de un Framework (CoreServices) que está disponible en el simulador, pero no en el dispositivo en sí, como podéis ver en la página  Framework Availability in the iPhone SDK del Apple Developer Connection. Así pues, el SDK sirve para hacer pruebas en el ordenador, pero no se pueden ver los resultados en el iPhone :-(

 Jo, que triste me he puesto. 

Enviado por Gerxon el Vie, 08/08/2008 - 02:04.

Hola Gerxon.

Muchas gracias por el aviso, miraremos atentamente lo que nos comentas y la fuente que nos aportas. 

Esperamos en breve poderte dar una alegría.

Saludos.

 

Enviado por mod_open el Vie, 08/08/2008 - 08:46.

Muchas gracias por vuestro interés en el problema. Ojalá me déis esa alegría que decís porque, la verdad, es un SDK muy interesante y es una pena no poderlo utilizar para desarrollos reales.

Un saludo. 

Enviado por Gerxon el Lun, 11/08/2008 - 01:54.

Hola! La solución esta por cambiar ese framework por este: CFNetwork. En CoreServices estaba incluido pero parece que en la versión final no lo han incluido sin embargo CFNetwork si esta soportado. En la siguiente release del SDK estarán implementados estos cambios.

 Muchísimas gracias por reportar el problema.

 Un saludo. 

Enviado por paco el Mar, 19/08/2008 - 08:58.