SlideShare una empresa de Scribd logo
liminal-­‐it.com	
  




Si	
  usted	
  quiere	
  desarrollar	
  con	
  
Bluevia	
  y	
  Java,	
  esto	
  es	
  lo	
  primero	
  
que	
  debe	
  saber	
  

Campus	
  Party	
  	
  
Junio	
  30	
  de	
  2011	
  
	
  
Mario	
  Linares	
  Vásquez	
  
mario.linares@liminal-­‐it.con	
  
	
  
	
  
Bluevia	
  y	
  Java	
  
                                       liminal-­‐it.com	
  

Agenda	
  



•     Modelo	
  de	
  desarrollo	
  
•     REST	
  
•     OAUTH	
  
•     SDK	
  para	
  Java	
  
•     Documentación.	
  
Bluevia	
  y	
  Java	
  
                                        liminal-­‐it.com	
  
	
  




       MODELO	
  DE	
  DESARROLLO	
  
Bluevia	
  y	
  Java	
  
                                                                                   liminal-­‐it.com	
  

Bluevia	
  



 •  Un	
   nuevo	
   concepto	
   para	
   el	
   desarrollo	
   de	
   aplicaciones	
   que	
  
    consumen	
  servicios	
  en	
  la	
  red	
  de	
  telefónica,	
  como	
  mensajería	
  
    o	
  búsqueda	
  de	
  información	
  de	
  personas.	
  

 •  Bluevia	
   proporciona	
   un	
   conjunto	
   de	
   APIs	
   y	
   SDKs	
   para	
  
    diferentes	
  lenguajes	
  de	
  programación.	
  

 •  Las	
   APIs	
   son	
   publicadas	
   como	
   webservices	
   REST	
   y	
   la	
  
    autenWcación	
  de	
  los	
  usuarios	
  se	
  realiza	
  a	
  través	
  de	
  OAUTH.	
  
Bluevia	
  y	
  Java	
  
                                                                                             liminal-­‐it.com	
  

Bluevia	
  



 •  El	
   acceso	
   a	
   los	
   recursos	
   de	
   la	
   red	
   es	
   autorizado	
   por	
   los	
  
    usuarios	
  mediante	
  OAUTH.	
  

 •  Con	
   OAUTH,	
   los	
   datos	
   idenWdad	
   (login,	
   password)	
   de	
   los	
  
    usuarios	
   permanecen	
   privados	
   y	
   no	
   son	
   comparWdos	
   con	
   las	
  
    aplicaciones	
  Bluevia.	
  
Bluevia	
  y	
  Java	
  
                                                liminal-­‐it.com	
  

Modelo	
  de	
  desarrollo	
  




    Mi	
  aplicación	
  




                                 internet	
  
Bluevia	
  y	
  Java	
  
                                                liminal-­‐it.com	
  

Modelo	
  de	
  desarrollo	
  




    Mi	
  aplicación	
  




                                 internet	
  
Bluevia	
  y	
  Java	
  
                                                                           liminal-­‐it.com	
  

Modelo	
  de	
  desarrollo	
  

En	
  el	
  caso	
  de	
  otros	
  lenguajes,	
  la	
  invocación	
  
de	
  las	
  APIs	
  se	
  hace	
  mediante	
  consumo	
  de	
  los	
  
web	
  services	
  REST.	
  	
  
	
  



             Mi	
  aplicación	
                             internet	
  
Bluevia	
  y	
  Java	
  
                                 liminal-­‐it.com	
  

Modelo	
  de	
  desarrollo	
  
Bluevia	
  y	
  Java	
  
                                                                                                                  liminal-­‐it.com	
  

Desarrolladores	
  Bluevia	
  

El	
  modelo	
  de	
  desarrollo,	
  incluye	
  	
  
	
  
1.  Registro	
  en	
  Bluevia:	
  h]ps://bluevia.com/en/user/register.	
  

2.  Obtener	
  API	
  Keys	
  
Un	
   API	
   key	
   es	
   requerida	
   por	
   cada	
   aplicación,	
   con	
   el	
   fin	
   de	
   usar	
   las	
   APIS	
  
bluevia.	
  De	
  acuerdo	
  con	
  el	
  Wpo	
  de	
  Key	
  (Test	
  o	
  Comercial)	
  las	
  APIs	
  se	
  pueden	
  
uWlzar	
  en	
  modo	
  SANDBOX	
  o	
  LIVE.	
  
	
  
	
  
             	
                                                   	
  
	
           SANDBOX:	
   ambiente	
   para	
                     LIVE:	
   ambiente	
   que	
   usa	
   la	
  
             pruebas	
   que	
   no	
   genera	
                  red	
   de	
   tefónica	
   de	
   forma	
  
             tráfico	
  en	
  la	
  red.	
                         real.	
  
             	
                                                   	
  
Bluevia	
  y	
  Java	
  
                                 liminal-­‐it.com	
  

Desarrolladores	
  Bluevia	
  
Bluevia	
  y	
  Java	
  
                                 liminal-­‐it.com	
  

Desarrolladores	
  Bluevia	
  
Bluevia	
  y	
  Java	
  
                                                                                                                   liminal-­‐it.com	
  

Escenarios	
  de	
  desarrollo	
  



                     Test	
  API	
  Key	
                               Commercial	
  API	
  Key	
  
  Sandbox	
          Fase	
  inicial	
  de	
  desarrollo	
              Pruebas	
  antes	
  de	
  iniciar	
  el	
  proceso	
  de	
  
                     -­‐  Pruebas	
  de	
  la	
  aplicación	
           acreditación	
  de	
  la	
  aplicación	
  o	
  antes	
  
                     -­‐  Simulación	
  de	
  error	
                   de	
  subir	
  a	
  una	
  App	
  Store.	
  
                     -­‐  No	
  genera	
  tráfico	
  
  Live	
             Pruebas	
  con	
  desarrolladores	
                -­‐	
  	
  Transacciones	
  sobre	
  la	
  red	
  de	
  
                     registrados	
  y	
  que	
  tengan	
  crédito	
     acuerdo	
  con	
  el	
  modelo	
  comercial	
  
                     para	
  uso	
  de	
  las	
  APIS.	
                seleccionado.	
  
                     	
  
Bluevia	
  y	
  Java	
  
                           liminal-­‐it.com	
  
	
  




       REST	
  
Bluevia	
  y	
  Java	
  
                                                                                                          liminal-­‐it.com	
  

Métodos	
  protocolo	
  HTTP	
  

            Método	
  (Verbo)	
                                      Uso	
  

                  OPTIONS	
          Retorna	
  los	
  métodos	
  soportados	
  por	
  el	
  servidor	
  
                       GET	
  	
         Solicita	
  una	
  representación	
  de	
  un	
  recurso	
  
                     HEAD	
  	
                  Igual	
  que	
  GET	
  pero	
  sin	
  cuerpo	
  
                      POST	
  	
                Envía	
  datos	
  para	
  ser	
  procesados	
  	
  
                       PUT	
  	
          Envía	
  una	
  representación	
  de	
  un	
  recurso	
  
                    DELETE	
  	
                          Elimina	
  el	
  recurso	
  
                     TRACE	
  	
            Solicita	
  retorno	
  del	
  mensaje	
  enviado	
  
                  CONNECT	
                Convierte	
  el	
  request	
  a	
  un	
  tunel	
  TCP/IP	
  
Bluevia	
  y	
  Java	
  
                                                                       liminal-­‐it.com	
  

Códigos	
  de	
  estado	
  HTTP	
  




                           Código	
         Descripción	
  

                             1xx	
          Información	
  
                             2xx	
                Éxito	
  
                             3xx	
          Redirección	
  
                             4xx	
       Error	
  del	
  cliente	
  
                             5xx	
      Error	
  del	
  servidor	
  
Bluevia	
  y	
  Java	
  
                                                                                                           liminal-­‐it.com	
  

