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.
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
La compañía que va a utilizar el Web Service debe contar con un usuario y contraseña válidos.
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
getServices
Lista los servicios activos. No recibe ningún parámetro, devuelve Json con información de los servicios.
String getServices()
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.
Solicitud
//Llamamos al método y obtenemos el resultado
$result = $client->getServices()->return;
Resultado
addService
Agrega un nuevo servicio al listado de servicios activos, devuelve Json con información del nuevo servicio (incluyendo id generado)
String addService( String name,
String description )
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)
description Breve descripción del servicio (max 250 caracteres)
Valor devuelto
Retorna un Json con los detalles del servicio agregado. throws ExceptionSolicitud
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘name’ => ‘Test Service’,
‘description’ => ‘Test Service Description’);
$result = $client->addService(params)-> return;
Resultado
updateService
Dado un id de servicio, actualiza su nombre y/o descripción.
String updateService( Integer id,
String name,
String description )
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
name Nombre del servicio (max 85 caracteres)
description Breve descripción del servicio (max 250 caracteres)
Valor devuelto
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;
Resultado
deleteService
Elimina un servicio activo dado un id.
boolean deleteService( Integer id )
Detalle de método deleteService
Parámetros
id id del servicio
Valor devuelto
Retorna un boolean con el status de la operación. throws Exception
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘id’ => 26);
$result = $client->deleteService(params)-> return;
Resultado
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.
String getRecords( String search, (opcional)
List<Integer> idChannels, (opcional)
Integer start,
Integer limit,
boolean displayTotal )
Detalle de método getRecords
Parámetros
search Filtro opcional de dirección (se pueden realizar búsquedas parciales)
idChannels Listado de filtros por canal (por defecto incluye todos los canales) (ver canales)
start Indice del primer registro.
limit Cantidad total de campos a mostrar.
displayTotal Si “true” despliega el total de los elementos encontrados para la búsqueda realizada.
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;
Resultado
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.
String getSuscriptions( String address,
Integer idChannel )
Detalle de método getSuscriptions
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
Valor devuelto
Retorna un Json con los detalles de suscripción. throws Exception
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘address’=> administrador@domain.com’,
‘idChannel’ => 1 );
$result = $client->getSuscriptions(params)-> return;
Resultado
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.
Void unblock( String address,
Integer idChannel )
Detalle de método unblock
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
Valor devuelto
No regresa ningún valor. throws Exception
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array(‘address’ => ‘administrador@domain.com’,
‘idChannel’ => 1);
result = $client ->unblock(params)-> return;
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.
Integer block ( String address,
Integer idChannel,
boolean isSpam,
Integer idSource,
String description )
Detalle de método block
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
isSpam Si desea marcar como spam “true”
idSource id del source (ver sources)
description Razón del bloqueo
Valor devuelto
Retorna un Integer con el id del registro bloqueado. throws Exception
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 =${color}[#000080]( $client) ->block(params)-> return;
Resultado
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.
Void suscribe( Integer idChannel,
String address,
List<Integer> services )
Detalle de método suscribe
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
services Listado de id de servicios a los cuales suscribirse
Valor devuelto
No regresa ningún valor. throws Exception
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;
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.
String unsuscribe( Integer idChannel,
String address,
Integer idSource,
List<Integer> services )
Detalle de método suscribe
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
idSource id del source (ver sources)
service Listado de id de servicios a los cuales suscribirse
Valor devuelto
Regresa un listado de ids de registros de suscripción en orden correspondiente al enviado. throws Exception
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;
Resultado
Acceso
Protocolo: HTTP
URL
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
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
$client = new SoapClient(“http://www03.danaconnect.com:18080/danaconnect/privacy/PrivacyAPI?wsdl”,
array( ‘login’ => ‘administrador@dana’,
‘password’ => ‘mipassword’,
‘authentication’ =>SOAP_AUTHENTICATION_BASIC));
Métodos
getServices
Lista los servicios activos. No recibe ningún parámetro, devuelve Json con información de los servicios.
String getServices()
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.
Solicitud
//Llamamos al método y obtenemos el resultado
$result = $client->getServices()->return;
Resultado
{“id”:”1″,”name”:”Servicio 1”,”description”:”Primer Servicio”},
{“id”:”2″,”name”:”Servicio 2”,”description”:”Segundo Servicio”}
addService
Agrega un nuevo servicio al listado de servicios activos, devuelve Json con información del nuevo servicio (incluyendo id generado)
String addService( String name,
String description )
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)
description Breve descripción del servicio (max 250 caracteres)
Valor devuelto
Retorna un Json con los detalles del servicio agregado. throws ExceptionSolicitud
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘name’ => ‘Test Service’,
‘description’ => ‘Test Service Description’);
$result = $client->addService(params)-> return;
Resultado
{“id”:26,”name”:”Test Service”,”description”:”Test Service Description”}
updateService
Dado un id de servicio, actualiza su nombre y/o descripción.
String updateService( Integer id,
String name,
String description )
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
name Nombre del servicio (max 85 caracteres)
description Breve descripción del servicio (max 250 caracteres)
Valor devuelto
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;
Resultado
{“id”:26,”name”:”Test Cambio”,”description”:”Test Cambio Description”}
deleteService
Elimina un servicio activo dado un id.
boolean deleteService( Integer id )
Detalle de método deleteService
Parámetros
id id del servicio
Valor devuelto
Retorna un boolean con el status de la operación. throws Exception
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘id’ => 26);
$result = $client->deleteService(params)-> return;
Resultado
true
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.
String getRecords( String search, (opcional)
List<Integer> idChannels, (opcional)
Integer start,
Integer limit,
boolean displayTotal )
Detalle de método getRecords
Parámetros
search Filtro opcional de dirección (se pueden realizar búsquedas parciales)
idChannels Listado de filtros por canal (por defecto incluye todos los canales) (ver canales)
start Indice del primer registro.
limit Cantidad total de campos a mostrar.
displayTotal Si “true” despliega el total de los elementos encontrados para la búsqueda realizada.
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;
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}]}
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.
String getSuscriptions( String address,
Integer idChannel )
Detalle de método getSuscriptions
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
Valor devuelto
Retorna un Json con los detalles de suscripción. throws Exception
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array (‘address’=> administrador@domain.com’,
‘idChannel’ => 1 );
$result = $client->getSuscriptions(params)-> return;
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]
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.
Void unblock( String address,
Integer idChannel )
Detalle de método unblock
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
Valor devuelto
No regresa ningún valor. throws Exception
Solicitud
//Llamamos al método y obtenemos el resultado
$params = array(‘address’ => ‘administrador@domain.com’,
‘idChannel’ => 1);
result = $client ->unblock(params)-> return;
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.
Integer block ( String address,
Integer idChannel,
boolean isSpam,
Integer idSource,
String description )
Detalle de método block
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
isSpam Si desea marcar como spam “true”
idSource id del source (ver sources)
description Razón del bloqueo
Valor devuelto
Retorna un Integer con el id del registro bloqueado. throws Exception
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 =${color}[#000080]( $client) ->block(params)-> return;
Resultado
26
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.
Void suscribe( Integer idChannel,
String address,
List<Integer> services )
Detalle de método suscribe
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
services Listado de id de servicios a los cuales suscribirse
Valor devuelto
No regresa ningún valor. throws Exception
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;
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.
String unsuscribe( Integer idChannel,
String address,
Integer idSource,
List<Integer> services )
Detalle de método suscribe
Parámetros
address Dirección completa del contacto
idChannel id del canal (ver canales)
idSource id del source (ver sources)
service Listado de id de servicios a los cuales suscribirse
Valor devuelto
Regresa un listado de ids de registros de suscripción en orden correspondiente al enviado. throws Exception
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;
Resultado
[1831600]
Actualizado el: 24/11/2021
¡Gracias!