Nombre de la Categoría: > APIs y Webservices

API SOAP – Customer Allowance Webservices

Webservice SOAP que permite hacer consultas y búsquedas de servicios y suscripciones, adicionalmente permite bloquear y desbloquear direcciones, suscribir y eliminar suscripciones de direcciones a servicios.

  • Acceso

Protocolo URL
HTTP
Web Service
https://ws.danaconnect.com/danaconnect/privacy/PrivacyAPI
Definición del Web Service
https://ws.danaconnect.com/danaconnect/privacy/PrivacyAPI?wsdl

 

  • Cómo empezar a utilizar el Web Service

1. La compañía que va a utilizar el Web Service debe contar con un usuario y contraseña válidos.

  • Autenticación

Para poder acceder a los métodos de este API es necesario tener credenciales válidas. Se utiliza un método de autenticación BASIC para el acceso a los WebServices basado en un login y password.

Login: El login consiste en el nombre de usuario concatenado con un @ y seguido del código de la compañía.

Ejemplo de autenticación desde PHP:

Nombre de usuario: administrador

Código de compañía: dana

Login => administrador@dana

[code]
$client = new SoapClient(“http://www03.danaconnect.com:18080/danaconnect/privacy/PrivacyAPI?wsdl”,
array( ‘login’ => ‘administrador@dana’,
‘password’ => ‘mipassword’,
‘authentication’ =>SOAP_AUTHENTICATION_BASIC));
[/code]

 

  • Métodos

1.getServices

Lista los servicios activos. No recibe ningún parámetro, devuelve Json con información de los servicios.

[code] String getServices()

[/code]

Detalle de método getServices


Este método se emplea para consultar todos los servicios activos de la compañía.

Valor devuelto

Retorna un Json con el listado de servicios activos.

[code]

Solicitud

//Llamamos al método y obtenemos el resultado
$result = $client->getServices()->return;

[/code] [code]

Resultado

{“id”:”1″,”name”:”Servicio 1”,”description”:”Primer Servicio”},
{“id”:”2″,”name”:”Servicio 2”,”description”:”Segundo Servicio”}

[/code]

2.addService

Agrega un nuevo servicio al listado de servicios activos, devuelve Json con información del nuevo servicio (incluyendo id generado)

[code]

String addService( String name,
String description )

[/code]

Detalle de método addService

Este método se emplea para consultar todos los servicios activos de la compañía.

Parámetros

name Nombre del servicio (max 85 caracteres)
[divider]
description Breve descripción del servicio (max 250 caracteres)
[divider]

Valor devuelto

Retorna un Json con los detalles del servicio agregado. throws ExceptionSolicitud

[code]

Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘name’ => ‘Test Service’,
‘description’ => ‘Test Service Description’);

$result = $client->addService(params)->return;

[/code]

[code]

Resultado {“id”:26,”name”:”Test Service”,”description”:”Test Service Description”}

[/code]

3.updateService

Dado un id de servicio, actualiza su nombre y/o descripción.

[code]

String updateService( Integer id,
String name,
String description )
[/code]

Detalle de método updateService


Este método se emplea para actualizar nombre y/o descripción de un servicio dado su id.

Parámetros

id id del servicio
[divider]
name Nombre del servicio (max 85 caracteres)
[divider]
description Breve descripción del servicio (max 250 caracteres)
[divider]

 

Valor devuelto

[code]

Solicitud
//Llamamos al método y obtenemos el resultado
$params = array ‘id’ => 26,
‘name’ => ‘Test Cambio’,
description => ‘Test Cambio Description’);

$result = $client->addService(params)->return;
[/code] [code] Resultado {“id”:26,”name”:”Test Cambio”,”description”:”Test Cambio Description”}

[/code]

4.deleteService

Elimina un servicio activo dado un id.

[code]

boolean deleteService( Integer id )

[/code]

Detalle de método deleteService

Parámetros

id id del servicio
[divider]

 

Valor devuelto

Retorna un boolean con el status de la operación. throws Exception

[code]

Solicitud

//Llamamos al método y obtenemos el resultado
$params = array (‘id’ => 26);
$result = $client->deleteService(params)->return;
[/code] [code] Resultado true

[/code]

5.getRecords

Realiza una búsqueda sobre contactos en los registros del privacy policy. Permite realizar filtrado por dirección y canales y capacidad de paginar los resultados.

[code]

String getRecords( String search, (opcional)
List<Integer> idChannels, (opcional)
Integer start,
Integer limit,
boolean displayTotal )
[/code]

Detalle de método getRecords

Parámetros

search Filtro opcional de dirección (se pueden realizar búsquedas parciales)
[divider]
idChannels Listado de filtros por canal (por defecto incluye todos los canales) (ver canales)
[divider]
start Indice del primer registro.
[divider]
limit Cantidad total de campos a mostrar.
[divider]
displayTotal Si “true” despliega el total de los elementos encontrados para la búsqueda realizada.
[divider]

 

Valor devuelto

Retorna un Json con los registros de privacidad y total de la búsqueda (opcional). throws Exception

[code] Solicitud

//Llamamos al método y obtenemos el resultado

$params = array(‘search’ => ‘@gmail.com’,

‘idChannels’ => array(1,2,3),
‘start’ => 1,

‘limit’ => 10,

‘displayTotal’=> true);

 

$result = $client->getRecords(params)->return;
[/code]

 

[code]

Resultado