Mensaje	
  HTTP	
  -­‐	
  Request	
  
                           POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
                           AuthorizaWon:	
  OAuth	
  	
  
                           	
  	
  realm="h]ps://api.bluevia.com",	
  	
  
                           	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
  
                           	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
                           	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
                           	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
                           	
  	
  oauth_Wmestamp="1291898799",	
  	
  
                           	
  	
  oauth_nonce="15339077371968105486410263075"	
  
                           Content-­‐Type:	
  applicaWon/xml	
  
                           Host:	
  api.bluevia.com:443	
  
                           	
  
                           <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                           <tns:smsText	
  >	
  
                           	
  	
  <tns:address>	
  
                           	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
                           	
  	
  </tns:address>	
  
                           	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                           	
  	
  <tns:originAddress>	
  
                           	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
  
                           	
  	
  </tns:originAddress>	
  
                           </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                                           liminal-­‐it.com	
  

Mensaje	
  HTTP	
  -­‐	
  Request	
  
                           POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  

    Método	
               AuthorizaWon:	
  OAuth	
  	
  
                           	
  	
  realm="h]ps://api.bluevia.com",	
  	
  
     HTTP	
                	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
  
      	
                   	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
                           	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
                           	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
                           	
  	
  oauth_Wmestamp="1291898799",	
  	
  
                           	
  	
  oauth_nonce="15339077371968105486410263075"	
  
                           Content-­‐Type:	
  applicaWon/xml	
  
                           Host:	
  api.bluevia.com:443	
  
                           	
  
                           <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                           <tns:smsText	
  >	
  
                           	
  	
  <tns:address>	
  
                           	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
                           	
  	
  </tns:address>	
  
                           	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                           	
  	
  <tns:originAddress>	
  
                           	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
  
                           	
  	
  </tns:originAddress>	
  
                           </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                                           liminal-­‐it.com	
  

Mensaje	
  HTTP	
  -­‐	
  Request	
  
                           POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  

   Request	
               AuthorizaWon:	
  OAuth	
  	
  
                           	
  	
  realm="h]ps://api.bluevia.com",	
  	
  
     URI	
                 	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
  
      	
                   	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
                           	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
                           	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
                           	
  	
  oauth_Wmestamp="1291898799",	
  	
  
                           	
  	
  oauth_nonce="15339077371968105486410263075"	
  
                           Content-­‐Type:	
  applicaWon/xml	
  
                           Host:	
  api.bluevia.com:443	
  
                           	
  
                           <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                           <tns:smsText	
  >	
  
                           	
  	
  <tns:address>	
  
                           	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
                           	
  	
  </tns:address>	
  
                           	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                           	
  	
  <tns:originAddress>	
  
                           	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
  
                           	
  	
  </tns:originAddress>	
  
                           </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                                                   liminal-­‐it.com	
  

Mensaje	
  HTTP	
  -­‐	
  Request	
  
                           POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
                           AuthorizaWon:	
  OAuth	
  	
  
                           	
  	
  realm="h]ps://api.bluevia.com",	
  	
                                   Versión	
  
                           	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
                                  HTTP	
  
                           	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
                           	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
                                                                                                              	
  
                           	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
                           	
  	
  oauth_Wmestamp="1291898799",	
  	
  
                           	
  	
  oauth_nonce="15339077371968105486410263075"	
  
                           Content-­‐Type:	
  applicaWon/xml	
  
                           Host:	
  api.bluevia.com:443	
  
                           	
  
                           <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                           <tns:smsText	
  >	
  
                           	
  	
  <tns:address>	
  
                           	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
                           	
  	
  </tns:address>	
  
                           	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                           	
  	
  <tns:originAddress>	
  
                           	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
  
                           	
  	
  </tns:originAddress>	
  
                           </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                                           liminal-­‐it.com	
  

Mensaje	
  HTTP	
  -­‐	
  Request	
  
                           POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
                           AuthorizaSon:	
  OAuth	
  	
  
                           	
  	
  realm="hVps://api.bluevia.com",	
  	
  
                           	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
  
                           	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
  Headers	
                	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
                           	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
     	
                    	
  	
  oauth_Smestamp="1291898799",	
  	
  
                           	
  	
  oauth_nonce="15339077371968105486410263075"	
  
                           Content-­‐Type:	
  applicaSon/xml	
  
                           Host:	
  api.bluevia.com:443	
  
                           	
  
                           <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                           <tns:smsText	
  >	
  
                           	
  	
  <tns:address>	
  
                           	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
                           	
  	
  </tns:address>	
  
                           	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                           	
  	
  <tns:originAddress>	
  
                           	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
  
                           	
  	
  </tns:originAddress>	
  
                           </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                                               liminal-­‐it.com	
  

Mensaje	
  HTTP	
  -­‐	
  Request	
  
                           POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
                           AuthorizaWon:	
  OAuth	
  	
  
                           	
  	
  realm="h]ps://api.bluevia.com",	
  	
  
                           	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
  
                           	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
                           	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
                           	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
                           	
  	
  oauth_Wmestamp="1291898799",	
  	
  
                           	
  	
  oauth_nonce="15339077371968105486410263075"	
  
                           Content-­‐Type:	
  applicaWon/xml	
  
                           Host:	
  api.bluevia.com:443	
  
                           	
  
                           <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                           <tns:smsText	
  >	
  
                           	
  	
  <tns:address>	
  
                           	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
                           	
  	
  </tns:address>	
  
                           	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                                                                                                           Cuerpo	
  del	
  
                           	
  	
  <tns:originAddress>	
                                                    mensaje	
  
                           	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
         	
  
                           	
  	
  </tns:originAddress>	
  
                           </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                                     liminal-­‐it.com	
  

 Mensaje	
  HTTP	
  –	
  Request/Response	
  
      POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
      AuthorizaWon:	
  OAuth	
  	
  
      	
  	
  realm="h]ps://api.bluevia.com",	
  	
  
      	
  	
  oauth_consumer_key="Gjqq11099SE",	
  	
  
      	
  	
  oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",	
  	
  
      	
  	
  oauth_signature_method="HMAC-­‐SHA1",	
  	
  
      	
  	
  oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",	
  	
  
      	
  	
  oauth_Wmestamp="1291898799",	
  	
  
      	
  	
  oauth_nonce="15339077371968105486410263075"	
  
      Content-­‐Type:	
  applicaWon/xml	
  
      Host:	
  api.bluevia.com:443	
  
      	
  
      <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
      <tns:smsText	
  >	
  
      	
  	
  <tns:address>	
  
      	
  	
  	
  	
  <tns1:phoneNumber>524794786537</tns1:phoneNumber>	
  
      	
  	
  </tns:address>	
                                                        internet	
  
      	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
      	
  	
  <tns:originAddress>	
  
      	
  	
  	
  	
  <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>	
  
      	
  	
  </tns:originAddress>	
  
      </tns:smsText>	
  




HTTP/1.1	
  201	
  Created	
  
LocaWon:	
  h]ps://api.bluevia.com/services/REST/SMS/outbound/
requests/10001022134544108250/deliverystatus	
  
Content-­‐Length:	
  0	
  
Bluevia	
  y	
  Java	
  
                                                                                     liminal-­‐it.com	
  

REST	
  



 •  REpresentaWonal	
  State	
  Transfer.	
  
 •  EsWlo	
  arquitectónico	
  para	
  aplicaciones	
  distribuidas.	
  
 •  El	
   uso	
   de	
   un	
   conjunto	
   limitado	
   de	
   operaciones,	
   con	
   una	
  
    semánWca	
   uniforme,	
   es	
   suficiente	
   para	
   construir	
   cualquier	
  
    Wpo	
  de	
  aplicación.	
  
 •  Los	
   estados	
   de	
   un	
   proceso	
   pueden	
   ser	
   modelados	
   como	
  
    recursos.	
  
 •  Información	
   semánWca	
   sobre	
   los	
   pasos	
   del	
   proceso	
   de	
  
    negocio,	
  están	
  embebidos	
  en	
  las	
  URIs.	
  
Bluevia	
  y	
  Java	
  
                                                                                          liminal-­‐it.com	
  

