Artículos sobre: 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: 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

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!