{“total”:5,”records”:[{“address”:”rebotameX1000@gmail.com”,”date”:”2013-07-03 17:16:35″,”idConversation”:11269,”hardBounced”:true,”idChannel”:1,”idSource”:1,”description”:”Bounce / failed / 5.1.1″,”blocked”:false,”spam”:false},{“address”:”marianisho@gmail.com”,”date”:”2013-07-03 12:46:26″,”idConversation”:0,”hardBounced”:false,”idChannel”:1,”idSource”:2,”description”:”ggggggggggggggg gggg”,”blocked”:true,”spam”:false},{“address”:”rebotameXkjhq@gmail.com”,”date”:”2013-06-28 18:01:41″,”idConversation”:0,”hardBounced”:false,”idChannel”:1,”idSource”:4,”description”:”Bounce / failed / 5.1.1″,”blocked”:true,”spam”:false},{“address”:”malosiouhsiud@gmail.com”,”date”:”2012-07-03 12:59:28″,”idConversation”:0,”hardBounced”:false,”idChannel”:1,”idSource”:1,”description”:”Bounce / failed / 5.1.1″,”blocked”:true,”spam”:false}]}

[/code]

6.getSuscriptions

Realiza una búsqueda sobre el status de bloqueo y suscripción sobre un canal para la dirección proporcionada con respecto a los servicios.

[code]
String getSuscriptions( String address,
Integer idChannel )
[/code]

Detalle de método getSuscriptions

Parámetros

address Dirección completa del contacto
[divider]
idChannel id del canal (ver canales)
[divider]

 

Valor devuelto

Retorna un Json con los detalles de suscripción. throws Exception

[code]

Solicitud
//Llamamos al método y obtenemos el resultado

$params = array (‘address’=> administrador@domain.com’,
‘idChannel’ => 1 );
$result = $client->getSuscriptions(params)->return;

[/code] [code]

Resultado
[{“blocked”:false,”id”:26,”name”:”Test Service”,”description”:”Test Service Description”,”suscribed”:true},

{“blocked”:false,”id”:25,”name”:”Test 2″,”description”:”Test 2″,”suscribed”:true},

{“blocked”:false,”id”:21,”name”:”Mercadeo”,”description”:”M”,”suscribed”:false},

{“blocked”:false,”id”:20,”name”:”Newsletter”,”description”:”Negocios”,”suscribed”:true},

{“blocked”:false,”id”:11,”name”:”Politica”,”description”:”Politica”,”suscribed”:true},

{“blocked”:false,”id”:9,”name”:”Test”,”description”:”Test”,”suscribed”:true}] [/code]

7.unblock

Bloquea una dirección para un determinado canal. Define parámetros adicionales para especificar si es categorizado como Spam y breve descripción de la razón del bloqueo.

[code]

Void unblock( String address,
Integer idChannel )

[/code]

Detalle de método unblock

Parámetros

address Dirección completa del contacto
[divider]
idChannel id del canal (ver canales)
[divider]

Valor devuelto

No regresa ningun valor. throws Exception

[code]

Solicitud
//Llamamos al método y obtenemos el resultado

$params = array(‘address’ => ‘administrador@domain.com’,

‘idChannel’ => 1);

result = $client ->unblock(params)->return;

[/code]

8.block

Bloquea una dirección para un determinado canal. Define parámetros adicionales para especificar si es categorizado como Spam y breve descripción de la razón del bloqueo.

[code]

Integer block ( String address,
Integer idChannel,
boolean isSpam,
Integer idSource,
String description )
[/code]

Detalle de método block

Parámetros

address Dirección completa del contacto
[divider]
idChannel id del canal (ver canales)
[divider]
isSpam Si desea marcar como spam “true”
[divider]
idSource id del source (ver sources)
[divider]
description Razón del bloqueo

 

Valor devuelto

Retorna un Integer con el id del registro bloqueado. throws Exception

[code]

Solicitud
//Llamamos al método y obtenemos el resultado

$params = array (‘address’ => ‘administrador@domain.com’,

‘idChannel’ => 1,

‘isSpam’ => true,

‘isSource’ => 4,

‘description’ => ‘Solicitud del cliente );

$result = $client ->block(params)->return;

[/code] [code]

Resultado 26

[/code]

9.suscribe

Habilita la recepción de comunicaciones a la dirección, para los servicios y canal. Esta suscripción es particular a los servicios y canales indicados. No hay parámetros opcionales.

[code]

Void suscribe( Integer idChannel,
String address,
List<Integer> services )
[/code]

Detalle de método suscribe

Parámetros

address Dirección completa del contacto
[divider]
idChannel id del canal (ver canales)
[divider]
services Listado de id de servicios a los cuales suscribirse
[divider]

 

Valor devuelto

No regresa ningun valor. throws Exception

[code]

Solicitud

//Llamamos al método y obtenemos el resultado
$params = array(‘address’ => administrador@domain.com’,
‘idChannel’=> 1,
‘services’ => array(26,27,28));

$result = $client->suscribe(params)->return;

[/code]

10.unsuscribe

Deshabilita la recepción de comunicaciones a la dirección, para servicios y canal. Esta suscripción es particular a los servicios y canales indicados. No hay parámetros opcionales.

[code]

String unsuscribe( Integer idChannel,
String address,
Integer idSource,
List<Integer> services )

[/code]

Detalle de método suscribe

Parámetros

address Dirección completa del contacto
[divider]
idChannel id del canal (ver canales)
[divider]
idSource id del source (ver sources)
[divider]
service Listado de id de servicios a los cuales suscribirse
[divider]

Valor devuelto

Regresa un listado de ids de registros de suscripción en orden correspondiente al enviado. throws Exception

[code]

Solicitud

//Llamamos al método y obtenemos el resultado

$params = array(‘address’ => ‘administrador@domain.com’,

‘idChannel’ => 1,

‘idSource’ => 1,

‘services’ => array(26));

$result = $client->unsuscribe(params)->return;

[/code]

[code] Resultado [1831600]

[/code]


Ver Tambien:
« | »