CRUD	
  Web	
  services	
  



 Bajo	
   el	
   esWlo	
   REST,	
   las	
   operaciones	
   CRUD	
   son	
   suficientes	
   para	
  
 construir	
  cualquier	
  Wpo	
  de	
  aplicación.	
  



                    Método	
  HTTP	
     URI	
                  Uso	
  
                    POST	
               /message	
             Crear/enviar	
  
                    GET	
                /message/{id}	
        Consultar	
  estado	
  
                    PUT	
                /message/{id}	
        Actualizar	
  
 	
                 DELETE	
             /message/{id}	
        Eliminar	
  
Bluevia	
  y	
  Java	
  
                                                                                                                                         liminal-­‐it.com	
  

CRUD	
  Web	
  services	
  -­‐	
  POST	
  

   Cliente	
                                           POST	
  /services/message	
  HTTP/1.1	
                                        Servidor	
  
                                                       ….	
  
                                                       Host:	
  test.com	
  
                                                       	
  
                                                       El	
  mensaje	
  


                                                                                                               h]p://test.com/services/message	
  



                           201	
  Created	
                                                        Exito	
  
                           LocaSon	
  hVp://test.com/services/
                           message/12345	
  




                                400	
  Bad	
  request	
  
                                                                                                   Error	
  
                                500	
  Internal	
  error	
  
Bluevia	
  y	
  Java	
  
                                                     liminal-­‐it.com	
  

URLs	
  para	
  APIs	
  de	
  Bluevia	
  

hVps://api.bluevia.com/services/REST/SMS/outbound/requests/
10001022145853108719/deliverystatus?version=v1&alt=json	
  


 •  URI	
  de	
  acceso	
  a	
  Bluevia	
  




 	
  
Bluevia	
  y	
  Java	
  
                                                     liminal-­‐it.com	
  

URLs	
  para	
  APIs	
  de	
  Bluevia	
  

h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/
10001022145853108719/deliverystatus?version=v1&alt=json	
  


 •  URI	
  de	
  acceso	
  a	
  Bluevia.	
  
 •  IdenSficador	
  del	
  API.	
  
 	
  
Bluevia	
  y	
  Java	
  
                                                     liminal-­‐it.com	
  

URLs	
  para	
  APIs	
  de	
  Bluevia	
  

h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/
10001022145853108719/deliverystatus?version=v1&alt=json	
  


 •  URI	
  de	
  acceso	
  a	
  Bluevia.	
  
 •  IdenWficador	
  del	
  API.	
  
 •  Operación.	
  
 	
  
Bluevia	
  y	
  Java	
  
                                                     liminal-­‐it.com	
  

URLs	
  para	
  APIs	
  de	
  Bluevia	
  

h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/
10001022145853108719/deliverystatus?version=v1&alt=json	
  


 •      URI	
  de	
  acceso	
  a	
  Bluevia.	
  
 •      IdenWficador	
  del	
  API.	
  
 •      Operación.	
  
 •      IdenSficador	
  del	
  recurso.	
  
 	
  
Bluevia	
  y	
  Java	
  
                                                            liminal-­‐it.com	
  

URLs	
  para	
  APIs	
  de	
  Bluevia	
  

h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/
10001022145853108719/deliverystatus?version=v1&alt=json	
  


 •      URI	
  de	
  acceso	
  a	
  Bluevia.	
  
 •      IdenWficador	
  del	
  API.	
  
 •      Operación.	
  
 •      IdenWficador	
  del	
  recurso.	
  
 •      Parámetros.	
  


 Mas	
  info	
  en	
  	
  
 h]ps://bluevia.com/en/knowledge/APIs.API-­‐Guides	
  
 h]ps://bluevia.com/en/knowledge/APIs.API-­‐Reference	
  
 	
  
Bluevia	
  y	
  Java	
  
                                                            liminal-­‐it.com	
  

URLs	
  para	
  APIs	
  de	
  Bluevia	
  

h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/
10001022145853108719/deliverystatus?version=v1&alt=json	
  


 •      URI	
  de	
  acceso	
  a	
  Bluevia.	
  
 •      IdenWficador	
  del	
  API.	
  
 •      Operación.	
  
 •      IdenWficador	
  del	
  recurso.	
  
 •      Parámetros.	
  


 Mas	
  info	
  en	
  	
  
 h]ps://bluevia.com/en/knowledge/APIs.API-­‐Guides	
  
 h]ps://bluevia.com/en/knowledge/APIs.API-­‐Reference	
  
 	
  
Bluevia	
  y	
  Java	
  
                                                                                                     liminal-­‐it.com	
  

APIs	
  -­‐	
  Formatos	
  de	
  Mensaje	
  


 Los	
   mensajes	
   en	
   métodos	
   POST	
   y	
   PUT	
   pueden	
   enviarse	
  
 uWlizando	
  XML,	
  JSON	
  o	
  URL	
  encoded:	
  
                    POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
                    Content-­‐Type:	
  applicaWon/xml	
  
 	
                 Host:	
  api.bluevia.com:443	
  
                    	
                                                                                               XML	
  
                    <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
                    <tns:smsText	
  xmlns:tns="h]p://www.telefonica.com/schemas/UNICA/REST/sms/v1/"	
  	
  
                    xmlns:tns1=h]p://www.telefonica.com/schemas/UNICA/REST/common/v1	
  
                    	
  xmlns:xsi="h]p://www.w3.org/2001/XMLSchema-­‐instance"	
  	
  
                    xsi:schemaLocaWon="h]p://www.telefonica.com/schemas/UNICA/REST/sms/v1/	
  	
  
                    UNICA_API_REST_sms_types_v1_0.xsd	
  ">	
  
                    	
  	
  <tns:address>	
  
                    	
  	
  	
  	
  <tns1:phoneNumber>52200009</tns1:phoneNumber>	
  
                    	
  	
  </tns:address>	
  
                    	
  	
  <tns:message>This	
  is	
  a	
  text	
  message</tns:message>	
  
                    	
  	
  <tns:originAddress>	
  
                    	
  	
  	
  	
  <tns1:alias>30c8db243ad31380e90f3fd650af9351</tns1:alias>	
  
                    	
  	
  </tns:originAddress>	
  
                    </tns:smsText>	
  
Bluevia	
  y	
  Java	
  
                                                                                             liminal-­‐it.com	
  

APIs	
  -­‐	
  Formatos	
  de	
  Mensaje	
  

             POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
             Content-­‐Type:	
  applicaWon/json	
  
             Host:	
  api.bluevia.com:443	
                                                              JSON	
  
             	
  
             {"smsText":	
  {	
  
             	
  	
  "address":	
  {"phoneNumber":	
  "52200009"},	
  
             	
  	
  "message":	
  "This	
  is	
  a	
  text	
  message",	
  
             	
  	
  "originAddress":	
  {"alias":	
  "30c8db243ad31380e90f3fd650af9351"},	
  
             }}	
  
                                                                                                         URL	
  


    POST	
  /services/REST/SMS/outbound/requests?version=v1	
  HTTP/1.1	
  
    Content-­‐Type:	
  applicaWon/x-­‐www-­‐form-­‐urlencoded	
  
    Host:	
  api.bluevia.com:443	
  
    	
  
    address.phoneNumber=52200009&message=This+is+a+text
    +message&originAddress.alias=30c8db243ad31380e90f3fd650af9351	
  
Bluevia	
  y	
  Java	
  
                                                                                                           liminal-­‐it.com	
  

APIs	
  –	
  Códigos	
  de	
  respuesta	
  y	
  error	
  

           Código	
                      Descripción	
  
           200	
  OK	
                   Éxito.	
  Respuesta	
  {pica	
  para	
  GET	
  y	
  DELETE	
  
           201	
  Created	
              Recurso	
  creado	
  exitosamente	
  (POST,	
  PUT)	
  
           202	
  Accepted	
             Solicitud	
  aceptada	
  para	
  procesamiento.	
  
           204	
  No	
  Content	
        Éxito,	
  pero	
  la	
  respuesta	
  no	
  requiere	
  contenido.	
  


            Código	
  error	
            Descripción	
  
            400	
                        Mensaje	
  request	
  con	
  formato	
  inváido	
  
            401	
                        AutenWcación	
  requerida	
  
            403	
                        El	
  servicio	
  no	
  puede	
  cumplir	
  con	
  la	
  solicitud,	
  
                                         violación	
  de	
  acuerdos	
  de	
  nivel	
  de	
  servicio.	
  
            404	
                        La	
  URI	
  no	
  es	
  válida	
  
            500	
                        “Intermal	
  Error”	
  
Bluevia	
  y	
  Java	
  
                           liminal-­‐it.com	
  
	
  




       OAUTH	
  
Bluevia	
  y	
  Java	
  
                                                                                                            liminal-­‐it.com	
  

OAUTH	
  



OAUTH	
   permite	
   comparWr	
   recursos	
   privados	
   (fotos,	
   listas	
   de	
  
contactos,	
   números	
   de	
   cuentas,	
   etc)	
   alojados	
   en	
   siWos,	
   de	
   tal	
  
forma	
  que	
  otras	
  aplicaciones	
  los	
  puedan	
  uWlizar	
  sin	
  almacenar	
  o	
  
solicitar	
  las	
  credenciales	
  privadas.	
  

                                                          La	
  aplicación	
  no	
  es	
  del	
  
                                                                 proveedor	
  de	
  
	
                                                                 mensajería	
  


           Ejemplo:	
   una	
   aplicación	
   para	
   mensajería	
   SMS/MMS	
   por	
   internet	
  
           requiere	
   una	
   autorización	
   para	
   poder	
   realizar	
   la	
   facturación	
   a	
  
           nombre	
  del	
  propietario	
  del	
  número	
  que	
  envía	
  el	
  mensaje.	
  
Bluevia	
  y	
  Java	
  
                                                                                       liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Definiciones	
  



 •  Proveedor	
  del	
  servicio/Servidor:	
  siWo	
  o	
  web	
  services	
  donde	
  se	
  
    encuentran	
  los	
  recursos.	
  
 •  Usuario	
  :	
  el	
  propietario	
  de	
  los	
  recursos.	
  
 •  Consumidor/Cliente:	
   la	
   aplicación	
   que	
   quiere	
   acceder	
   a	
   los	
  
    recursos.	
  
 •  Token:	
   mecanismo	
   diferente	
   a	
   las	
   credenciales	
   del	
   usuario,	
  
    que	
  son	
  usados	
  para	
  acceder	
  a	
  los	
  recursos.	
  Puede	
  ser	
  de	
  Wpo	
  
    Request	
  o	
  Access.	
  



 	
  
Bluevia	
  y	
  Java	
  
                                                                                  liminal-­‐it.com	
  

OAUTH	
  	
  




   El	
  propietario	
  
                                                             El	
  servidor	
  y	
  	
  
                                                             los	
  recursos	
  




                                                             1.	
  Request	
  token	
  

                           La	
  aplicación	
  cliente	
  
Bluevia	
  y	
  Java	
  
                                                                                             liminal-­‐it.com	
  

OAUTH	
  	
  




   El	
  propietario	
  
                                                                        El	
  servidor	
  y	
  	
  
                                                                        los	
  recursos	
  



             2.	
  Solicita	
  	
  
             autorización	
                                             1.	
  Request	
  token	
  

                                      La	
  aplicación	
  cliente	
  
Bluevia	
  y	
  Java	
  
                                                                                                                 liminal-­‐it.com	
  

OAUTH	
  	
  

                                      3.	
  Se	
  autenWca	
  y	
  da	
  autorización	
  
                                      para	
  el	
  acceso	
  




   El	
  propietario	
  
                                                                                            El	
  servidor	
  y	
  	
  
                                                                                            los	
  recursos	
  



             2.	
  Solicita	
  	
  
             autorización	
                                                                 1.	
  Request	
  token	
  

                                                   La	
  aplicación	
  cliente	
  
Bluevia	
  y	
  Java	
  
                                                                                  liminal-­‐it.com	
  

OAUTH	
  	
  




   El	
  propietario	
  
                                                             El	
  servidor	
  y	
  	
  
                                                             los	
  recursos	
  




                                                             4.	
  Access	
  token	
  
                                                             5.	
  Acceso	
  a	
  los	
  recursos	
  
                           La	
  aplicación	
  cliente	
  
Bluevia	
  y	
  Java	
  
                                                                                                                          liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  

                               h]p://Enviesms.com	
  




                             Su	
  número	
  	
            Enviar	
  a	
  


                                  Mensaje	
         	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  




                                             Un	
  usuario	
  quiere	
  enviar	
  un	
  SMS	
  (con	
  cargo	
  a	
  su	
  cuenta)	
  
                                             	
  a	
  través	
  de	
  una	
  aplicación	
  web	
  
Bluevia	
  y	
  Java	
  
                                                                                                                   liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  

                               h]p://Enviesms.com	
  




                             Su	
  número	
  	
            Enviar	
  a	
  


                                  Mensaje	
         	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  




                                                           La	
  aplicación	
  solicita	
  “unathorized	
  request	
  token”	
  
                                                           al	
  proveedor	
  del	
  servicio	
  
Bluevia	
  y	
  Java	
  
                                                                                                                                        liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  
                                                                              La	
  aplicación	
  redirecciona	
  el	
  flujo	
  a	
  	
  
                                                                              la	
  página	
  del	
  servicio	
  de	
  autorización	
  
                                 h]p://Enviesms.com	
  




                              Su	
  número	
  	
            Enviar	
  a	
  


                                    Mensaje	
        	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  




                           h]p://autorizando.com	
  




                            Login	
  

                            Passwd	
  
Bluevia	
  y	
  Java	
  
                                                                                                                                   liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  

                                 h]p://Enviesms.com	
  




                              Su	
  número	
  	
            Enviar	
  a	
  


                                    Mensaje	
        	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  




                                                                         El	
  usuario	
  da	
  la	
  autorización	
  
                           h]p://autorizando.com	
  
                                                                                                     h]p://autorizando.com	
  




                            Login	
  
                                                                                                        Autoriza	
  a	
  	
  
                            Passwd	
  
                                                                                                        enviesms.com	
  para	
  
                                                                                                        Enviar	
  SMSs	
  ?	
  
Bluevia	
  y	
  Java	
  
                                                                                                             liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  

                                 h]p://Enviesms.com	
  




                              Su	
  número	
  	
            Enviar	
  a	
  


                                    Mensaje	
        	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                                              La	
  aplicación	
  obWene	
  
                                                                              “authorized	
  request	
  token”	
  
                                                     	
  
                                                     	
  




                           h]p://autorizando.com	
  
                                                                               h]p://autorizando.com	
  




                            Login	
  
                                                                                  Autoriza	
  a	
  	
  
                            Passwd	
  
                                                                                  enviesms.com	
  para	
  
                                                                                  Enviar	
  SMSs	
  ?	
  
Bluevia	
  y	
  Java	
  
                                                                                                 liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  

                               h]p://Enviesms.com	
  




                             Su	
  número	
  	
            Enviar	
  a	
  


                                  Mensaje	
         	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  
                                                    	
  




                            La	
  aplicación	
  solicita	
  un	
  “access	
  token”	
  con	
  
                                      el	
  “authorized	
  request	
  token”	
  
Bluevia	
  y	
  Java	
  
                                                                                                          liminal-­‐it.com	
  

OAUTH	
  -­‐	
  Ejemplo	
  	
  

                                      h]p://Enviesms.com	
  




                                    Su	
  número	
  	
            Enviar	
  a	
  


                                         Mensaje	
         	
  
                                                           	
  
                                                           	
  
                                                           	
  
                                                           	
  
                                                           	
  
                                                           	
  




                    Con	
  el	
  access	
  token,	
  la	
  aplicación	
  solicita	
  al	
  servidor	
  
                    del	
  proveedor	
  de	
  mensajería,	
  el	
  envío	
  del	
  mensaje	
  
Bluevia	
  y	
  Java	
  
                                 liminal-­‐it.com	
  
	
  




       SDK	
  PARA	
  JAVA	
  
Bluevia	
  y	
  Java	
  
                           liminal-­‐it.com	
  

SDK	
  para	
  Java	
  
Bluevia	
  y	
  Java	
  
                                                                                                  liminal-­‐it.com	
  

SDK	
  para	
  Java	
  
    Paquete	
                            Descripción	
  

    com.bluevia.examples	
               Ejemplos	
  de	
  invocación	
  de	
  las	
  APIs	
  
    com.bluevia.java.directory	
         Clases	
  para	
  invocar	
  API	
  –	
  user	
  context	
  
                                         	
  
    com.bluevia.java.gap	
               Clases	
  para	
  invocar	
  API	
  -­‐adverWsement	
  
                                         	
  
    com.bluevia.java.locaWon	
           Clases	
  para	
  invocar	
  API	
  -­‐	
  locaWon	
  
                                         	
  
    com.bluevia.java.mms	
               Clases	
  para	
  invocar	
  API	
  -­‐	
  MMS	
  
                                         	
  
    com.bluevia.java.oauth	
             Clases	
  para	
  invocar	
  API	
  de	
  autenWcación	
  
    com.bluevia.java.sms	
               Clases	
  para	
  invocar	
  API	
  -­‐	
  SMS	
  
    com.telefonica.schemas.unica.rest.   Clases	
  generadas	
  por	
  Java	
  XML	
  binding	
  
    *	
                                  (JAXB),	
  para	
  los	
  esquemas	
  de	
  los	
  Wpos.	
  
Bluevia	
  y	
  Java	
  
                                                                                 liminal-­‐it.com	
  

SDK	
  para	
  Java	
  -­‐	
  Funcionalidades	
  



 OAUTH	
  
 •  Solicitar	
  RequestToken	
  y	
  AccessToken.	
  
 	
  
 ADVERTISEMENT	
  
 •  Consultar	
  un	
  Ad	
  (un	
  Ad	
  se	
  compone	
  de	
  un	
  elemento	
  creaWvo	
  
      y	
  	
  una	
  interacción).	
  
 	
  
Bluevia	
  y	
  Java	
  
                                                   liminal-­‐it.com	
  

SDK	
  para	
  Java	
  –	
  Ejemplo	
  OAUTH	
  
Bluevia	
  y	
  Java	
  
                                                                                              liminal-­‐it.com	
  

SDK	
  para	
  Java	
  -­‐	
  Funcionalidades	
  



 SMS/MMS	
  
 •  Envío	
  de	
  SMS/MMS	
  a	
  múlWples	
  desWnos.	
  
 •  Verificar	
  estado	
  del	
  envío	
  de	
  SMS/MMS:	
  
     –  	
  La	
  aplicación	
  solicita	
  el	
  envío	
  de	
  noWficaciones	
  sobre	
  el	
  estado.	
  
     –  La	
  aplicación	
  explícitamente	
  consulta	
  el	
  estado.	
  
      Posibles	
  estados:	
  DeliveredToNetwork,	
  DeliveryUncertain,	
  DeliveryImpossible,	
  	
  
      MessageWaiWng,	
  DeliverdToTerminal,	
  	
  DeliveryNoWficaWonUnsupported.	
  


 •  Recepción	
  de	
  SMS/MMS	
  por	
  demanda	
  o	
  a	
  través	
  de	
  noWficaciones.	
  
 •  Recepción	
  de	
  adjuntos	
  en	
  MMS.	
  
Bluevia	
  y	
  Java	
  
                                                 liminal-­‐it.com	
  

SDK	
  para	
  Java	
  –	
  Ejemplo	
  SMS	
  
Bluevia	
  y	
  Java	
  
                                                                           liminal-­‐it.com	
  

SDK	
  para	
  Java	
  -­‐	
  Funcionalidades	
  


 DIRECTORY/USER	
  CONTEXT	
  
 •  Consultar	
  información	
  personal	
  del	
  usuario.	
  
 •  Consultar	
  perfil	
  del	
  usuario.	
  
 •  Consultar	
  información	
  de	
  la	
  red.	
  
 •  Consultar	
  información	
  del	
  equipo.	
  

 LOCATION	
  
 •  Consultar	
  información	
  de	
  localización	
  del	
  equipo.	
  
Bluevia	
  y	
  Java	
  
                           liminal-­‐it.com	
  
	
  




       DOCUMENTACIÓN	
  
Bluevia	
  y	
  Java	
  
                                                                         liminal-­‐it.com	
  

Documentación	
  


•  Guía	
  de	
  inicio	
  
	
  	
  	
  	
  	
  	
  h]ps://bluevia.com/en/knowledge/getStarted	
  

•  Guía	
  del	
  desarrollador	
  	
  APIs	
  
	
  	
  	
  	
  	
  h]ps://bluevia.com/en/knowledge/APIs.API-­‐Guides	
  
	
  
•  Manual	
  de	
  referencia	
  APIs	
  
	
  	
  	
  	
  	
  h]ps://bluevia.com/en/knowledge/APIs.API-­‐Reference	
  
	
  
•  Documentación	
  propia	
  de	
  cada	
  SDK	
  
Bluevia	
  y	
  Java	
  
                                            liminal-­‐it.com	
  
	
  




       Mario	
  Linares	
  Vásquez	
  
       mario.linares@liminal-­‐it.con	
  
       	
  

       GRACIAS	
  

Más contenido relacionado

PDF
Servicio y Consumo de Servicios REST en PHP
PPTX
Desarrollo de webapps 1
PPT
Propuesta Mp2550 Cardinal
PPT
Realidad aumentada
PDF
Endian una solucion free de seguridad
PDF
Reto desarrolladores
PPT
Fumarola Y Cordoba Tic Ies
PPTX
Club AtléTico Excursionista
Servicio y Consumo de Servicios REST en PHP
Desarrollo de webapps 1
Propuesta Mp2550 Cardinal
Realidad aumentada
Endian una solucion free de seguridad
Reto desarrolladores
Fumarola Y Cordoba Tic Ies
Club AtléTico Excursionista

Destacado (16)

PDF
Can Stress Cause Heartburn?
PPTX
Edgar orozco blogs
PPT
Mundos virtuales inmersivos y social shopping
PDF
El Tema I Les Variacions
PPT
Qué Propones Tu Para Ser Mejor A
PDF
Concursos de robotica movil (1)
PPT
Plantilla proyecto de_vida
PDF
Conferencia Gp2 X
PPT
Theremin Alfredo Vargas
PPT
Creación transmediática y comunidades en práctica
PPT
Diana rojas astrofoto cp
PDF
Patrick aljordcampuspartysl
PDF
Presentacin campus
PPT
Periodismo Ciudadano MóVil Final
PDF
La MúSica ContemporàNia Del S Xx
PDF
ديوان الخطو على مدارج المدينة القديمة
Can Stress Cause Heartburn?
Edgar orozco blogs
Mundos virtuales inmersivos y social shopping
El Tema I Les Variacions
Qué Propones Tu Para Ser Mejor A
Concursos de robotica movil (1)
Plantilla proyecto de_vida
Conferencia Gp2 X
Theremin Alfredo Vargas
Creación transmediática y comunidades en práctica
Diana rojas astrofoto cp
Patrick aljordcampuspartysl
Presentacin campus
Periodismo Ciudadano MóVil Final
La MúSica ContemporàNia Del S Xx
ديوان الخطو على مدارج المدينة القديمة
Publicidad

Similar a Liminal Bluevia 1 (20)

PDF
Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe s...
PDF
Servicios web java, php, perl, google
PDF
Servidores
PDF
Generacion de web sites dinamico
PDF
Generación de web sites dinámicos usando php
PPTX
Integración de Tecnologías y Plataformas.pptx
PDF
Servicios web Extendido_error perl
PDF
Desarrollo web
PDF
Servicios web
PPTX
Modelo cliente/servidor
PDF
Servicios web java php-perl-google
DOCX
Servicio web
PDF
Qué es un servidor proxy
PPTX
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
PPTX
ASP.NET MVC
PDF
Generación de web sites dinámicos usando php
PDF
Generación de web sites dinámicos usando php
PPTX
ASP.NET MVC Workshop Día 3
PDF
OpenAPI 3.0.2
Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe s...
Servicios web java, php, perl, google
Servidores
Generacion de web sites dinamico
Generación de web sites dinámicos usando php
Integración de Tecnologías y Plataformas.pptx
Servicios web Extendido_error perl
Desarrollo web
Servicios web
Modelo cliente/servidor
Servicios web java php-perl-google
Servicio web
Qué es un servidor proxy
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
ASP.NET MVC
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando php
ASP.NET MVC Workshop Día 3
OpenAPI 3.0.2
Publicidad

Más de campus party (20)

PDF
Titulo
PDF
¿Qué es SCADA y cómo me afecta su (in)seguridad?
PDF
Producción del largometraje pequeñas voces
PPTX
Conferencia: Aplicaciones y el reto del desarrollo móvil
PPSX
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
PPSX
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
PDF
X taller bluevialiminal
PDF
X liminal buevia 2 (dllo.)-taller
PDF
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
PDF
Sonido y cine Ricardo Escallon
PPTX
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
PDF
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
PPTX
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
PDF
Android+Arduino
PDF
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
PDF
Linux en caja
PPTX
Webinar playbook air
PPTX
Expo kinect
PPTX
Conferencia voltmodding (1)
PPT
Sesion 4
Titulo
¿Qué es SCADA y cómo me afecta su (in)seguridad?
Producción del largometraje pequeñas voces
Conferencia: Aplicaciones y el reto del desarrollo móvil
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
Como sería un viaje a la velocidad de la luz - Miguel Ángel Contreras
X taller bluevialiminal
X liminal buevia 2 (dllo.)-taller
X elalgoritmodelamemoria maria juliana soto (social media) (1) 1
Sonido y cine Ricardo Escallon
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Bautista
Photoshop para fotógrafos. Del cuarto oscuro al cuarto digital - Andrés Fonseca
Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
Android+Arduino
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Linux en caja
Webinar playbook air
Expo kinect
Conferencia voltmodding (1)
Sesion 4

Último (20)

PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
Introducción a la historia de la filosofía
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PPTX
Clase 3 del silabo-gestion y control financiero
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Tomo 1 de biologia gratis ultra plusenmas
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Manual de Convivencia 2025 actualizado a las normas vigentes
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
Introducción a la historia de la filosofía
Escuelas Desarmando una mirada subjetiva a la educación
Clase 3 del silabo-gestion y control financiero
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf

Liminal Bluevia 1

  • 1. liminal-­‐it.com   Si  usted  quiere  desarrollar  con   Bluevia  y  Java,  esto  es  lo  primero   que  debe  saber   Campus  Party     Junio  30  de  2011     Mario  Linares  Vásquez   mario.linares@liminal-­‐it.con      
  • 2. Bluevia  y  Java   liminal-­‐it.com   Agenda   •  Modelo  de  desarrollo   •  REST   •  OAUTH   •  SDK  para  Java   •  Documentación.  
  • 3. Bluevia  y  Java   liminal-­‐it.com     MODELO  DE  DESARROLLO  
  • 4. Bluevia  y  Java   liminal-­‐it.com   Bluevia   •  Un   nuevo   concepto   para   el   desarrollo   de   aplicaciones   que   consumen  servicios  en  la  red  de  telefónica,  como  mensajería   o  búsqueda  de  información  de  personas.   •  Bluevia   proporciona   un   conjunto   de   APIs   y   SDKs   para   diferentes  lenguajes  de  programación.   •  Las   APIs   son   publicadas   como   webservices   REST   y   la   autenWcación  de  los  usuarios  se  realiza  a  través  de  OAUTH.  
  • 5. Bluevia  y  Java   liminal-­‐it.com   Bluevia   •  El   acceso   a   los   recursos   de   la   red   es   autorizado   por   los   usuarios  mediante  OAUTH.   •  Con   OAUTH,   los   datos   idenWdad   (login,   password)   de   los   usuarios   permanecen   privados   y   no   son   comparWdos   con   las   aplicaciones  Bluevia.  
  • 6. Bluevia  y  Java   liminal-­‐it.com   Modelo  de  desarrollo   Mi  aplicación   internet  
  • 7. Bluevia  y  Java   liminal-­‐it.com   Modelo  de  desarrollo   Mi  aplicación   internet  
  • 8. Bluevia  y  Java   liminal-­‐it.com   Modelo  de  desarrollo   En  el  caso  de  otros  lenguajes,  la  invocación   de  las  APIs  se  hace  mediante  consumo  de  los   web  services  REST.       Mi  aplicación   internet  
  • 9. Bluevia  y  Java   liminal-­‐it.com   Modelo  de  desarrollo  
  • 10. Bluevia  y  Java   liminal-­‐it.com   Desarrolladores  Bluevia   El  modelo  de  desarrollo,  incluye       1.  Registro  en  Bluevia:  h]ps://bluevia.com/en/user/register.   2.  Obtener  API  Keys   Un   API   key   es   requerida   por   cada   aplicación,   con   el   fin   de   usar   las   APIS   bluevia.  De  acuerdo  con  el  Wpo  de  Key  (Test  o  Comercial)  las  APIs  se  pueden   uWlzar  en  modo  SANDBOX  o  LIVE.             SANDBOX:   ambiente   para   LIVE:   ambiente   que   usa   la   pruebas   que   no   genera   red   de   tefónica   de   forma   tráfico  en  la  red.   real.      
  • 11. Bluevia  y  Java   liminal-­‐it.com   Desarrolladores  Bluevia  
  • 12. Bluevia  y  Java   liminal-­‐it.com   Desarrolladores  Bluevia  
  • 13. Bluevia  y  Java   liminal-­‐it.com   Escenarios  de  desarrollo   Test  API  Key   Commercial  API  Key   Sandbox   Fase  inicial  de  desarrollo   Pruebas  antes  de  iniciar  el  proceso  de   -­‐  Pruebas  de  la  aplicación   acreditación  de  la  aplicación  o  antes   -­‐  Simulación  de  error   de  subir  a  una  App  Store.   -­‐  No  genera  tráfico   Live   Pruebas  con  desarrolladores   -­‐    Transacciones  sobre  la  red  de   registrados  y  que  tengan  crédito   acuerdo  con  el  modelo  comercial   para  uso  de  las  APIS.   seleccionado.    
  • 14. Bluevia  y  Java   liminal-­‐it.com     REST  
  • 15. Bluevia  y  Java   liminal-­‐it.com   Métodos  protocolo  HTTP   Método  (Verbo)   Uso   OPTIONS   Retorna  los  métodos  soportados  por  el  servidor   GET     Solicita  una  representación  de  un  recurso   HEAD     Igual  que  GET  pero  sin  cuerpo   POST     Envía  datos  para  ser  procesados     PUT     Envía  una  representación  de  un  recurso   DELETE     Elimina  el  recurso   TRACE     Solicita  retorno  del  mensaje  enviado   CONNECT   Convierte  el  request  a  un  tunel  TCP/IP  
  • 16. Bluevia  y  Java   liminal-­‐it.com   Códigos  de  estado  HTTP   Código   Descripción   1xx   Información   2xx   Éxito   3xx   Redirección   4xx   Error  del  cliente   5xx   Error  del  servidor  
  • 17. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  -­‐  Request   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   AuthorizaWon:  OAuth        realm="h]ps://api.bluevia.com",        oauth_consumer_key="Gjqq11099SE",        oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",        oauth_signature_method="HMAC-­‐SHA1",        oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",        oauth_Wmestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaWon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>      </tns:originAddress>   </tns:smsText>  
  • 18. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  -­‐  Request   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   Método   AuthorizaWon:  OAuth        realm="h]ps://api.bluevia.com",     HTTP      oauth_consumer_key="Gjqq11099SE",          oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",        oauth_signature_method="HMAC-­‐SHA1",        oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",        oauth_Wmestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaWon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>      </tns:originAddress>   </tns:smsText>  
  • 19. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  -­‐  Request   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   Request   AuthorizaWon:  OAuth        realm="h]ps://api.bluevia.com",     URI      oauth_consumer_key="Gjqq11099SE",          oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",        oauth_signature_method="HMAC-­‐SHA1",        oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",        oauth_Wmestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaWon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>      </tns:originAddress>   </tns:smsText>  
  • 20. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  -­‐  Request   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   AuthorizaWon:  OAuth        realm="h]ps://api.bluevia.com",     Versión      oauth_consumer_key="Gjqq11099SE",     HTTP      oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",        oauth_signature_method="HMAC-­‐SHA1",          oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",        oauth_Wmestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaWon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>      </tns:originAddress>   </tns:smsText>  
  • 21. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  -­‐  Request   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   AuthorizaSon:  OAuth        realm="hVps://api.bluevia.com",        oauth_consumer_key="Gjqq11099SE",        oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",     Headers      oauth_signature_method="HMAC-­‐SHA1",        oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",          oauth_Smestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaSon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>      </tns:originAddress>   </tns:smsText>  
  • 22. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  -­‐  Request   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   AuthorizaWon:  OAuth        realm="h]ps://api.bluevia.com",        oauth_consumer_key="Gjqq11099SE",        oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",        oauth_signature_method="HMAC-­‐SHA1",        oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",        oauth_Wmestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaWon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>   Cuerpo  del      <tns:originAddress>   mensaje          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>        </tns:originAddress>   </tns:smsText>  
  • 23. Bluevia  y  Java   liminal-­‐it.com   Mensaje  HTTP  –  Request/Response   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   AuthorizaWon:  OAuth        realm="h]ps://api.bluevia.com",        oauth_consumer_key="Gjqq11099SE",        oauth_token="4bf499a1ecaac050dfaddfef87f99e3a",        oauth_signature_method="HMAC-­‐SHA1",        oauth_signature="8I4319SRY0zLjv15RwqpuF7%2BOso%3D",        oauth_Wmestamp="1291898799",        oauth_nonce="15339077371968105486410263075"   Content-­‐Type:  applicaWon/xml   Host:  api.bluevia.com:443     <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  >      <tns:address>          <tns1:phoneNumber>524794786537</tns1:phoneNumber>      </tns:address>   internet      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>4bf499a1ecaac050dfaddfef87f99e3a</tns1:alias>      </tns:originAddress>   </tns:smsText>   HTTP/1.1  201  Created   LocaWon:  h]ps://api.bluevia.com/services/REST/SMS/outbound/ requests/10001022134544108250/deliverystatus   Content-­‐Length:  0  
  • 24. Bluevia  y  Java   liminal-­‐it.com   REST   •  REpresentaWonal  State  Transfer.   •  EsWlo  arquitectónico  para  aplicaciones  distribuidas.   •  El   uso   de   un   conjunto   limitado   de   operaciones,   con   una   semánWca   uniforme,   es   suficiente   para   construir   cualquier   Wpo  de  aplicación.   •  Los   estados   de   un   proceso   pueden   ser   modelados   como   recursos.   •  Información   semánWca   sobre   los   pasos   del   proceso   de   negocio,  están  embebidos  en  las  URIs.  
  • 25. Bluevia  y  Java   liminal-­‐it.com   CRUD  Web  services   Bajo   el   esWlo   REST,   las   operaciones   CRUD   son   suficientes   para   construir  cualquier  Wpo  de  aplicación.   Método  HTTP   URI   Uso   POST   /message   Crear/enviar   GET   /message/{id}   Consultar  estado   PUT   /message/{id}   Actualizar     DELETE   /message/{id}   Eliminar  
  • 26. Bluevia  y  Java   liminal-­‐it.com   CRUD  Web  services  -­‐  POST   Cliente   POST  /services/message  HTTP/1.1   Servidor   ….   Host:  test.com     El  mensaje   h]p://test.com/services/message   201  Created   Exito   LocaSon  hVp://test.com/services/ message/12345   400  Bad  request   Error   500  Internal  error  
  • 27. Bluevia  y  Java   liminal-­‐it.com   URLs  para  APIs  de  Bluevia   hVps://api.bluevia.com/services/REST/SMS/outbound/requests/ 10001022145853108719/deliverystatus?version=v1&alt=json   •  URI  de  acceso  a  Bluevia    
  • 28. Bluevia  y  Java   liminal-­‐it.com   URLs  para  APIs  de  Bluevia   h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/ 10001022145853108719/deliverystatus?version=v1&alt=json   •  URI  de  acceso  a  Bluevia.   •  IdenSficador  del  API.    
  • 29. Bluevia  y  Java   liminal-­‐it.com   URLs  para  APIs  de  Bluevia   h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/ 10001022145853108719/deliverystatus?version=v1&alt=json   •  URI  de  acceso  a  Bluevia.   •  IdenWficador  del  API.   •  Operación.    
  • 30. Bluevia  y  Java   liminal-­‐it.com   URLs  para  APIs  de  Bluevia   h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/ 10001022145853108719/deliverystatus?version=v1&alt=json   •  URI  de  acceso  a  Bluevia.   •  IdenWficador  del  API.   •  Operación.   •  IdenSficador  del  recurso.    
  • 31. Bluevia  y  Java   liminal-­‐it.com   URLs  para  APIs  de  Bluevia   h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/ 10001022145853108719/deliverystatus?version=v1&alt=json   •  URI  de  acceso  a  Bluevia.   •  IdenWficador  del  API.   •  Operación.   •  IdenWficador  del  recurso.   •  Parámetros.   Mas  info  en     h]ps://bluevia.com/en/knowledge/APIs.API-­‐Guides   h]ps://bluevia.com/en/knowledge/APIs.API-­‐Reference    
  • 32. Bluevia  y  Java   liminal-­‐it.com   URLs  para  APIs  de  Bluevia   h]ps://api.bluevia.com/services/REST/SMS/outbound/requests/ 10001022145853108719/deliverystatus?version=v1&alt=json   •  URI  de  acceso  a  Bluevia.   •  IdenWficador  del  API.   •  Operación.   •  IdenWficador  del  recurso.   •  Parámetros.   Mas  info  en     h]ps://bluevia.com/en/knowledge/APIs.API-­‐Guides   h]ps://bluevia.com/en/knowledge/APIs.API-­‐Reference    
  • 33. Bluevia  y  Java   liminal-­‐it.com   APIs  -­‐  Formatos  de  Mensaje   Los   mensajes   en   métodos   POST   y   PUT   pueden   enviarse   uWlizando  XML,  JSON  o  URL  encoded:   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   Content-­‐Type:  applicaWon/xml     Host:  api.bluevia.com:443     XML   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <tns:smsText  xmlns:tns="h]p://www.telefonica.com/schemas/UNICA/REST/sms/v1/"     xmlns:tns1=h]p://www.telefonica.com/schemas/UNICA/REST/common/v1    xmlns:xsi="h]p://www.w3.org/2001/XMLSchema-­‐instance"     xsi:schemaLocaWon="h]p://www.telefonica.com/schemas/UNICA/REST/sms/v1/     UNICA_API_REST_sms_types_v1_0.xsd  ">      <tns:address>          <tns1:phoneNumber>52200009</tns1:phoneNumber>      </tns:address>      <tns:message>This  is  a  text  message</tns:message>      <tns:originAddress>          <tns1:alias>30c8db243ad31380e90f3fd650af9351</tns1:alias>      </tns:originAddress>   </tns:smsText>  
  • 34. Bluevia  y  Java   liminal-­‐it.com   APIs  -­‐  Formatos  de  Mensaje   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   Content-­‐Type:  applicaWon/json   Host:  api.bluevia.com:443   JSON     {"smsText":  {      "address":  {"phoneNumber":  "52200009"},      "message":  "This  is  a  text  message",      "originAddress":  {"alias":  "30c8db243ad31380e90f3fd650af9351"},   }}   URL   POST  /services/REST/SMS/outbound/requests?version=v1  HTTP/1.1   Content-­‐Type:  applicaWon/x-­‐www-­‐form-­‐urlencoded   Host:  api.bluevia.com:443     address.phoneNumber=52200009&message=This+is+a+text +message&originAddress.alias=30c8db243ad31380e90f3fd650af9351  
  • 35. Bluevia  y  Java   liminal-­‐it.com   APIs  –  Códigos  de  respuesta  y  error   Código   Descripción   200  OK   Éxito.  Respuesta  {pica  para  GET  y  DELETE   201  Created   Recurso  creado  exitosamente  (POST,  PUT)   202  Accepted   Solicitud  aceptada  para  procesamiento.   204  No  Content   Éxito,  pero  la  respuesta  no  requiere  contenido.   Código  error   Descripción   400   Mensaje  request  con  formato  inváido   401   AutenWcación  requerida   403   El  servicio  no  puede  cumplir  con  la  solicitud,   violación  de  acuerdos  de  nivel  de  servicio.   404   La  URI  no  es  válida   500   “Intermal  Error”  
  • 36. Bluevia  y  Java   liminal-­‐it.com     OAUTH  
  • 37. Bluevia  y  Java   liminal-­‐it.com   OAUTH   OAUTH   permite   comparWr   recursos   privados   (fotos,   listas   de   contactos,   números   de   cuentas,   etc)   alojados   en   siWos,   de   tal   forma  que  otras  aplicaciones  los  puedan  uWlizar  sin  almacenar  o   solicitar  las  credenciales  privadas.   La  aplicación  no  es  del   proveedor  de     mensajería   Ejemplo:   una   aplicación   para   mensajería   SMS/MMS   por   internet   requiere   una   autorización   para   poder   realizar   la   facturación   a   nombre  del  propietario  del  número  que  envía  el  mensaje.  
  • 38. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Definiciones   •  Proveedor  del  servicio/Servidor:  siWo  o  web  services  donde  se   encuentran  los  recursos.   •  Usuario  :  el  propietario  de  los  recursos.   •  Consumidor/Cliente:   la   aplicación   que   quiere   acceder   a   los   recursos.   •  Token:   mecanismo   diferente   a   las   credenciales   del   usuario,   que  son  usados  para  acceder  a  los  recursos.  Puede  ser  de  Wpo   Request  o  Access.    
  • 39. Bluevia  y  Java   liminal-­‐it.com   OAUTH     El  propietario   El  servidor  y     los  recursos   1.  Request  token   La  aplicación  cliente  
  • 40. Bluevia  y  Java   liminal-­‐it.com   OAUTH     El  propietario   El  servidor  y     los  recursos   2.  Solicita     autorización   1.  Request  token   La  aplicación  cliente  
  • 41. Bluevia  y  Java   liminal-­‐it.com   OAUTH     3.  Se  autenWca  y  da  autorización   para  el  acceso   El  propietario   El  servidor  y     los  recursos   2.  Solicita     autorización   1.  Request  token   La  aplicación  cliente  
  • 42. Bluevia  y  Java   liminal-­‐it.com   OAUTH     El  propietario   El  servidor  y     los  recursos   4.  Access  token   5.  Acceso  a  los  recursos   La  aplicación  cliente  
  • 43. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     h]p://Enviesms.com   Su  número     Enviar  a   Mensaje                 Un  usuario  quiere  enviar  un  SMS  (con  cargo  a  su  cuenta)    a  través  de  una  aplicación  web  
  • 44. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     h]p://Enviesms.com   Su  número     Enviar  a   Mensaje                 La  aplicación  solicita  “unathorized  request  token”   al  proveedor  del  servicio  
  • 45. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     La  aplicación  redirecciona  el  flujo  a     la  página  del  servicio  de  autorización   h]p://Enviesms.com   Su  número     Enviar  a   Mensaje                 h]p://autorizando.com   Login   Passwd  
  • 46. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     h]p://Enviesms.com   Su  número     Enviar  a   Mensaje                 El  usuario  da  la  autorización   h]p://autorizando.com   h]p://autorizando.com   Login   Autoriza  a     Passwd   enviesms.com  para   Enviar  SMSs  ?  
  • 47. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     h]p://Enviesms.com   Su  número     Enviar  a   Mensaje             La  aplicación  obWene   “authorized  request  token”       h]p://autorizando.com   h]p://autorizando.com   Login   Autoriza  a     Passwd   enviesms.com  para   Enviar  SMSs  ?  
  • 48. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     h]p://Enviesms.com   Su  número     Enviar  a   Mensaje                 La  aplicación  solicita  un  “access  token”  con   el  “authorized  request  token”  
  • 49. Bluevia  y  Java   liminal-­‐it.com   OAUTH  -­‐  Ejemplo     h]p://Enviesms.com   Su  número     Enviar  a   Mensaje                 Con  el  access  token,  la  aplicación  solicita  al  servidor   del  proveedor  de  mensajería,  el  envío  del  mensaje  
  • 50. Bluevia  y  Java   liminal-­‐it.com     SDK  PARA  JAVA  
  • 51. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java  
  • 52. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java   Paquete   Descripción   com.bluevia.examples   Ejemplos  de  invocación  de  las  APIs   com.bluevia.java.directory   Clases  para  invocar  API  –  user  context     com.bluevia.java.gap   Clases  para  invocar  API  -­‐adverWsement     com.bluevia.java.locaWon   Clases  para  invocar  API  -­‐  locaWon     com.bluevia.java.mms   Clases  para  invocar  API  -­‐  MMS     com.bluevia.java.oauth   Clases  para  invocar  API  de  autenWcación   com.bluevia.java.sms   Clases  para  invocar  API  -­‐  SMS   com.telefonica.schemas.unica.rest. Clases  generadas  por  Java  XML  binding   *   (JAXB),  para  los  esquemas  de  los  Wpos.  
  • 53. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java  -­‐  Funcionalidades   OAUTH   •  Solicitar  RequestToken  y  AccessToken.     ADVERTISEMENT   •  Consultar  un  Ad  (un  Ad  se  compone  de  un  elemento  creaWvo   y    una  interacción).    
  • 54. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java  –  Ejemplo  OAUTH  
  • 55. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java  -­‐  Funcionalidades   SMS/MMS   •  Envío  de  SMS/MMS  a  múlWples  desWnos.   •  Verificar  estado  del  envío  de  SMS/MMS:   –   La  aplicación  solicita  el  envío  de  noWficaciones  sobre  el  estado.   –  La  aplicación  explícitamente  consulta  el  estado.   Posibles  estados:  DeliveredToNetwork,  DeliveryUncertain,  DeliveryImpossible,     MessageWaiWng,  DeliverdToTerminal,    DeliveryNoWficaWonUnsupported.   •  Recepción  de  SMS/MMS  por  demanda  o  a  través  de  noWficaciones.   •  Recepción  de  adjuntos  en  MMS.  
  • 56. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java  –  Ejemplo  SMS  
  • 57. Bluevia  y  Java   liminal-­‐it.com   SDK  para  Java  -­‐  Funcionalidades   DIRECTORY/USER  CONTEXT   •  Consultar  información  personal  del  usuario.   •  Consultar  perfil  del  usuario.   •  Consultar  información  de  la  red.   •  Consultar  información  del  equipo.   LOCATION   •  Consultar  información  de  localización  del  equipo.  
  • 58. Bluevia  y  Java   liminal-­‐it.com     DOCUMENTACIÓN  
  • 59. Bluevia  y  Java   liminal-­‐it.com   Documentación   •  Guía  de  inicio              h]ps://bluevia.com/en/knowledge/getStarted   •  Guía  del  desarrollador    APIs            h]ps://bluevia.com/en/knowledge/APIs.API-­‐Guides     •  Manual  de  referencia  APIs            h]ps://bluevia.com/en/knowledge/APIs.API-­‐Reference     •  Documentación  propia  de  cada  SDK  
  • 60. Bluevia  y  Java   liminal-­‐it.com     Mario  Linares  Vásquez   mario.linares@liminal-­‐it.con     GRACIAS