Interfaz de API

La interfaz API de Zadarma te permite usar el servicio para tus propias aplicaciones, así como para conectar con cualquier sistema CRM y programas para call centers. La implementación de API es abierta, cualquier desarrollador puede trabajar con ella gracias a su sencillez.

En API están disponibles todas las funciones básicas:

  • visualización y cambio de ajustes de SIP y centralita virtual
  • visualización de datos estadísticos y de saldo;
  • envío de llamadas (CallBack a números externos y de extensión internos) y de mensajes SMS;
  • notificación del servidor externo sobre cada llamada entrante en la centralita virtual, así como enrutamiento externo de llamadas.

Enlace a API: https://api.zadarma.com

Versión API: v1

Enlace final al método: https://api.zadarma.com/v1/METHOD/

Descarga las clases preparadas de ayuda PHP, C#, Python para trabajar con API en nuestro GitHub.

Instrucciones de integración del sistema de CRM propio y telefonía de Zadarma

Autorización

Cada solicitud que requiere autorización se acompaña de un encabezado adicional, como:
"Authorization: contraseña_del usuario: firma"

Las contraseñas de autorización debes obtenerlas en el área personal.

La firma se realiza de acuerdo con el siguiente algoritmo:

  • un conjunto de parámetros transmitidos (GET, POST, PUT, DELETE) ordenados alfabéticamente por el nombre de la tecla;
  • del conjunto obtenido se genera una cadena de consulta (por ejemplo, la función http_build_query в PHP), ejemplo "from=DATEFROM&to=DATETO…";
  • etc - se une mediante la fórmula: línea = nombre_método línea_solicitud md5( línea_solicitud ), dobde "nombre_método" - línea de la solicitud, comenzando por el dominio (indicando la versión API), antes de la enumeración de parámetros, por ejemplo - '/v1/sip/'
  • la cadena resultante se transforma mediante la función de hash de acuerdo con el algoritmo sha1 con una contraseña del usuario: hash = hash( linea contraseña_secreta)
  • y a continuación hash se codifica en base64 firma = base64_encode( hash )

Ejemplo en PHP:

ksort($params);

$paramsStr = http_build_query($params, null, '&', PHP_QUERY_RFC1738);

$sign = base64_encode(hash_hmac('sha1', $method . $paramsStr . md5($paramsStr), $secret));

$header = 'Authorization: ' . $userKey . ':' . $sign;

La clase preparada de PHP para trabajar con API la puedes descargar en GitHub.

Formatos de respuesta: json (por defecto) y xml.

Para obtener respuesta en API en formato xml, se agrega un parámetro a la cadena de consulta "format=xml".

Limitaciones

La respuesta también contiene información sobre los límites y la solicitud actual, por ejemplo:

X-Zadarma-Method: /v1/
X-RateLimit-Reset: 1434371160
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99

donde,

  • X-Zadarma-Method - método de llamada actual;
  • X-RateLimit-Remaining - número de solicitudes restantes, teniendo en cuenta el límite en el método y por usuario;
  • X-RateLimit-Limit - número total de visitas por minuto;
  • X-RateLimit-Reset - límite de tiempo de reinicio.

Limitaciones generales - 100 solicitudes por minuto, en métodos estadísticos: 10 solicitudes por minuto.

En caso de bloqueo, el método da la respuesta 429 con el encabezamiento "You exceeded the rate limit".

La respuesta se compone de la contraseña obligatoria "status" (success o bien error). Más adelante, en función del método se proporcionan sus contraseñas, con la información solicitada.

En caso de error, se proporciona una contraseña adicional "message" con la descripción del error.

Del mismo modo, todas las respuestas van acompañadas de los correspondientes encabezados HTTP.

Ejemplo de respuesta a error:

JSON:

	{
		"status":"error",
		"message":"Check phone's number"
	}

XML:

	<?xml version="1.0"?>
	<answer>
		<status>error</status>
		<message>Check phone's number</message>
	</answer>

Métodos disponibles:

  • /v1/info/balance/
    saldo del usuario.
  • /v1/info/price/
    el coste de una llamada en base a la tarifa actual del usuario.
  • /v1/info/timezone/
    huso horario del usuario.
  • /v1/tariff/
    información sobre la tarifa actual del usuario.
  • /v1/request/callback/
    devolucion de llamada.
  • /v1/sip/
    relación de números SIP del usuario.
  • /v1/sip/<SIP>/status/
    estado online de número SIP del usuario.
  • /v1/sip/callerid/
    cambio del CallerID.
  • /v1/sip/redirection/
    visualización de reenvíos actuales por números SIP del usuario.
  • /v1/direct_numbers/
    información sobre números directos del usuario.
  • /v1/sip/redirection/
    activación/desactivación del reenvío en base al número SIP.
  • /v1/sip/redirection/
    modificación de los parámetros de reenvío.
  • /v1/pbx/internal/
    visualización de las extensiones de la centralita virtual.
  • /v1/pbx/internal/<PBXSIP>/status/
    estado online de las extensiones de la centralita virtual.
  • /v1/pbx/internal/recording/
    activación de la grabación de llamadas en la extension de la centralita virtual.
  • /v1/pbx/record/request/
    solicitud de un archivo de grabación de la llamada.
  • /v1/pbx/redirection/
    modificación de parámetros de reenvío en la extension de la centralita virtual.
  • /v1/pbx/redirection/
    obtención de parámetros de reenvío en la extension de la centralita virtual.
  • /v1/sms/send/
    envío de SMS.
  • /v1/statistics/
    obtención de estadísticas generales.
  • /v1/statistics/pbx/
    datos estadísticos sobre la centralita virtual.
  • /v1/statistics/callback_widget/
    datos estadísticos del widget de devolución de llamada.
  • /v1/info/number_lookup/
    actualización de base de clientes.
  • /v1/speech_recognition/
    obtener resultado de reconocimiento.
  • /v1/speech_recognition/
    ejecutar reconocimiento.
  • JSON
  • XML
{
    "status":"success",
    "balance":10.34,
    "currency":"USD"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <balance>10.34</balance>
    <currency>USD</currency>
</answer>

Parámetros:

  • number – número de teléfono
  • caller_id (опционально) – CallerID, que va a utilizarse para realizar la llamada.

  • JSON
  • XML
{
    "status":"success",
    "info":{
        "prefix":"4420",
        "description":"United Kingdom, London",
        "price":"0.009",
        "currency":"USD",
    }
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <prefix>4420</prefix>
        <description>United Kingdom, London</description>
        <price>0.009</price>
        <currency>USD</currency>
    </info>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "unixtime":1483228800,
    "datetime":"2017-01-01 00:00:00",
    "timezone":"UTC+0"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <unixtime>1483228800</unixtime>
    <datetime>2017-01-01 00:00:00</datetime>
    <timezone>UTC+0</timezone>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "info": {
        "tariff_id":5,
        "tariff_name":"Standart, special",
        "is_active":false,
        "cost":0,
        "currency":USD,
        "used_seconds":1643,
        "used_seconds_mobile":34,
        "used_seconds_fix":726,
        "tariff_id_for_next_period":5,
        "tariff_for_next_period":Standart, special
    }
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <tariff_id>5</tariff_id>
        <tariff_name>Standart, special</tariff_name>
        <is_active>false</is_active>
        <cost>0</cost>
        <currency>USD</currency>
        <used_seconds>1643</used_seconds>
        <used_seconds_mobile>726</used_seconds_mobile>
        <used_seconds_fix>726</used_seconds_fix>
        <tariff_id_for_next_period>5</tariff_id_for_next_period>
        <tariff_for_next_period>Standart, special</tariff_for_next_period>
    </info>
</answer>

donde

  • tariff_id– ID de la tarifa actual del usuario;
  • tariff_name – nombre de de la tarifa actual del usuario;
  • is_active – tarifa actual activa o inactiva;
  • cost – coste de la tarifa;
  • currency – moneda de la tarifa;
  • used_seconds – número de segundos utilizados e dla tarifa;
  • used_seconds_mobile –número de segundos usados en teléfonos celulares;
  • used_seconds_fix – número de segundos utilizados de la tarifa a teléfonos fijos;
  • tariff_id_for_next_period – ID de la tarifa del usuario en el siguiente período;
  • tariff_for_next_period – nombre de la tarifa del usuario en el siguiente período.

Parámetros:

  • from – tu número de teléfono o SIP, o extensión de la centralita virtual, o el número de secuencia de comandos PBX al que se realiza la devolución de llamada;
  • to – número de teléfono o SIP, al que se llama;
  • sip (opcional) – número SIP del usuario o extensión de la centralita virtual (por ejemplo 100), a través del que se realiza la llamada. Se va a utilizar el CallerID de este número, en los datos estadísticos se va a mostrar este número SIP/АТС, si el número especificado incluye grabación de llamadas o prefijos de marcación, también se usarán;

  • predicted (opcional) – si se especifica este indicador, entonces la solicitud es predicativa (el sistema llama inicialmente al número "to" y solo si se termina de marcar, se conecta a tu SIP o número de teléfono);
  • JSON
  • XML
{
    "status":"success",
    "from": 442037691880,
    "to": 442037691881,
    "time": 1435573082
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <from>442037691880</from>
    <to>442037691881</to>
    <time>1435573082</time>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "sips":[
        {
            "id":"00001",
            "display_name":"SIP 1",
            "lines":3
        },
        {
            "id":"00002",
            "display_name":"SIP 2",
            "lines":3
        }
    ],
    "left":3
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sips>
        <value>
            <id>00001</id>
            <display_name>SIP 1</display_name>
            <lines>3</lines>
        </value>
        <value>
            <id>00002</id>
            <display_name>SIP 2</display_name>
            <lines>3</lines>
        </value>
    </sips>
    <left>1</left>
</answer>

donde

  • id– SIP-id;
  • display_name – nombre en pantalla;
  • lines – número de líneas;
  • left – número de SIP restantes que se puede crear (depende del saldo del usuario y del número total de SIP ya creados).
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "is_online":"false"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <is_online>false</is_online>
</answer>

Parámetros:

  • id – ID SIP al cual cambian los CallerID;
  • number – número, que se cambia en formato internacional (de la lista de números de usuarios confirmados o comprados).
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "new_caller_id":"442037691880"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <new_caller_id>442037691880</new_caller_id>
</answer>

Parámetros:

  • id – selección (opcional) de id específico de SIP.
  • JSON
  • XML
{
    "status":"success",
    "info": [
        {
        "sip_id":"00001",
        "status":"on",
        "condition":"always",
        "destination":"phone",
        "destination_value":"442037691880",
        },
    ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <value>
            <sip_id>00001</sip_id>
            <status>on</status>
            <condition>always</condition>
            <destination>phone</destination>
            <destination_value>442037691880</destination_value>
        </value>
    ...
    </info>
</answer>

donde

  • sip_id– Id de SIP del usuario;
  • status – estado actual: on o bien off;
  • condition – condiciones de reenvío: always – siempre (por defecto), unavailable – en el caso de no levantar el auricular o en caso de ausencia de una conexión SIP;
  • destination – destino para el desvío: phone – a numero de teléfono, pbx – a la centralita virtual;
  • destination_value – numero de desvío: numero de teléfono o ID de la centralita virtual.
  • JSON
  • XML
{
    "status":"success",
    "info": [
        {
            "number":"442037691880",
            "status":"on",
            "country":"Great Britain",
            "description":"London",
            "number_name":null,
            "sip":00001,
            "sip_name":null,
            "start_date":"2015-01-01 18:14:44",
            "stop_date":"2016-02-11 18:14:40",
            "monthly_fee":2,
            "currency":USD,
            "channels":2,
            "autorenew":"true",
            "is_on_test":"false",
            "type":"common"
        },
    ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <value>
            <number>442037691880</number>
            <status>on</status>
            <country>Великобритания</country>
            <description>Лондон</description>
            <number_name>null</number_name>
            <sip>00001</sip>
            <sip_name>Example</sip_name>
            <start_date>2015-01-01 18:14:44</start_date>
            <stop_date>2016-02-11 18:14:40</stop_date>
            <monthly_fee>2</monthly_fee>
            <currency>USD</currency>
            <channels>2</channels>
            <autorenew>true</autorenew>
            <is_on_test>false</is_on_test>
            <type>common</type>
        </value>
    ...
    </info>
</answer>

Dependiendo del tipo de número, ¡el conjunto de campos puede diferir! Descripción de los campos:

  • number – número comprado del usuario;
  • status – estado del número;
  • country – país (para common y revenue);
  • description – descripción: ciudad o tipo (para common y revenue);
  • number_name – "nombre" de número virtual (se crea por el usuario);
  • sip – SIP vinculado al número;
  • sip_name – "nombre" SIP, vinculado al número;
  • start_date – fecha de compra del número por parte del usuario;
  • stop_date – fecha de finalización del plazo de pago del número por parte del usuario;
  • monthly_fee – coste del número (para common);
  • currency – moneda de coste del número (para common);
  • channels – número de líneas en el número (para common);
  • minutes – duración general de las llamadas entrantes en el mes actual (para revenue);
  • autorenew – si está activado la extensión del plazo de vigencia del número (para common, revenue, rufree);
  • is_on_test – si el número se encuentra en fase de pruebas;
  • type – tipo de número: common (número virtual), inum (número internacional gratuito), rufree (número moscovita gratuito), revenue (número moscovita gratuito 495)

Parámetros:

  • id – SIP id;
  • status – el estado que se muestra en el número SIP seleccionado.
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "current_status":"on"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <current_status>on</current_status>
</answer>

Parámetros:

  • id – SIP id;
  • type – tipo de reenvío: phone – al teléfono;
  • number – número de telefono.
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "destination":"442037691880"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <destination>442037691880</destination>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "pbx_id":1234,
    "numbers": [
        100,
        101,
        ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <pbx_id>1234</pbx_id>
    <numbers>
        <value>100</value>
        <value>101</value>
        ...
    </numbers>
</answer>

donde

  • pbx_id – id de la PBX del usuario;
  • numbers –listado de extensiones.
  • JSON
  • XML
{
    "status":"success",
    "pbx_id":1234,
    "number":100,
    "is_online":"false"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <pbx_id>1234</pbx_id>
    <number>100</number>
    <is_online>false</is_online>
</answer>

donde

  • pbx_id – PBX-id;
  • number – extensión de la centralita virtual;
  • is_online – estado online (true|false).

Parámetros:

  • id – extensión de la centralita virtual;
  • estado – estado: "on" - habilitar, "off" - deshabilitar, "on_email" - conectar solo la grabación al correo, "off_email" - deshabilitar solo la grabación al correo, "on_store" - habilitar solo la grabación al repositorio, "off_store" - deshabilitar solo la grabación al repositorio;
  • email – (opcional) cambio de la dirección de correo electrónico a la que se envían las grabaciones de las llamadas. Puedes indicar hasta 3 direcciones de correo electrónico seguidas por comas.
  • JSON
  • XML
{
    "status":"success",
    "internal_number":100,
    "recording":"on",
    "email":"test@test.com"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <internal_number>100</internal_number>
    <recording>on</recording>
    <email>on</email>
</answer>

Parámetros:

  • call_id – id único de llamada, este id está indicado en el nombre del archivo con la grabación de la llamada (único para cada grabación en los datos estadísticos);
  • pbx_call_id – ID permanente de la llamada externa a la centralita virtual (no cambia cuando se pasa de escenario, menú de voz, transferencia etc., se refleja en los datos estadísticos y en las notificaciones);
  • lifetime – (opcional) duración de vida del enlace en segundos (mínimo - 180, máximo - 5184000, por defecto - 1800).

Atención: es suficiente indicar uno de dos parámetros de identificación (pbx_call_id o bien call_id), al indicar pbx_call_id del enlace en una consulta, puede haber varias.

  • JSON
  • XML

Ejemplo de respuesta cuando solo se especifica call_id, solo hay un enlace:

{
    "status":"success",
    "link": "https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3",
    "lifetime_till": "2016-01-01 23:56:22"
}

Ejemplo de respuesta cuando solo se especifica pbx_call_id, puede haber varias referencias:

{
    "status":"success",
    "links":[
        "https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3",
        "https://api.zadarma.com/v1/pbx/record/download/pw7Cj..iOzn99/1-1458313475.213487-101-2016-01-11-100211.mp3"
    ],
    "lifetime_till": "2016-01-01 23:56:22"
}

Ejemplo de respuesta cuando solo se especifica call_id, solo hay un enlace:

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <link>https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3</link>
    <lifetime_till>2016-01-01 23:56:22</lifetime_till>
</answer>

Ejemplo de respuesta cuando solo se especifica pbx_call_id, puede haber varias referencias:

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <links>
        <value>https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3</value>
        <value>https://api.zadarma.com/v1/pbx/record/download/pw7Cj..iOzn99/1-1458313475.213487-101-2016-01-11-100211.mp3</value>
    </links>
    <lifetime_till>2016-01-01 23:56:22</lifetime_till>
</answer>

Parámetros:

  • link – enlace al archivo de la conversación;
  • lifetime_till – hasta qué día seguirá funcionando el enlace.

Parámetros:

Para activar y configurar el reenvío:

  • pbx_number – extensión de la centralita virtual, por ejemplo 100;
  • status – on;
  • type – tipo de reenvío voicemail o phone;
  • destination – teléfono o correo electrónico, dependiendo de parámetro anterior;
  • condition – la condición de reenvío, valores posibles: siempre o bien noanswer;
  • voicemail_greeting – notificación sobre reenvío, posibles valores: no, standart, own. Se indica solo para el type = voicemail;
  • greeting_file – archivo con notificación en el formato mp3 o bien wav hasta 5 MB. Se indica solo para el type = voicemail y voicemail_greeting = own;

Para la activación del reenvío:

  • pbx_number – extensión de la centralita virtual, por ejemplo 100;
  • status – off;
  • JSON
  • XML
{
    "status":"success",
    "current_status":"on",
    "pbx_id":"1234",
    "pbx_name":"100",
    "type":"phone",
    "destination":"79123456789",
    "condition":"noanswer",
    }

<?xml version="1.0"?>
    <answer>
    <status>success</status>
    <current_status>on</current_status>
    <pbx_id>1234</pbx_id>
    <pbx_name>100</pbx_name>
    <type>phone</type>
    <destination>79123456789</destination>
    <condition>noanswer</condition>
    </answer>

Parámetros:

  • pbx_number – extensión de la centralita virtual, por ejemplo 100;
  • JSON
{
    "status":"success",
    "current_status":"on",
    "pbx_id":"1234",
    "pbx_name":"100",
    "type":"phone",
    "destination":"79123456789",
    "condition":"noanswer",
    }

Parámetros:

  • number – número de teléfono para enviar SMS (se pueden enumerar varios separados por comas);
  • message – mensaje (restricciones estándar sobre la longitud de los SMS, en caso de exceder el límite, dividido en varios SMS);
  • caller_id – (opcional) número de teléfono del que se envía el SMS (solo se puede enviar desde la lista de números de usuarios confirmados).
Atención: el envío de SMS es posible dentro de los límites de la FR.
  • JSON
  • XML
{
    "status":"success",
    "messages":1,
    "cost":0.24,
    "currency":"USD"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <value>
        <messages>1</messages>
        <cost>0.24</cost>
        <currency>1</currency>
    </value>
</answer>

Parámetros:

  • start - fecha de comienzo vista de las estadísticas (formato - YYYY-MM-DD HH:MM:SS);
  • end - fecha de final de vista de las estadísticas (formato - YYYY-MM-DD HH:MM:SS);
  • sip (opcional) - filtro en función de determinado número SIP;
  • cost_only (opcional) - vista solo del monto gastado para el período;
  • type (opcional - solo en las estadísticas generales) - tipo de consulta: general (no se indica en la solicitud), toll y ru495. (para estadísticas de los números 800 y números libres 495);
  • skip (opcional - no se tiene en cuenta para este parámetro cost_only) -el número de líneas que hay que omitir en la selección, la salida comenzará desde el salto de línea + 1 (usado para la paginación junto con el parámetro de límite, el valor predeterminado es 0);
  • limit(opcional - no se contabiliza para cost_only) es el límite en el número de líneas de salida (utilizado para la paginación con el parámetro de omisión, el valor máximo 1000, por defecto es 1000).

Plazo máximo para la recepción de datos estadísticos - mes. En caso de aumentar el límite de solicitud, el plazo se reduce automáticamente a 30 días. Si no se indica la fecha de inicio de la selección, se selecciona el inicio del mes en curso. Si no se indica la fecha de final de la selección, la selección se limita a la fecha y hora en curso.
Número máximo de líneas introducidas para una solicitud - 1000. Para la paginación, utiliza los parámetros skip y limit.

  • JSON
  • XML
{
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-29 13:45:23",
    "stats":[
        {
            "id":"155112249",
            "sip":"00001",
            "callstart":"2015-06-02 12:20:25",
            "from":442037691880,
            "to":442037691881,
            "description":"United Kingdom, London",
            "disposition":"busy",
            "billseconds":0,
            "cost":0.1950,
            "billcost":0.0000,
            "currency":"USD"
        },
        …
    ]
}

?type=cost_only:
{
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-29 14:03:57",
    "stats":[
        {
            "cost":38.094,
            "currency":"USD",
            "seconds":9785
        }
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <start>2015-06-01 00:00:00</start>
    <end>2015-06-29 13:58:22</end>
    <stats>
        <value>
            <id>155112249</id>
            <sip>00001</sip>
            <callstart>2015-06-02 12:20:25</callstart>
            <description>United Kingdom, London</description>
            <disposition>busy</disposition>
            <billseconds>0</billseconds>
            <cost>0.195</cost>
            <billcost>0</billcost>
            <currency>USD</currency>
            <from>442037691880</from>
            <to>442037691881</to>
        </value>
        …
    </stats>
</answer>

?type=cost_only:
<?xml version="1.0"?>
<answer>
    <status>success</status>
    <start>2015-06-01 00:00:00</start>
    <end>2015-06-29 14:03:30</end>
    <stats>
    <value>
        <cost>38.094</cost>
        <currency>USD</currency>
        <seconds>9785</seconds>
    </value>
    </stats>
</answer>

donde

  • start – fecha de comienzo de visualización de estadísticas;
  • end – fecha de final de visualización de estadísticas;
  • id – id de llamada;
  • sip – número SIP;
  • callstart – hora del inicio de la llamada;
  • description – descripción del destino de la llamada;
  • disposition – estado de la llamada:
    • 'answered' – разговор,
    • 'busy' – ocupado,
    • 'cancel' - cancelado,
    • 'no answer' - sin respuesta,
    • 'failed' - no ha sido posible,
    • 'no money' - no hay saldo, se ha superado el límite,
    • 'unallocated number' - el número no existe,
    • 'no limit' - se ha superado el límite,
    • 'no day limit' - se ha superado el límite diario,
    • 'line limit' - se ha superado el límite de la línea,
    • 'no money, no limit' - se ha superado el límite;
  • billseconds – número de los segundos de la llamada;
  • cost – coste del minuto de llamada a este destino;
  • billcost –coste de los minutos abonados;
  • currency – moneda del pago de la llamada;
  • from – desde qué número se ha llamado;
  • to – adónde se ha llamado.

Parámetros:

  • start - fecha de inicio para revisión de datos estadísticos (formato - YYYY-MM-DD HH:MM:SS);
  • end - fecha de fin para revisión de datos estadísticos (formato - YYYY-MM-DD HH:MM:SS);
  • version - formato de introducción de datos estadísticos (2 - nuevo, 1 - antiguo);
  • skip (opcional) - número de líneas omitidas en la selección, la selección empezará desde la línea skip +1 (se utiliza para la paginación conjunta con el parámetro limit que, por defecto es igual a 0);
  • limit (opcional) - límite para las líneas generadas (se utiliza para la paginación conjunta con el parámetro skip, valor máximo 1000, valor por defecto 1000);
  • call_type (opcional) - destino de llamadas ('in' para entrantes, 'out' para salientes). Si no se indica, se generarán todas las llamadas.
  • JSON
  • XML
{
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-30 23:59:59",
    "version":2,
    "stats":[
        {
            "call_id":1439981389.2702773,
            "sip":200,
            "callstart":"2015-06-01 15:04:00",
            "clid":200,
            "destination":5,
            "disposition":"answered",
            "seconds":5,
            "is_recorded":true,
            "pbx_call_id":"in_ae6b03b3b0765d127ec0b739209346bbc4f0d52d"
        },
        …
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
        <start>2015-06-01 00:00:00</start>
        <end>2015-06-30 23:59:59</end>
        <version>2</version>
        <stats>
        <value>
            <call_id>1439981389.2702773</call_id>
            <sip>200</sip>
            <callstart>2015-06-01 15:04:00</date>
            <clid>200</clid>
            <destination>5</destination>
            <disposition>answered</disposition>
            <seconds>5</seconds>
            <is_recorded>true</is_recorded>
            <pbx_call_id>in_ae6b03b3b0765d127ec0b739209346bbc4f0d52d</pbx_call_id>
        </value>
        …
    </stats>
</answer>

donde

  • start – fecha de comienzo de visualización de estadísticas;
  • end – fecha de final de visualización de estadísticas;
  • version - formato de introducción de estadísticas (2 - nuevo, 1 - antiguo);
  • call_id – id único de llamada, este id está indicado en el nombre del archivo con la grabación de la llamada (único para cada grabación en los datos estadísticos);
  • sip – número SIP;
  • callstart – hora de inicio de la llamada;
  • clid – CallerID;
  • destination – adónde se ha llamada;
  • disposition – estado de la llamada:
    • 'answered' – conversación,
    • 'busy' – ocupado,
    • 'cancel' - cancelado,
    • 'no answer' - sin respuesta,
    • 'failed' - no ha sido posible,
    • 'no money' - no hay saldo, se ha superado el límite,
    • 'unallocated number' - el número no existe,
    • 'no limit' - se ha superado el límite,
    • 'no day limit' - se ha superado el límite diario,
    • 'line limit' - se ha superado el límite de la línea,
    • 'no money, no limit' - se ha superado el límite;
  • seconds – número de segundos de la llamada;
  • is_recorded – (true, false) se ha grabado o no hay conversación;
  • pbx_call_id – ID permanente de la llamada externa a la centralita virtual (no cambia al pasar scripts, menú de voz, transferencia, etc., se muestra en las estadísticas y notificaciones);

Parámetros:

  • start - fecha de comienzo de visualización de estadísticas (formato - YYYY-MM-DD HH:MM:SS);
  • end - fecha de final de visualización de estadísticas (formato - YYYY-MM-DD HH:MM:SS);
  • widget_id - (opcional) - la ID del widget, en caso de ausencia de un parámetro, se toman estadísticas para todos los widgets;
Plazo máximo para recibir estadísticas mes.En caso de exceder el límite en la solicitud, el plazo se reduce automáticamente a 30 días. Si no se especifica la fecha de inicio de la muestra, se selecciona el comienzo del mes actual. Si no se especifica la fecha de finalización de la muestra, la muestra está limitada a la fecha y hora actuales.
  • JSON
  • XML
{
    "status":"success",
    "start":"2016-09-01 00:00:00",
    "end":"2016-09-30 23:59:59",
    "stats":[
        {
            "id":"57d16d6a1e46c53d1f8ce323",
            "widget_id":"1",
            "sip":"00001",
            "ip":"127.0.0.1",
            "actions":[
                {
                    "kind":"come",
                    "date":"2016-09-08 16:53:45",
                    "referrer_url":"http://test.domain.com/page1/",
                    "url":"http://home.domain.com/page2/"
                },
                {
                    "kind":"show",
                    "date":"2016-09-08 16:53:46",
                    "rate":15
                },
                {
                    "kind":"call_request",
                    "date":"2016-09-08 16:54:07",
                    "number":"442037691880",
                    "request_call_date":"2016-09-09 10:00:00",
                    "redial":"n"
                },
                {
                    "kind":"close",
                    "date":"2016-09-08 16:54:35"
                }
            ]
        },
        ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <start>2016-09-01 00:00:00</start>
    <end>2016-09-30 23:59:59</end>
    <stats>
        <value>
            <id>57d16d6a1e46c53d1f8ce323</id>
            <widget_id>1</widget_id>
            <sip>00001</sip>
            <ip>127.0.0.1</ip>
            <actions>
                <value>
                    <kind>come</kind>
                    <date>2016-09-08 16:53:45</date>
                    <referrer_url>http://test.domain.com/page1/</referrer_url>
                    <url>http://home.domain.com/page2/</url>
                </value>
                <value>
                    <kind>show</kind>
                    <date>2016-09-08 16:53:46</date>
                    <rate>15</rate>
                </value>
                <value>
                    <kind>call_request</kind>
                    <date>2016-09-08 16:54:07</date>
                    <number>442037691880</number>
                    <request_call_date>2016-09-09 10:00:00</request_call_date>
                    <redial>n</redial>
                </value>
                <value>
                    <kind>close</kind>
                    <date>2016-09-08 16:54:35</date>
                </value>
            </actions>
        </value>
            ...
    </stats>
</answer>

donde

  • start – fecha de inicio de visualización de estadísticas;
  • end – fecha de fin de visualización de estadísticas;
  • id – id de la sesión;
  • widget_id – id del widget;
  • sip – número SIP;
  • ip – dirección IP del visitante;
  • kind – tipo de evento:
    • 'come' – el visitante llegó a la página con el widget,
    • 'show' – se indica la forma del widget,
    • 'call' – solicitud de devolución de llamada,
    • 'call_request' – solicitud de devolución de llamada diferida,
    • 'rate' – el visitante ha valorado la llamada,
    • 'fail' – el visitante ha señalado que no ha habido devolución de llamada,
    • 'close' – el visitante ha cerrado el icono de widget;
  • date – fecha y hora del evento;
  • referrer_url – dirección de la página desde la que el visitante ha llegado a la página mediante el widget (solo para el evento 'come');
  • url – dirección de la página del widget (solo para el evento 'come');
  • rate – para el evento 'show' - número de puntos, para el evento 'rate' - valoración de la conversación;
  • request_call_date – fecha y hora especificadas por el visitante, según sea conveniente para la devolución de la llamada (solo para el evento) 'call_request');
  • redial – (true, false) devuelto o no en respuesta a una solicitud de devolución diferida (solo para un evento) 'call_request');
  • number – número introducido por el visitante (para el evento 'call', 'call_request', 'rate', 'fail').

Parámetros:

  • numbers – listado de números para actualizar en formato internacional.

Si numbers contiene 1 número el resultado será devuelto inmediatamente, si se indica un listado de números el resultado será enviado a la dirección indicada en la página de actualización de contactos o al correo electrónico, en caso de no estar indicada la dirección.

¡Atención! los ajustes de este método se configuran en la página de actualización de base de clientes del área personal.

Ejemplo de respuesta para 1 número:


{
    "status":"success",
    "info":{
        'mcc' : '250',
        'mnc': '01',
        'mccName': 'Russia',
        'mncName': 'Mobile TeleSystems',
        'ported': false,
        'roaming': false,
        'errorDescription': 'No Error'
    }
}

Ejemplo de respuesta para varios números:


{
    "status":"success"
}

Ejemplo del resultado enviado a la dirección indicada en la página de actualización:


{
    'success': true,
    'description': 'Проверено успешно',
    'result': [
        {
            'mcc': '250',
            'mnc': '01',
            'ported': false,
            'roaming': false,
            'errorDescription': 'No Error',
            'mccName': 'Russia',
            'mncName': 'Mobile TeleSystems',
            'number': '791234567890',
        }, ...
    ]
}

Parámetros:

  • call_id – id único de la llamada, este ID se indica en el nombre del archivo con grabación de llamada (único para cada grabación en la estadística);;
  • lang - idioma de reconocimiento (opcional);
  • return - resultado a devolver. Opciones: words - palabras, phrases - frases. (opcional. por defecto phrases);
  • alternatives - si devolver opciones alternativas. Opciones: 0 - no, 1 - sí. (не obligatorio. por defecto 0).
  • JSON
{
    "status": "success",
    "lang": "en-EN",
    "recognitionStatus": "in progress",
    "otherLangs": ["es-ES"],
    "words": [
        {
            "result": [
                {
                        "s": 0.02,
                        "e": 0.22,
                        "w": "word",
                },
                {
                        "s": 0.31,
                        "e": 0.56,
                        "w": "one",
                }
            ],
            "channel": 1
        }
    ],
    "phrases": [
        {
            "result": "word one",
            "channel": 1
        }
    ]
}

donde

  • lang – idioma;
  • recognitionStatus: estado de reconocimiento. Opciones:
    • in progress - en proceso de reconocimiento,
    • error - se ha producido un error en el reconocimiento,
    • recognized - reconocido
    • ready for recognize - grabación lista para el reconocimiento,
    • not available for recognize - grabación no disponible para el reconocimiento.
  • result:
    • words - conjunto:
      • result - listado de palabras (conjunto):
        • s - hora inicio de palabra
        • e - hora fin de palabra
        • w - palabra
      • channel - número de canal
    • phrases - conjunto:
      • result - frase
      • channel - número de canal

Parámetros:

  • call_id – id único de llamada, este id se indica en el nombre del archivo con grabación de llamada (único para cada grabación en la estadística);
  • lang - idioma de reconocimiento (opcional).
  • JSON
{
    'status' => 'success'
}

Métodos API ZCRM disponibles:

 

  • Clientes
  • customers
    Devuelve el listado de clientes.
  • customers/<c_id>
    Devuelve al cliente por su ID.
  • customers
    Crea un nuevo cliente con los datos indicados.
  • customers/<c_id>
    Actualiza al cliente existente con el ID indicado.
  • customers/<c_id>
    Elimina el cliente por su ID.
  • Etiquetas
  • customers/labels
    Devuelve el listado de todas las etiquetas y su estadística.
  • customers/labels
    Crea una nueva etiqueta.
  • customers/labels/<l_id>
    Elimina la etiqueta del sistema por su ID.
  • Propiedades adicionales
  • customers/custom-properties
    Devuelve todos los parámetros adicionales.
  • Flujo de actividad del cliente
  • customers/<c_id>/feed
    Devuelve notas en el flujo de actividad del cliente.
  • customers/<c_id>/feed
    Añade nota de texto en el flujo de actividad del cliente con capacidad de adjuntar archivos.
  • customers/<c_id>/feed/<i_id>
    Actualiza el contenido de la nota de texto existente por su ID.
  • customers/<c_id>/feed/<i_id>
    Elimina la nota en el flujo de actividad del cliente por su ID.
  • Empleados
  • customers/<c_id>/employees
    Devuelve el listado de empleados del cliente por su ID.
  • customers/<c_id>/employees/<e_id>
    Devuelve al empleado del cliente por su ID.
  • customers/<c_id>/employees
    Crea y guarda a nuevo empleado para el cliente seleccionado.
  • customers/<c_id>/employees/<e_id>
    Actualiza al empleado existente con ID indicado.
  • customers/<c_id>/employees/<e_id>
    Elimina al empleado por su ID.
  • Tareas
  • events
    Devuelve el listado de tareas.
  • events/<event_id>
    Devuelve la tarea por su ID.
  • events
    Crea una nueva tarea con los datos indicados.
  • events/<event_id>
    Actualiza la tarea existente con el ID indicado.
  • events/<event_id>/close
    Finaliza (cierra) la tarea.
  • events/<event_id>
    Elimina la tarea por su ID.
  • Leads
  • leads
    Devuelve el listado de leads.
  • leads/<lead_id>
    Devuelve el lead por su ID.
  • leads
    Crea un nuevo lead con los datos indicados.
  • leads/<lead_id>
    Actualiza el lead existente con el ID indicado.
  • leads/<lead_id>
    Elimina el lead por su ID.
  • Usuarios
  • users
    Devuelve el listado de usuarios
  • users/<user_id>
    Devuelve al usuario por su ID.
  • users/<user_id>/working-hours
    Devuelve horario laboral del usuario.
  • users/groups
    Devuelve grupos y derechos de usuario de cada uno.
  • Llamadas
  • calls
    Devuelve el listado de llamadas.
  • Contactos generalizados
  • contacts
    Devuelve el listado de todos los contactos (clientes, empleados, leads, usuarios) con números de teléfono
  • contacts/identify
    Identifica el contacto (cliente, empleado, lead, usuario) por número de teléfono.
  • Archivos
  • files/<file_id>
    Devuelve el archivo por su ID.

GET /v1/zcrm/customers

Devuelve el listado de clientes.

Parámetros

  • search (opcional) - barra de búsqueda. La búsqueda se realiza simultáneamente por:
    • del nombre de cliente
    • a números de teléfono de cliente
    • descripción del cliente
    • dirección y código postal
    • sitio web
    • e-mail
    • Messengers
    • nombres de empleados
    • números de teléfono de empleados
    • descripción de empleados
    • e-mail de empleados
    • Messengers de empleados
  • filter (opcional) — filtro de clientes. El filtro se aplica solo a los campos especificados. Estructura del filtro:
    {
    "status": "company",
    "type": "client",
    "country": "GB",
    "city": "London",
    "label": 12,
    "employees_count": "50",
    "responsible": 20
    }
    
    donde:
    • status — estado del cliente. Valores disponibles:
      • individual — persona física
      • company — empresa
    • type — tipo de cliente. Valores posibles:
      • potential — cliente potencial
      • client — cliente
      • reseller — реселлер
      • partner — colaborador
    • country — país del cliente. Código de dos letras (ES, US, etc)
    • city — ciudad del cliente (línea)
    • label — etiqueta (identificador)
    • employees_count — número de empleados. Valores posibles:
      • 50 — inferior a 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • responsible — responsable (identificador del usuario)
    Cualquiera de los parámetros del filtro se puede omitir, es decir, es opcional.
  • sort (opcional) — clasificación de clientes. Estructura del parámetro:
    {
      "attr": "name",
      "desc": 0
    }
    
    donde:
    • attr — campo de clasificación. Valores disponibles:
      • name — nombre del cliente
      • status — estado del cliente
      • type — tipo del cliente
    • desc — sentido de clasificación. Valores disponibles:
      • 0 — crecientes
      • 1 — decrecientes
  • take (para la muestra por página) — cuántos clientes devolver (por defecto 20)
  • skip (para la muestra por página) - cuántos clientes saltarse (por defecto 0)

Respuesta

{
  "totalCount": 82,
  "customers": [
    {
      "id": 65,
      "name": "Good company",
      "status": "company",
      "type": "client",
      "responsible_user_id": 20,
      "employees_count": "50",
      "comment": "",
      "country": "GB",
      "city": "London",
      "address": "",
      "zip": "",
      "website": "",
      "created_at": "2020-04-28 05:47:47",
      "created_by": 20,
      "lead_source": "manual",
      "lead_created_at": null,
      "lead_created_by": null,
      "phones": [
        {
          "type": "work",
          "phone": "+44123456789"
        }
      ],
      "contacts": [
        {
          "type": "email_work",
          "value": "good_company@example.com"
        }
      ],
      "labels": [
        {
          "id": 12,
          "label": "Best clients"
        }
      ]
    }
  ]
}

donde:

  • totalCount — número total de clientes (incluyendo la barra de búsqueda y el filtro)
  • customers — conjunto de clientes (teniendo en cuenta la muestra por página). Cada elemento del conjunto contiene los siguientes parámetros:
    • id — identificador del cliente
    • name — nombre del cliente
    • status — estado del cliente. Valores posibles:
      • individual — persona física
      • company — empresa
    • type — tipo de cliente. Valores posibles:
      • potential — cliente potencial
      • client — cliente
      • reseller — agente
      • partner — colaborador
    • responsible_user_id — responsable (identificador del usuario)
    • employees_count — cantidad de empleados. Valores posibles:
      • 50 — inferior a 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — descripción del cliente
    • country — país del cliente. Código de dos letras (ES, US, etc.)
    • city — ciudad del cliente
    • address — domicilio del cliente
    • zip — código postal
    • website — página web del cliente
    • created_at — fecha y hora de creación del cliente (en formato YYYY-MM-DD HH:mm:ss)
    • created_by — creado por (identificador del usuario)
    • lead_source — fuente. Valores posibles:
      • manual — manual
      • call_incoming — llamada entrante
      • call_outgoing — llamada saliente
      • form — forma
    • lead_created_at — fecha y hora de la creación del lead si el cliente ha sido creado a través del lead (en formato `YYYY-MM-DD HH:mm:ss`)
    • lead_created_by — por quien ha sido creado el lead si el cliente ha sido creado a través del lead (identificador del usuario)
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
      • phone — valor del número
    • contacts — conjunto de contactos del cliente. Cada contacto debe contener los siguientes campos:
      • type — tipo de contacto. Valores posibles:
        • email_work — e-mail de trabajo
        • email_personal — e-mail personal
        • skype
        • telegram
        • viber
        • whatsapp
      • value — valor del contacto
    • labels — conjunto de etiquetas asignadas al cliente. Cada etiqueta contiene los siguientes campos:
      • id — identificador de la etiqueta
      • label — valor de la etiqueta

GET /v1/zcrm/customers/<c_id>

Devuelve al cliente por su ID.

Parámetros de dirección

  • c_id — identificador del cliente

Respuesta

{
  "id": 65,
  "name": "Good company",
  "status": "company",
  "type": "client",
  "responsible_user_id": 20,
  "employees_count": "50",
  "comment": "",
  "country": "GB",
  "city": "London",
  "address": "",
  "zip": "",
  "website": "",
  "created_at": "2020-04-28 05:47:47",
  "created_by": 20,
  "lead_source": "manual",
  "lead_created_at": null,
  "lead_created_by": null,
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "good_company@example.com"
    }
  ],
  "labels": [
    {
      "id": 12,
      "label": "Best clients"
    }
  ],
  "custom_properties": [
    {
      "id": 18,
      "key": "loyalty",
      "title": "Loyalty",
      "value": "high"
    }
  ]
}

donde:

  • name — nombre del cliente
  • status — estado del cliente. Valores posibles:
    • individual — persona física
    • company — empresa
  • type — tipo de cliente. Valores posibles:
    • potential — cliente potencial
    • client — cliente
    • reseller — agente
    • partner — colaborador
  • responsible_user_id — responsable (identificador del usuario)
  • employees_count — cantidad de empleados. Valores posibles:
    • 50 — inferior a 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descripción del cliente
  • country — país del cliente. Código de dos letras (ES, US, etc.)
  • city — ciudad del cliente
  • address — domicilio del cliente
  • zip — código postal
  • website — página web del cliente
  • lead_source — fuente. Valores posibles:
    • manual — manual
    • call_incoming — llamada entrante
    • call_outgoing — llamada saliente
    • form — forma
  • lead_created_at — fecha y hora de la creación del lead si el cliente ha sido creado a través del lead (en formato `YYYY-MM-DD HH:mm:ss`)
  • lead_created_by — por quien ha sido creado el lead si el cliente ha sido creado a través del lead (identificador del usuario)
  • phones — conjunto de números de teléfono del cliente. Cada número debe contener los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del cliente. Cada contacto debe contener los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor del contacto
  • labels — conjunto de etiquetas vinculadas al cliente. Cada etiqueta contiene los siguientes campos:
    • id — identificador de la etiqueta
    • label — valor de la etiqueta
  • custom_properties — conjunto de propiedades adicionales. Cada propiedad adicional contiene los siguientes campos:
    • id — identificador de la propiedad adicional o:
    • key — nombre único de la propiedad adicional
    • value — valor de la propiedad adicional

POST /v1/zcrm/customers

Crea un nuevo cliente con los datos indicados.

  • customer — datos de nuevo cliente. Estructura de cliente:

Parámetros

{
    "name": "Good company",
    "status": "company",
    "type": "client",
    "responsible_user_id": 20,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 12 },
      { "id": 13 }
  ],
    "custom_properties": [
    {
        "id": 18,
        "value": "high"
      }
    ]
}

donde:

  • name — nombre del cliente
  • status — estado del cliente. Valores posibles:
    • individual — persona física
    • company — empresa
  • type — tipo de cliente. Valores posibles:
    • potential — cliente potencial
    • client — cliente
    • reseller — agente
    • partner — colaborador
  • responsible_user_id — responsable (identificador del usuario)
  • employees_count — cantidad de empleados. Valores posibles:
    • 50 — inferior a 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descripción del cliente
  • country — país del cliente. Código de dos letras (ES, US, etc.)
  • city — ciudad del cliente
  • address — domicilio del cliente
  • zip — código postal
  • website — página web del cliente
  • lead_source — fuente. Valores posibles:
    • manual — manual
    • call_incoming — llamada entrante
    • call_outgoing — llamada saliente
    • form — forma
  • phones — conjunto de números de teléfono. Cada número debe contener los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del cliente. Cada contacto debe contener los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor del contacto
  • labels — conjunto de etiquetas añadidas al clientes. Cada elemento debe contener:
    • id — identificador de la etiqueta existente
  • custom_properties — conjunto de propiedades adicionales. Cada elemento debe contener:
    • id — identificador de la propiedad adicional o:
    • key — nombre único de la propiedad adicional
    • value — valor de la propiedad adicional

Respuesta:

{
"id": 65
}

donde:

  • id — Identificador del cliente creado.

PUT /v1/zcrm/customers/<c_id>

Actualiza al cliente existente con el ID indicado.

Parámetros de dirección

  • c_id — identificador del cliente

Parámetros

  • customer — nuevos datos del cliente. Estructura del cliente:
{
    "name": "Good company",
    "status": "company",
    "type": "client",
    "responsible_user_id": 20,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 12 },
      { "id": 13 }
  ],
    "custom_properties": [
    {
        "id": 18,
        "value": "high"
      }
    ]
}

donde:

  • name — nombre del cliente
  • status — estado del cliente. Valores posibles:
    • individual — persona física
    • company — empresa
  • type — tipo del cliente. Valores posibles:
    • potential — cliente potencial
    • client — cliente
    • reseller — agente
    • partner — colaborador
  • responsible_user_id — responsable (identificador del usuario)
  • employees_count — número de empleados. Valores posibles:
    • 50 — inferior a 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descripción del cliente
  • country — país del cliente. Código de dos letras (ES, US, etc.)
  • city — ciudad del cliente
  • address — domicilio del cliente
  • zip — código postal
  • website — página web del cliente
  • lead_source — fuente. Valores posibles:
    • manual — manual
    • call_incoming — llamada entrante
    • call_outgoing — llamada saliente
    • form — forma
  • phones — conjunto de números de teléfono. Cada número debe contener los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del cliente. Cada contacto contiene los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor del contacto
  • labels — conjunto de etiquetas añadidas al cliente. Cada elemento debe contener:
    • id — identificador de la etiqueta existente
  • custom_properties — conjunto de parámetros adicionales. Cada elemento debe contener:
    • id — identificador de la propiedad adicional o:
    • key — nombre único de la propiedad adicional
    • value — valor de la propiedad adicional

DELETE /v1/zcrm/customers/<c_id>

Elimina el cliente por su ID.

Parámetros de dirección

  • c_id — identificador del cliente

GET /v1/zcrm/customers/labels

Devuelve el listado de todas las etiquetas y su estadística.

Respuesta

{
  "totalCount": 5,
  "labels": [
    {
      "id": 12,
      "label": "Best clients",
      "count": 14
    }
  ]
}

donde:

  • totalCount — número total de etiquetas en el sistema
  • labels — conjunto de etiquetas. Cada etiqueta contiene los siguientes campos:
    • id — identificador de la etiqueta
    • label — nombre de la etiqueta
    • count — número de clientes y leads que usan esta etiqueta

POST /v1/zcrm/customers/labels

Crea una nueva etiqueta.

Parámetros

  • name — nombre de etiqueta nueva

Respuesta

{
  "id": 13,
  "label": "Best clients",
  "count": 0
}

donde:

  • id — identificador de la etiqueta creada
  • label — nombre de la etiqueta
  • count — número de clientes y leads que usan esta etiqueta (siempre igual a 0)

DELETE /v1/zcrm/customers/labels/<l_id>

Elimina la etiqueta del sistema por su ID.

Parámetros de dirección

  • l_id — identificador de la etiqueta

GET /v1/zcrm/customers/custom-properties

Devuelve todos los parámetros adicionales.

Respuesta

{
  "totalCount": 8,
  "customProperties": [
    {
      "id": 18,
      "key": "loyalty",
      "title": "Loyalty"
    }
  ]
}

donde:

  • totalCount — cantidad de propiedades adicionales.
  • customProperties — matriz de propiedades adicionales. Cada propiedad adicional contiene los siguientes parámetros:
    • id — identificador de la propiedad adicional
    • key — nombre único de la propiedad adicional
    • title — nombre visualizado de la propiedad adicional

GET /v1/zcrm/customers/<c_id>/feed

Devuelve notas en el flujo de actividad del cliente.

Parámetros de dirección

  • c_id — identificador del cliente

Respuesta

{
  "totalCount": 17,
  "items": [
    {
      "id": 37825,
      "type": "note",
      "content": "Call to client",
      "time": "2020-06-08 06:55:02",
      "user_id": 20,
      "user_name": "John Smith",
      "call_id": null,
      "call_type": null,
      "call_status": null,
      "call_phone": null,
      "call_duration": null,
      "call_record": null,
      "call_contact_name": null,
      "attached_files": [
        {
          "file_id": 576,
          "original_filename": "filename.doc"
        }
      ]
    }
  ]
}

donde:

  • totalCount — cantidad total de las grabaciones
  • items — conjunto de grabaciones. Cada grabación contiene los siguientes atributos:
    • id — identificador de la grabación
    • type — tipo de grabación. Valores posibles:
      • event — evento
      • note — nota de texto
      • call — llamada
    • content — contenido de la grabación. Si el tipo de la grabación es nota, este atributo contiene un contenido de nota de texto. Si el tipo de la grabación es evento, este atributo contiene el identificador, por ejemplo:
      • CUSTOMER_CREATED — evento de creación de cliente
      • LEAD_CREATED — evento de creación de lead
    • time — hora de grabación en formato `YYYY-MM-DD hh:mm:ss`
    • user_id — identificador del usuario creador de la grabación
    • user_name — nombre de usuario creador de la grabación
    • call_id — identificador de llamada (si el tipo de grabación es llamada)
    • call_type — tipo de llamada. Valores posibles:
      • incoming — llamada entrante
      • outgoing — llamada saliente
    • call_status — estado de llamada. Valores posibles:
      • answer — llamada de éxito
      • noanswer — sin respuesta
      • cancel — cancelada
      • busy — ocupado
      • failed — no se ha podido realizar
    • call_phone — número de teléfono de la llamada
    • call_duration — duración de la llamada en segundos
    • call_record — si está activada la grabación de llamadas
    • call_contact_name — nombre del contacto de la llamada
    • attached_files — conjunto de archivos adjuntados a la nota (si el tipo de la grabación es nota). Cada elemento del conjunto contiene los siguientes atributos:
      • file_id — identificador del archivo
      • original_filename — nombre original del archivo

POST /v1/zcrm/customers/<c_id>/feed

Añade nota de texto en el flujo de actividad del cliente con capacidad de adjuntar archivos.

Parámetros de dirección

  • c_id — identificador del cliente

Parámetros

  • content — contenido en texto de la nota
  • files — matriz de los archivos adjuntos

Respuesta

{
  "id": 37825,
  "type": "note",
  "content": "Call to client",
  "time": "2020-06-08 06:55:02",
  "user_id": 20,
  "user_name": "John Smith",
  "attached_files": [
    {
      "file_id": 576,
      "original_filename": "filename.doc"
    }
  ]
}

donde:

  • id — identificador de la grabación
  • type — tipo de grabación. En este caso es igual:
    • note — nota de texto
  • content — contenido en texto de la nota
  • time — hora de la grabación en formato `YYYY-MM-DD hh:mm:ss`
  • user_id — identificador del usuario creador de la grabación
  • user_name — nombre del usuario creador de la grabación
  • attached_files — matriz de archivos adjuntos a una nota (si el tipo de grabación es una nota). Cada elemento de la matriz contiene los siguientes atributos:
    • file_id — identificador del archivo
    • original_filename — nombre original del archivo

PUT /v1/zcrm/customers/<c_id>/feed/<i_id>

>Actualiza el contenido de la nota de texto existente por su ID.

Parámetros de dirección

  • c_id — identificador del cliente
  • i_id — identificador de nota de texto

Parámetros

  • content — nuevo texto de la nota

DELETE /v1/zcrm/customers/<c_id>/feed/<i_id>

Elimina la nota en el flujo de actividad del cliente por su ID.

Parámetros de dirección

  • c_id — identificador del cliente
  • i_id — identificador de nota de texto

GET /v1/zcrm/customers/<c_id>/employees

Devuelve el listado de empleados del cliente por su ID.

Parámetros de dirección

  • c_id — identificador del cliente

Respuesta

{
  "totalCount": 5,
  "employees": [
    {
      "id": 23,
      "customer_id": 11,
      "name": "John Smith",
      "position": "manager",
      "position_title": "",
      "comment": "",
      "phones": [
        {
          "type": "work",
          "phone": "+44123456789"
        }
      ],
      "contacts": [
        {
          "type": "email_work",
          "value": "john@example.com"
        }
      ]
    }
  ]
}

donde:

  • totalCount — cantidad de empleados del cliente
  • employees — matriz de empleados del cliente. Cada elemento contiene los siguientes atributos:
    • id — identificador del empleado
    • customer_id — identificador del cliente vinculado al empleado
    • name — nombre del empleado
    • position — cargo del empleado. Valores posibles:
      • ceo — director general
      • director — directir
      • manager — agente
      • sales_manager — comercial
      • hr — RRHH
      • support — soporte
      • custom — otro
    • position_title — nombre de otros cargos (paraposition = custom)
    • comment — descripción del empleado
    • phones — matriz de números de teléfono del empleado. Cada número contiene los siguientes campos:
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
      • phone — valor del número
    • contacts — matriz de contactos del empleado. Cada contacto contiene los siguientes campos:
      • type — tipo de contacto. Valores posibles:
        • email_work — e-mail de trabajo
        • email_personal — e-mail personal
        • skype
        • telegram
        • viber
        • whatsapp
      • value — valor del contacto

GET /v1/zcrm/customers/<c_id>/employees/<e_id>

Devuelve al empleado del cliente por su ID.

Parámetros de dirección

  • c_id — identificador del cliente
  • e_id — identificador del empleado

Respuesta

{
  "id": 23,
  "customer_id": 11,
  "name": "John Smith",
  "position": "manager",
  "position_title": "",
  "comment": "",
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "john@example.com"
    }
  ]
}

donde:

  • id — identificador del empleado
  • customer_id — identificador del cliente vinculado al empleado
  • name — nombre del empleado
  • position — cargo del empleado. Valores posibles:
    • ceo — director general
    • director — director
    • manager — agente
    • sales_manager — comercial
    • hr — RRHH
    • support — soporte
    • custom — otro
  • position_title — nombre del cargo propio (para position = custom)
  • comment — descripción del empleado
  • phones — conjunto de números de teléfono del empleado. Cada número contiene los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del cliente. Cada contacto contiene los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valores de contacto

POST /v1/zcrm/customers/<c_id>/employees

Crea y guarda a nuevo empleado para el cliente seleccionado.

Parámetros de dirección

  • c_id — identificador del cliente

Parámetros

  • employee — datos del empleado nuevo. Estructura del empleado:
{
    "name": "John Smith",
    "position": "manager",
    "position_title": "",
    "comment": "",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "john@example.com"
      }
    ]
  }

donde:

  • name — nombre del empleado
  • position — cargo del empleado. Valores posibles:
    • ceo — director general
    • director — director
    • manager — agente
    • sales_manager — comercial
    • hr — RRHH
    • support — soporte
    • custom — otro
  • position_title — nombre del cargo propio (paraposition = custom)
  • comment — descripción del empleado
  • phones — conjunto de números de teléfono del empleado. Cada número contiene los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del cliente. Cada contacto contiene los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor de contacto

Respuesta

{
  "id": 23
}

donde:

  • id — identificador de nuevo empleado

PUT /v1/zcrm/customers/<c_id>/employees/<e_id>

Actualiza al empleado existente con ID indicado.

Parámetros de dirección

  • c_id — identificador del cliente
  • e_id — identificador del empleado

Parámetros

  • employee — nuevos datos del empleado. Estructura:
{
    "name": "John Smith",
    "position": "manager",
    "position_title": "",
    "comment": "",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "john@example.com"
      }
    ]
}

donde:

  • name — nombre del empleado
  • position — cargo del empleado. Valores posibles:
    • ceo — director general
    • director — director
    • manager — agente
    • sales_manager — comercial
    • hr — RRHH
    • support — soporte
    • custom — otro
  • position_title — nombre del cargo propio (paraposition = custom)
  • comment — descripción del empleado
  • phones — conjunto de números de teléfono del empleado. Cada número contiene los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del cliente. Cada contacto contiene los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor de contacto

DELETE /v1/zcrm/customers/<c_id>/employees/<e_id>

Elimina al empleado por su ID.

Parámetros de dirección

  • c_id — identificador del cliente
  • e_id — identificador del empleado

GET /v1/zcrm/events

Devuelve el listado de tareas.

Parámetros

  • search (opcional) — barra de búsqueda. La búsqueda se realiza de forma combinada por:
    • nombre de tareas
    • descripción de tareas
    • comentarios de tareas finalizadas
  • filter (opcional) - filtro de tareas. Estructura del filtro:
    {
        "responsible": 456,
        "createdBy": 456,
        "start": "2020-06-03 02:56:00",
        "end": "2020-06-12 02:56:00",
        "completed": 1
    }

    donde:

    • responsible — responsable (identificador de usuario)
    • createdBy — creado por (identificador de usuario)
    • start — mostrar tareas empezadas *después* del periodo seleccionado (en formato `YYYY-MM-DD hh:mm:ss`)
    • end — mostrar tareas empezadas *antes* del periodo seleccionado (en formato `YYYY-MM-DD hh:mm:ss`)
    • completed — seleccione en 1 para ver también las tareas finalizadas
  • sort (opcional) - clasificación de tareas. Estructura del parámetro:
    {
        "attr": "start",
        "desc": 0
    }

    donde:

    • attr — campo de clasificación. Valores posibles:
      • responsible — usuario responsable
      • title — nombre de tarea
      • start — hora inicio de tarea
      • end — hora fin de tarea
    • desc — sentido de clasificación. Valores posibles:
      • 0 — creciente
      • 1 — decreciente

Respuesta

{
  "totalCount": 4,
  "events": [
    {
      "id": 40,
      "type": "task",
      "title": "Call to GoodCompany",
      "description": "",
      "start": "2020-05-26 09:00:00",
      "end": "2020-05-26 12:30:00",
      "allDay": false,
      "created_by": 234,
      "responsible_user": 234,
      "phone": "",
      "call_done": 0,
      "completed": 0,
      "completed_comment": "",
      "members": [234, 235],
      "customers": [
        {
          "id": 3486,
          "name": "GoodCompany",
          "status": "company",
          "type": "client",
          "lead_source": "manual",
          "lead_status": "not_processed",
          "contact_type": "customer"
        }
      ]
    }
  ]
}

donde

  • totalCount — cantidad total de tareas
  • events — conjunto de tareas. Cada tarea contiene los siguientes atributos:
    • id — identificador de tarea
    • type — tipo de tarea. Valores posibles:
      • task — tarea
      • call — llamada
    • title — nombre de tarea
    • description — descripción de tarea (en formato Quill Delta: https://quilljs.com/docs/delta/)
    • start — fecha y hora inicio de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
    • end — fecha y hora fin de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
    • allDay — tarea para todo el día (`true` o `false`) — la fecha se determina por el parámetro start
    • created_by — identificador de usuario creador de tarea
    • responsible_user — identificador de usuario responsable de tarea
    • phone — número de teléfono para llamada (si el tipo de tarea es llamada)
    • call_done — muestra si se ha realizado la llamada
    • completed — muestra que la tarea está marcada como finalizada
    • completed_comment — comentario para la tarea finalizada
    • members — conjunto de participantes de la tarea (solo identificadores de usuarios)
    • customers — conjunto de clientes y leads adjuntados a la tarea. Cada elemento de conjunto contiene los siguientes campos:
      • id — identificador de cliente / lead
      • name — nombre de cliente / lead
      • status — estado de cliente. Valores posibles:
        • individual — persona física
        • company — empresa
      • type — tipo de cliente. Valores posibles:
        • potential — cliente potencial
        • client — cliente
        • reseller — agente
        • partner — colaborador
      • lead_source — fuente del lead. Valores posibles:
        • manual — manual
        • call_incoming — llamada entrante
        • call_outgoing — llamada saliente
        • form — forma
      • lead_status — estado del lead. Valores posibles:
        • not_processed — no gestionado
        • in_progress — en proceso
        • finished — finalizado
      • contact_type — tipo de contacto. Valores posibles:
        • customer — cliente
        • lead — lead

GET /v1/zcrm/events/<event_id>

Devuelve la tarea por su ID.

Respuesta

{
  "id": 40,
  "type": "task",
  "title": "Call to GoodCompany",
  "description": "",
  "start": "2020-05-26 09:00:00",
  "end": "2020-05-26 12:30:00",
  "allDay": false,
  "created_by": 234,
  "responsible_user": 234,
  "phone": "",
  "call_done": 0,
  "completed": 0,
  "completed_comment": "",
  "members": [234, 235],
  "customers": [
    {
      "id": 3486,
      "name": "GoodCompany",
      "status": "company",
      "type": "client",
      "lead_source": "manual",
      "lead_status": "not_processed",
      "contact_type": "customer"
    }
  ]
}

donde

  • id — identificador de tarea
  • type — tipo de tarea. Valores posibles:
    • task — tarea
    • call — llamada
  • title — nombre de tarea
  • description — descripción de tarea (en formato Quill Delta: https://quilljs.com/docs/delta/)
  • start — fecha y hora de inicio de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
  • end — fecha y hora de fin de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
  • allDay — tarea para todo el día (`true` o `false`)
  • created_by — identificador de usuario creador de tarea
  • responsible_user — identificador de usuario responsable de tarea
  • phone — número de teléfono para llamada (si el tipo de tarea es llamada)
  • call_done — muestra si se ha realizado la llamada
  • completed — muestra que la tarea está marcada como finalizada
  • completed_comment — comentario para la tarea finalizada
  • members — conjunto de participantes de la tarea (identificadores de usuarios solo)
  • customers — conjunto de clientes y leads adjuntados a la tarea. Cada elemento del conjunto contiene los siguientes campos:
    • id — identificador del lead / cliente
    • name — nombre del lead / cliente
    • status — estado del cliente. Valores posibles:
      • individual — persona física
      • company — empresa
    • type — tipo de cliente. Valores posibles:
      • potential — cliente potencial
      • client — cliente
      • reseller — agente
      • partner — colaborador
    • lead_source — fuente del lead. Valores posibles:
      • manual — manual
      • call_incoming — llamada entrante
      • call_outgoing — llamada saliente
      • form — forma
    • lead_status — estado del lead. Valores posibles:
      • not_processed — no gestionado
      • in_progress — en proceso
      • finished — finalizado
    • contact_type — tipo de contacto. Valores posibles:
      • customer — cliente
      • lead — lead

POST /v1/zcrm/events

Crea una nueva tarea con los datos indicados.

Parámetros

  • event — datos de nueva tarea. Estructura:
{
    "type": "task",
    "title": "Call to GoodCompany",
    "description": "",
    "start": "2020-05-26 09:00:00",
    "end": "2020-05-26 12:30:00",
    "allDay": false,
    "responsible_user": 234,
    "phone": "",
    "members": [234, 235],
    "customers": [3486, 3487]
}

donde

  • type — tipo de tarea. Valores posibles:
    • task — tarea
    • call — llamada
  • title — nombre de tarea
  • description — descripción de tarea (en formato Quill Delta: https://quilljs.com/docs/delta/)
  • start — fecha y hora de inicio de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
  • end — fecha y hora de fin de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
  • allDay — tarea para todo el día (`true` o `false`)
  • responsible_user — identificador de usuario responsable de tarea
  • phone — número de teléfono para llamada (si el tipo de tarea es llamada)
  • members — conjunto de participantes de la tarea (identificadores de usuarios solo)
  • customers — conjunto de clientes y leads adjuntados a la tarea (solo identificadores de clientes y leads)

Respuesta

{
  "id": 7216
}

donde

  • id — identificador de tarea creada

PUT /v1/zcrm/events/<event_id>

Actualiza la tarea existente con el ID indicado.

>

Parámetros

  • event — nuevos datos de la tarea. Estructura:
{
    "title": "Call to GoodCompany",
    "description": "",
    "start": "2020-05-26 09:00:00",
    "end": "2020-05-26 12:30:00",
    "allDay": false,
    "created_by": 234,
    "responsible_user": 234,
    "phone": "",
    "members": [234, 235],
    "customers": [3486, 3487]
}

donde

  • title — nombre de tarea
  • description — descripción de tarea (en formato Quill Delta: https://quilljs.com/docs/delta/)
  • start — fecha y hora de inicio de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
  • end — fecha y hora de fin de tarea (en formato `YYYY-MM-DD hh:mm:ss`)
  • allDay — tarea para todo el día (`true` o `false`)
  • responsible_user — identificador de usuario responsable de tarea
  • phone — número de teléfono para llamada (si el tipo de tarea es llamada)
  • members — conjunto de participantes de la tarea (identificadores de usuarios solo)
  • customers — conjunto de clientes y leads adjuntados a la tarea (solo identificadores de clientes y leads)

POST /v1/zcrm/events/<event_id>/close

Finaliza (cierra) la tarea.

Parámetros

  • comment (opcional) - comentario

DELETE /v1/zcrm/events/<event_id>

Elimina la tarea por su ID.

Sin parámetros

GET /v1/zcrm/leads

Devuelve el listado de leads.

Parámetros

  • search (opcional) - barra de búsqueda. La búsqueda se realiza de forma combinada por:
    • nombre del lead
    • números de teléfono del lead
    • descripción del lead
    • domicilio y código postal
    • página web
    • e-mail
    • Messengets
  • filter (opcional) - filtro de leads. Estructura del filtro:
    {
        "source": "call_incoming",
        "responsible": 32,
        "label": 12,
        "createdAfter": "2020-06-11 12:24:00",
        "createdBefore": "2020-06-26 12:24:00"
    }

donde

  • source — fuente del lead. Valores posibles:
    • manual — añadido manualmente
    • call_incoming — llamada entrante
    • call_outgoing — llamada saliente
    • form — forma de contactar
  • responsible — responsable (identificador de usuario). El parámetro permite símbolos especiales:
    • null — devuelve todos los leads asignados
    • –1 — devuelve leads no gestionados
    • –2 — devuelve todos los leads (y asignados y no gestionados)
  • label — etiqueta (identificador)
  • createdAfter — mostrar solo leads creados *después* del periodo seleccionado (formato: `YYYY-MM-DD hh:mm:ss`)
  • createdBefore — mostrar solo leads creados *hasta* del periodo seleccionado (formato: `YYYY-MM-DD hh:mm:ss`)
Cualquiera de los parámetros del filtro se puede omitir, es decir, es opcional.
  • sort (opcional) - clasificación de leads. Estructura del parámetro:
    {
        "attr": "name",
        "desc": 0
    }

    donde

    • attr — campo de clasificación. Valores posibles:
      • name — nombre de lead
      • lead_source — fuente de lead
      • lead_status — estado de lead
      • responsible_user_id — usuario responsable
      • lead_created_at — fecha creación del lead
    • desc — sentido de clasificación. Valores posibles:
      • 0 — creciente
      • 1 — decreciente
  • take (para la muestra por página) - cuántos leads devolver (por defecto 20)
  • skip (para la muestra por página) - cuántos leads saltarse (por defecto 0)

Respuesta

{
  "totalCount": 100,
  "uncategorizedCount": 10,
  "leads": [
    {
      "id": 3486,
      "name": "GoodCompany",
      "responsible_user_id": 234,
      "employees_count": "50",
      "comment": "",
      "country": "GB",
      "city": "London",
      "address": "",
      "zip": "",
      "website": "",
      "lead_status": "not_processed",
      "lead_source": "manual",
      "lead_created_at": "2020-04-28 05:47:47",
      "lead_created_by": 234,
      "phones": [
        {
          "type": "work",
          "phone": "+44123456789"
        }
      ],
      "contacts": [
        {
          "type": "email_work",
          "value": "good_company@example.com"
        }
      ],
      "labels": [
        {
          "id": 22,
          "label": "Best clients"
        }
      ]
    }
  ]
}

donde

  • totalCount — total de leads encontrados (incluyendo los de barra de búsqueda y filtros)
  • uncategorizedCount — total de leads no gestionados (teniendo en cuenta la barra de búsqueda y filtros)
  • leads — conjunto de leads (teniendo en cuenta la muestra por página). Cada elemento de conjunto contiene los siguientes parámetros:
    • id — identificador de lead
    • name — nombre de lead
    • responsible_user_id — responsable (identificador de usuario)
    • employees_count — total de empleados. Valores posibles:
      • 50 — inferior a 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — descripción del lead
    • country — país del lead. Código de dos letras (ES, US, etc.)
    • city — ciudad del lead
    • address — domicilio del lead
    • zip — código postal
    • website — página web del lead
    • lead_status — estado del lead. Valores posibes:
      • not_processed — no gestionado
      • in_progress — en proceso
      • finished — finalizado
    • lead_source — fuente del lead. Valores posibles:
      • manual — manual
      • call_incoming — llamada entrante
      • call_outgoing — llamada saliente
      • form — forma
    • lead_created_at — fecha y hora de creación del lead (en formato `YYYY-MM-DD HH:mm:ss`)
    • lead_created_by — creador del lead (identificador de usuario)
    • phones — conjunto de números de teléfono de lead. Cada número contiene los siguientes campos:
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
      • phone — valor del número
    • contacts — conjunto de contactos del lead. Cada contacto debe contener los siguientes campos:
      • type — tipo de contacto. Valores posibles:
        • email_work — e-mail de trabajo
        • email_personal — e-mail personal
        • skype
        • telegram
        • viber
        • whatsapp
      • value — valor de contacto
    • labels — conjunto de etiquetas asignadas al lead. Cada etiqueta contiene los siguientes campos:
      • id — identificador de la etiqueta
      • label — valor de la etiqueta

GET /v1/zcrm/leads/<lead_id>

Devuelve el lead por su ID.

Respuesta

{
  "id": 3486,
  "name": "GoodCompany",
  "responsible_user_id": 234,
  "employees_count": "50",
  "comment": "",
  "country": "GB",
  "city": "London",
  "address": "",
  "zip": "",
  "website": "",
  "lead_status": "not_processed",
  "lead_source": "manual",
  "lead_created_at": "2020-04-28 05:47:47",
  "lead_created_by": 234,
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "good_company@example.com"
    }
  ],
  "labels": [
    {
      "id": 22,
      "label": "Best clients"
    }
  ],
  "custom_properties": [
    {
      "id": 12,
      "key": "loyalty",
      "title": "Loyalty",
      "value": "high"
    }
  ]
}

donde

  • id — identificador del lead
  • name — nombre de lead
  • responsible_user_id — responsable (identificador de usuario)
  • employees_count — número de empleados. Valores posibles:
    • 50 — inferior a 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descripción de lead
  • country — país del lead. Código de dos letras (ES, US, etc.)
  • city — ciudad del lead
  • address — domicilio del lead
  • zip — código postal
  • website — página web del lead
  • lead_status — estado del lead. Valores posibles:
    • not_processed — no gestionado
    • in_progress — en proceso
    • finished — finalizado
  • lead_source — fuente del lead. Valores posibles:
    • manual — manual
    • call_incoming — llamada entrante
    • call_outgoing — llamada saliente
    • form — forma
  • lead_created_at — fecha y hora de la creación del lead (en formato `YYYY-MM-DD HH:mm:ss`)
  • lead_created_by — por quien ha sido creado el lead (identificador del usuario)
  • phones — conjunto de números de teléfono del lead. Cada número debe contener los siguientes campos:
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del lead. Cada contacto debe contener los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor de contacto
  • labels — conjunto de etiquetas asignadas al lead. Cada etiqueta contiene los siguientes campos:
    • id — identificador de etiqueta
    • label — valor de etiqueta

POST /v1/zcrm/leads

Crea un nuevo lead con los datos indicados.

Parámetros

  • convert — convertir lead en cliente. Valores posibles:
    • 0 — no convertir, crear lead
    • 1 — crear cliente
    • 2 — inadecuado (la operación será cancelada — no serán creados ni el lead ni el cliente)
  • lead — datos del nuevo lead. Estructura del lead:
    {
        "name": "GoodCompany",
        "responsible_user_id": 234,
        "employees_count": "50",
        "comment": "",
        "country": "RU",
        "city": "Москва",
        "address": "",
        "zip": "",
        "website": "",
        "lead_source": "manual",
        "lead_status": "in_progress",
        "phones": [
          {
            "type": "work",
            "phone": "+44123456789"
          }
        ],
        "contacts": [
          {
            "type": "email_work",
            "value": "good_company@example.com"
          }
        ],
        "labels": [
          { "id": 22 },
          { "id": 23 }
      ],
        "custom_properties": [
        {
            "id": 12,
            "value": "high"
          }
        ]
    }

    donde

    • name — nombre de lead
    • responsible_user_id — responsable (identificador de usuario)
    • employees_count — cantidad de empleados. Valores posibles:
      • 50 — inferior a 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — descripción del lead
    • country — país del lead. Código de dos letras (ES, US, etc.)
    • city — ciudad del lead
    • address — domicilio del lead
    • zip — código postal
    • website — página web del lead
    • lead_source — fuente del lead. Valores posibles:
      • manual — manual
      • call_incoming — llamada entrante
      • call_outgoing — llamada saliente
      • form — forma
    • lead_status — estado del lead. Valores posibles:
      • not_processed — no gestionado
      • in_progress — en proceso
      • finished — finalizado
    • phones — conjunto de números de teléfono. Cada contacto debe contener los siguientes campos:
      • type — tipo de números. Valores posibles:
        • work — de trabajo
        • personal — personal
      • phone — valor del número
    • contacts — conjunto de contactos del lead. Cada contacto debe contener los siguientes campos:
      • type — tipo de contacto. Valores posibles:
        • email_work — e-mail de trabajo
        • email_personal — e-mail personal
        • skype
        • telegram
        • viber
        • whatsapp
      • value — valor de contacto
    • labels — conjunto de etiquetas asignadas al lead. Cada etiqueta contiene los siguientes campos:
      • id — identificador de la etiqueta
      • custom_properties — conjunto de propiedades adicionales. Cada elemento debe contener:
        • id — identificador de la propiedad adicional o:
        • key — nombre único de la propiedad adicional
        • value — valor de la propiedad adicional

Respuesta

{
  "id": 123
}

donde

  • id — identificador del lead creado

PUT /v1/zcrm/leads/<lead_id>

Actualiza el lead existente con el ID indicado.

Parámetros

  • convert — convertir lead en cliente. Valores posibles:
    • 0 — no convertir
    • 1 — crear cliente
    • 2 — inadecuado (eliminar lead)
  • lead — nuevos datos del lead. Estructura del lead:
{
    "name": "GoodCompany",
    "responsible_user_id": 234,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "lead_status": "in_progress",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 22 },
      { "id": 23 }
  ],
    "custom_properties": [
    {
        "id": 12,
        "value": "high"
      }
    ]
}

donde

  • name — nombre de lead
  • responsible_user_id — responsable (identificador de usuario)
  • employees_count — cantidad de empleados. Valores posibles:
    • 50 — inferior a 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descripción del lead
  • country — país del lead. Código de dos letras (ES, US, etc.)
  • city — ciudad del lead
  • address — domicilio del lead
  • zip — código postal
  • website — página web del lead
  • lead_source — fuente del lead. Valores posibles:
    • manual — manual
    • call_incoming — llamada entrante
    • call_outgoing — llamada saliente
    • form — forma
  • lead_status — estado del lead. Valores posibles:
    • not_processed — no gestionado
    • in_progress — en proceso
    • finished — finalizado
  • phones —conjunto de números de teléfono. Cada contacto debe contener los siguientes campos:
    • type — tipo de números. Valores posibles:
      • work — de trabajo
      • personal — personal
    • phone — valor del número
  • contacts — conjunto de contactos del lead. Cada contacto debe contener los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor de contacto
  • labels — conjunto de etiquetas asignadas al lead. Cada etiqueta contiene los siguientes campos:
    • id — identificador de la etiqueta
  • custom_properties — conjunto de propiedades adicionales. Cada elemento debe contener:
    • id — identificador de la propiedad adicional o:
    • key — nombre único de la propiedad adicional
    • value — valor de la propiedad adicional

DELETE /v1/zcrm/leads/<lead_id>

Elimina el lead por su ID.

Sin parámetros

GET /v1/zcrm/users

Devuelve el listado de usuarios

Respuesta

{
  "totalCount": 2,
  "users": [
    {
      "id": 234,
      "email": "john_smith@example.com",
      "name": "John Smith",
      "group_id": 653,
      "is_superadmin": 1,
      "enabled": 1,
      "created_at": "2020-04-27 01:01:31",
      "avatar": 2457,
      "role": "",
      "status": "",
      "language": "en",
      "color": "220",
      "color_hex": "5678BD",
      "internal_number": "100",
      "timezone": "Europe/London",
      "first_day": 1,
      "device": "webphone",
      "phone_widget_location": "right",
      "phones": [
        {
          "phone": "+44123456789",
          "type": "work"
        }
      ],
      "contacts": [
        {
          "type": "email_work",
          "value": "smith@example.com"
        }
      ]
    }
  ]
}

donde

  • totalCount — total de usuarios
  • users — conjunto de usuarios. Cada elemento del conjunto contiene los siguientes parámetros:
    • id — identificador de usuario
    • email — e-mail de la cuenta de usuario
    • name — nombre de usuario
    • group_id — identificador de grupo de usuario
    • is_superadmin — muestra si el usuario es súper administrador (1 o 0)
    • enabled — si está desbloqueado el usuario (1 o 0)
    • created_at — fecha y hora de creación de usuario (en formato `YYYY-MM-DD hh:mm:ss`)
    • avatar — avatar de usuario (identificador de archivo)
    • role — cargo de usuario
    • status — estado de usuario
    • language — idioma de la interfaz de usuario. Alternativas posibles:
      • de — alemán
      • en — inglés
      • es — español
      • pl — polaco
      • ru — ruso
      • ua — ucraniano
    • color — color de usuario en la interfaz ZCRM (solo valor hue — del 0 al 359)
    • color_hex — color de usuario en la interfaz de ZCRM (hex-presentación)
    • internal_number — extensión de la centralita del usuario
    • timezone — huso horario de usuario
    • first_day — determina qué día es el inicio de la semana:
      • 0 — domingo
      • 1 — lunes
    • device — qué usa para las llamadas. Valores posibles:
      • webphone — teléfono web
      • softphone — softphone externo
    • phone_widget_location — ubicación del widget de teléfono web. Valores posibles:
      • left — ubicar el widget del teléfono a la izquierda
      • right — ubicar el widget del teléfono a la derecha
    • phones — conjunto de números de teléfono de usuario. Cada número contiene los siguientes campos:
      • phone — valor de número
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
    • contacts — conjunto de contactos de usuario. Cada contacto contiene los siguientes campos:
      • type — tipo de contacto. Valores posibles:
        • email_work — e-mail de trabajo
        • email_personal — e-mail personal
        • skype
        • telegram
        • viber
        • whatsapp
      • value — valor de contacto

GET /v1/zcrm/users/<user_id>

Devuelve al usuario por su ID.

Respuesta

{
  "id": 234,
  "email": "john_smith@example.com",
  "name": "John Smith",
  "group_id": 653,
  "is_superadmin": 1,
  "enabled": 1,
  "created_at": "2020-04-27 01:01:31",
  "avatar": 2457,
  "role": "",
  "status": "",
  "language": "ru",
  "color": "220",
  "color_hex": "5678BD",
  "internal_number": "100",
  "timezone": "Europe/London",
  "first_day": 1,
  "device": "webphone",
  "phone_widget_location": "right",
  "phones": [
    {
      "phone": "+44123456789",
      "type": "work"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "smith@example.com"
    }
  ],
  "pending_email_change_request": false
}

donde

  • id — identificador de usuario
  • email — e-mail de la cuenta de usuario
  • name — nombre de usuario
  • group_id — identificador de grupo de usuario
  • is_superadmin — muestra si el usuario es súper administrador (1 o 0)
  • enabled — si está desbloqueado el usuario (1 o 0)
  • created_at — fecha y hora de creación de usuario (en formato `YYYY-MM-DD hh:mm:ss`)
  • avatar — avatar de usuario (identificador de archivo)
  • role — cargo de usuario
  • status — estado de usuario
  • language — idioma de la interfaz de usuario. Alternativas posibles:
    • de — alemán
    • en — inglés
    • es — español
    • pl — polaco
    • ru — ruso
    • ua — ucraniano
  • color — color de usuario en la interfaz ZCRM (solo valor hue — del 0 al 359)
  • color_hex — color de usuario en la interfaz de ZCRM (hex-presentación)
  • internal_number — extensión de la centralita del usuario
  • timezone — huso horario de usuario
  • first_day — determina qué día es el inicio de la semana:
    • 0 — domingo
    • 1 — lunes
  • device — qué usa para las llamadas. Valores posibles:
    • webphone — teléfono web
    • softphone — softphone externo
  • phone_widget_location — ubicación del widget de teléfono web. Valores posibles:
    • left — ubicar el widget del teléfono a la izquierda
    • right — ubicar el widget del teléfono a la derecha
  • phones — conjunto de números de teléfono de usuario. Cada número contiene los siguientes campos:
    • phone — valor de número
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
  • contacts — conjunto de contactos de usuario. Cada contacto contiene los siguientes campos:
    • type — tipo de contacto. Valores posibles:
      • email_work — e-mail de trabajo
      • email_personal — e-mail personal
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valor de contacto
  • pending_email_change_request — si ha sido enviada la solicitud de cambio de email de la cuenta pero no ha sido confirmada aún, este parámetro será establecido como true

GET /v1/zcrm/users/<user_id>/working-hours

Devuelve horario laboral del usuario.

Respuesta

{
  "schedulePeriod": 7,
  "scheduleWorkingHours": [
    {
      "time_start": "2020-06-15 09:00:00",
      "time_end": "2020-06-15 18:00:00"
    }
  ],
  "scheduleFixes": [
    {
      "index": 2,
      "repeat_index": 1,
      "time_start": "2020-06-24 09:00:00",
      "time_end": "2020-06-24 13:00:00",
      "deleted": 0
    }
  ],
  "customWorkingHours": [
    {
      "time_start": "2020-06-27 11:00:00",
      "time_end": "2020-06-27 15:00:00"
    }
  ]
}

donde

  • schedulePeriod — periodicidad del horario "cómo" se repite. Para la semana laboral ordinaria son 7 días, para horarios "día sí día no" son dos días y así sucesivamente.
  • scheduleWorkingHours — conjunto de periodos laborales. Cada periodo laboral contiene los siguientes atributos:
    • time_start — inicio de jornada laboral en formato `YYYY-MM-DD hh:mm:ss`
    • time_end — fin de jornada laboral en formato `YYYY-MM-DD hh:mm:ss`
  • scheduleFixes — conjunto de modificaciones introducidas en la jornada laboral determinado en el parámetro scheduleWorkingHours. Cada elemento del conjunto contiene los siguientes atributos:
    • index — índice del elemento en scheduleWorkingHours, es decir qué periodo ha sido modificado
    • repeat_index — índice de repetición de horario en el que se produce el cambio de jornada laboral
    • time_start — nuevo inicio de jornada laboral `YYYY-MM-DD hh:mm:ss`
    • time_end — nuevo fin de jornada laboral `YYYY-MM-DD hh:mm:ss`
    • deleted — si es igual a 1, el periodo laboral ha sido eliminado por completo
  • customWorkingHours — conjunto de períodos de trabajo personalizados y únicos. Cada período de trabajo contiene los siguientes atributos:
    • time_start — inicio de jornada laboral `YYYY-MM-DD hh:mm:ss`
    • time_end — inicio de jornada laboral `YYYY-MM-DD hh:mm:ss`

GET /v1/zcrm/users/groups

Devuelve grupos y derechos de usuario de cada uno.

Respuesta

{
  "totalCount": 4,
  "groups": [
    {
      "id": 45,
      "type": "manager",
      "title": "",
      "permissions": {
        "customers_create": true,
        "customers_edit": true,
        "customers_delete": true,
        "customers_import_export": true,
        "customers_view_all": false,
        "calendar_other_users_access": false,
        "calls_other_users_access": false,
        "leads_view": false,
        "leads_edit": false,
        "leads_delete": false,
        "leads_import_export": false,
        "team_add": false,
        "team_edit": false
      }
    }
  ]
}

donde

  • totalCount — número total de grupos
  • groups — conjunto de grupos. Cada grupo contiene los siguientes atributos:
    • id — identificador de grupos
    • type — tipo de grupos. Valores posibles:
      • admin — administradores
      • manager — agentes
      • chat_operator — operadores
      • trainee — becarios
      • custom — personalizado
    • title — nombre del grupo personalizado (paratype = custom)
    • permissions — derechos de los usuarios del grupo. Los administradores tienen el acceso total, por lo que para los administradores este objeto permanecerá vacío. El resto de grupos contienen los siguientes atributos (cada uno de éstos puede ser igual a `true` o `false`):
      • customers_create — permitir creación de clientes
      • customers_edit — permitir editar clientes
      • customers_delete — permitir eliminar clientes
      • customers_import_export — permitir importación y exportación de clientes
      • customers_view_all — permitir ver a todos los clientes incluso los asignados a otros usuarios
      • calendar_other_users_access — permitir ver tareas de otros usuarios
      • calls_other_users_access — permitir acceso a llamadas de otros usuarios
      • leads_view — permitir ver leads de otros usuarios
      • leads_edit — permitir redactar leads de otros usuarios
      • leads_delete — permitir eliminar leads de otros usuarios
      • leads_import_export — permitir importación y exportación de leads
      • team_add — permitir invitar y agregar a otros usuarios al grupo
      • team_edit — permitir editar usuarios

GET /v1/zcrm/calls

Devuelve el listado de llamadas.

Parámetros

  • search (opcional) — barra de búsqueda. La búsqueda se realiza de forma combinada por:
    • de número de teléfono
    • de números de contactos (clientes, empleados, leads o usuarios)
  • filter (opcional) — filtro de llamadas. Estructura del filtro:
    {
        "user": 23,
        "type": "incoming",
        "status": "answer",
        "dateFrom": "2020-06-03 14:56:00",
        "dateTo": "2020-06-26 14:56:00"
    }

    donde

    • user — usuario (identificador)
    • type — tipo de llamada. Valores posibles:
      • incoming — llamada entrante
      • outgoing — llamada saliente
    • status — estado de la llamada. Valores posibles:
      • answer — llamada de éxito
      • noanswer — sin respuesta
      • cancel — cancelada
      • busy — ocupado
      • failed — no se ha podido realizar
    • dateFrom — ver solo llamadas realizadas *después* de la hora seleccionada (formato: `YYYY-MM-DD hh:mm:ss`)
    • dateTo — ver solo llamadas realizadas *antes* de la hora seleccionada (formato: `YYYY-MM-DD hh:mm:ss`)
Cualquiera de los parámetros del filtro se puede omitir, es decir, es opcional.
  • sort (opcional) — filtro de llamadas. Estructura del parámetro:
      {
        "attr": "time",
        "desc": 0
      }

    donde

    • attr — campo de clasificación. Valores posibles:
      • phone — número de teléfono
      • status — estado de llamada
      • duration — duración de llamada
      • time — hora de llamada
    • desc — sentido de clasificación. Valores posibles:
      • 0 — creciente
      • 1 — descreciente
  • take (para la muestra por página) - cuántas llamadas devolver (por defecto 20)
  • skip (para la muestra por página) - cuántas llamadas saltarse (por defecto 0)

Respuesta

{
  "totalCount": 233,
  "calls": [
    {
      "id": 127,
      "type": "outgoing",
      "status": "answer",
      "phone": "+44123456789",
      "user_id": 179,
      "time": "2019-07-31 17:58:40",
      "duration": 9,
      "pbx_call_id": "out_807ghh1h7f09fa7a188dbf8a6998b1c9ghg4ij06",
      "record": 1,
      "record_url_till": "2020-07-24 20:08:10",
      "contact_type": "customer",
      "contact_name": "GoodCompany",
      "contact_customer_id": 3486,
      "contact_employee_id": null,
      "employee_customer_id": null,
      "contact_user_id": null,
      "is_lead": 1,
      "record_urls": [
        {
          "url": "https://api.zadarma.com/v1/pbx/record/download/[...]/[...]/[...].mp3"
        }
      ]
    }
  ]
}

donde

  • totalCount — número total de llamadas (incluyendo la barra de búsqueda y el filtro)
  • calls — conjunto de llamadas (teniendo en cuenta la muestra por página). Cada elemento del conjunto contiene los siguientes parámetros:
    • id — identificador de llamada
    • type — tipo de llamada. Valores posibles:
      • incoming — llamada entrante
      • outgoing — llamada saliente
    • status — estado de la llamada. Valores posibles:
      • answer — llamada de éxito
      • noanswer — sin respuesta
      • cancel — cancelada
      • busy — ocupado
      • failed — no se ha podido realizar
    • phone — número de teléfono
    • user_id — usuario realizador o receptor de la llamada
    • time — hora de la llamada en formato `YYYY-MM-DD hh:mm:ss`
    • duration — duración de la llamada en segundos
    • pbx_call_id — identificador de la llamada en la centralita Zadarma
    • record — si está activada la grabación de llamadas
    • record_url_till — tiempo durante el que funcionará el enlace enlace de grabación de llamada
    • contact_type — tipo de contacto. Valores posibles:
      • customer — cliente o lead (ver parámetro is_lead)
      • employee — empleado del cliente
      • user — usuario
    • contact_name — nombre del contacto
    • contact_customer_id — identificador del cliente o lead (si la llamada está vinculada al cliente)
    • contact_employee_id — identificador del empleado (si la llamada está vinculada al empleado)
    • employee_customer_id — identificador del cliente matriz (si la llamada está relacionada con el empleado)
    • contact_user_id — identificador del usuario (si la llamada está relacionada con el usuario)
    • is_lead — muestra si la llamada está relacionada con el lead
    • record_urls — conjunto de grabaciones de llamadas (puede faltar ya que se ha de solicitar expresamente). Cada elemento del conjunto - objeto que contiene el siguiente campo:
      • url — enlace a la grabación de llamada

GET /v1/zcrm/contacts

Devuelve el listado de todos los contactos (clientes, empleados, leads, usuarios) con números de teléfono

Parámetros

  • search (opcional) - barra de búsqueda. La búsqueda se realiza de forma combinada por:
    • a los nombres y números de clientes, leads, empleados y usuarios
    • a las extensiones de los usuarios de la centralita
  • take (para la muestra por página) - cuántos contactos devolver (por defecto 20)
  • skip (para la muestra por página) - cuántos contactos saltarse (por defecto 0)

Respuesta

{
  "totalCount": 128,
  "contacts": [
    {
      "contact_type": "customer",
      // clients attributes...
    },
    {
      "contact_type": "employee",
      // employee attributes...
    },
    {
      "contact_type": "lead",
      // leads attributes...
    },
    {
      "contact_type": "user",
      // users attributes...
    }
  ]
}

donde

  • totalCount — número total de contactos (incluyendo la barra de búsqueda)
  • contacts — conjunto de contactos. Cada uno de los contactos depende de su tipo (cliente, empleado, lead, usuario) contendrá su propio conjunto de atributos.

    Cliente

    {
        "contact_type": "customer",
        "id": 3486,
        "name": "GoodCompany",
        "status": "company",
        "type": "client",
        "phone": {
          "phone": "+44123456789",
          "type": "work"
        },
        "responsible": {
          "id": 234,
          "name": "John Smith",
          "ext_num": "100"
        }
    }

    donde

    • contact_type — tipo de contacto:
      • customer — cliente
    • id — identificador de cliente
    • name — nombre de cliente
    • status — estado de cliente. Valores posibles:
      • individual — persona física/li>
      • company — empresa
    • type — tipo de cliente. Valores posibles:
      • potential — cliente potencial
      • client — cliente
      • reseller — agente
      • partner — colaborador
    • phone — número de teléfono. Contiene los siguientes campos:
      • phone — solo número
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
    • responsible — usuario responsable. Contiene los siguientes campos:
      • id — identificador de usuario
      • name — nombre de usuario
      • ext_num — extensión de la centralita virtual de usuario

    Empleado del cliente

    {
            "contact_type": "employee",
            "id": 8,
            "name": "John Smith",
            "phone": {
              "phone": "+44123456789",
              "type": "work"
            },
            "position": {
              "position": "manager",
              "title": ""
            },
            "customer": {
              "id": 3486,
              "name": "GoodCompany"
            },
            "responsible": {
              "id": 234,
              "name": "John Smith",
              "ext_num": "100"
            }
    }

    donde

    • contact_type — tipo de contacto:
      • employee — empleado
    • id — identificador de empleado
    • name — nombre de empleado
    • phone — número de teléfono. Contiene los siguientes campos:
      • phone — solo número
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
    • position — cargo del empleado. Contiene los siguientes campos:
      • position — valor del cargo. Valores posibles:
        • ceo — director general
        • director — director
        • manager — agente
        • sales_manager — comercial
        • hr — RRHH
        • support — soporte
        • custom — otro
      • title — nombre de otro cargo (paraposition = custom)
    • customer — cliente asignado al empleado. Contiene los siguientes campos:
      • id — identificador de cliente
      • name — nombre de cliente
      • responsible — usuario responsable por el cliente matriz. Contiene los siguientes campos:
        • id — identificador de usuario
        • name — nombre de usuario
        • ext_num — extensión de la centralita del usuario

    Lead

    {
    "contact_type": "lead",
    "id": 3486,
    "name": "GoodCompany",
    "phone": {
      "phone": "+44123456789",
      "type": "work"
    },
    "responsible": {
      "id": 234,
      "name": "John Smith",
      "ext_num": "100"
    }
    }

    donde

    • contact_type — tipo de contacto:
      • lead — lead
    • id — identificador de lead
    • name — nombre de lead
    • phone — número de teléfono. Contiene los siguientes campos:
      • phone — solo número
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
    • responsible — usuario responsable. Contiene los siguientes campos:
      • id — identificador de usuario
      • name — nombre de usuario
      • ext_num — extensión de la centralita del usuario

    Usuario

    {
        "contact_type": "user",
        "id": 234,
        "name": "John Smith",
        "avatar": 2457,
        "role": "",
        "status": "",
        "phone": {
          "phone": "100",
          "type": "internal"
        },
        "group": {
          "type": "admin",
          "title": ""
        }
      }

    donde

    • contact_type — tipo de contacto:
      • user — usuario
    • id — identificador de usuario
    • name — nombre de usuario
    • avatar — avatar de usuario (identificador de archivo)
    • role — rol de usuario
    • status — estado de usuario
    • phone — número de teléfono. Contiene los siguientes campos:
      • phone — solo número
      • type — tipo de número. Valores posibles:
        • work — de trabajo
        • personal — personal
        • internal — extensión de la centralita del usuario
    • group — grupo del usuario. Contiene los siguientes campos:
      • type — tipo de grupo. Valores posibles:
        • admin — administradores
        • manager — agentes
        • chat_operator — operadores
        • trainee — becarios
        • custom — personalizado
      • title — nombre del grupo personalizado (para type = custom)

GET /v1/zcrm/contacts/identify

Identifica el contacto (cliente, empleado, lead, usuario) por número de teléfono.

Parámetros

  • phone — número de teléfono

Respuesta

La respuesta dependerá del tipo de contacto encontrado (cliente, empleado, lead, usuario).

Cliente

{
  "contact_type": "customer",
  "id": 3486,
  "name": "GoodCompany",
  "status": "company",
  "type": "client",
  "phone": {
    "phone": "+44123456789",
    "type": "work"
  },
  "responsible": {
    "id": 234,
    "name": "Jim Beam",
    "ext_num": "100"
  }
}

donde

  • contact_type — tipo de contacto:
    • customer — cliente
  • id — identificador de cliente
  • name — nombre de cliente
  • status — estado de cliente. Valores posibles:
    • individual — persona física
    • company — empresa
  • type — tipo de cliente. Valores posibles:
    • potential — cliente potencial
    • client — cliente
    • reseller — agente
    • partner — colaborador
  • phone — número de teléfono. Contiene los siguientes campos:
    • phone — solo número
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
  • responsible — usuario responsable. Contiene los siguientes campos:
    • id — identificador de usuario
    • name — nombre de usuario
    • ext_num — extensión de la centralita de usuario

Empleado del cliente

{
  "contact_type": "employee",
  "id": 8,
  "name": "John Smith",
  "phone": {
    "phone": "+44123456789",
    "type": "work"
  },
  "position": {
    "position": "manager",
    "title": ""
  },
  "customer": {
    "id": 3486,
    "name": "GoodCompany"
  },
  "responsible": {
    "id": 234,
    "name": "Jim Beam",
    "ext_num": "100"
  }
}

donde

  • contact_type — tipo de contacto:
    • employee — empleado
  • id — identificador de empleado
  • name — nombre de empleado
  • phone — número de teléfono. Contiene los siguientes campos:
    • phone — solo número
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
  • position — cargo del empleado. Contiene los siguientes campos:
    • position — valor del cargo. Valores posibles:
      • ceo — director general
      • director — director
      • manager — agente
      • sales_manager — comercial
      • hr — RRHH
      • support — soporte
      • custom — otro
    • title — nombre del cargo propio (paraposition = custom)
  • customer — cliente al que se ha vinculado el empleado. Contiene los siguientes campos:
    • id — identificador de cliente
    • name — nombre de cliente
  • responsible — usuario responsable por el cliente matriz. Contiene los siguientes campos:
    • id — identificador de usuario
    • name — nombre de usuario
    • ext_num — extensión de la centralita del usuario

Lead

{
  "contact_type": "lead",
  "id": 3486,
  "name": "GoodCompany",
  "phone": {
    "phone": "+44123456789",
    "type": "work"
  },
  "responsible": {
    "id": 234,
    "name": "Jim Beam",
    "ext_num": "100"
  }
}

donde

  • contact_type — tipo de contacto:
    • lead — lead
  • id — identificador de lead
  • name — nombre de lead
  • phone — número de teléfono. Contiene los siguientes campos:
    • phone — solo número
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
  • responsible — usuario responsable. Contiene los siguientes campos:
    • id — identificador de usuario
    • name — nombre de usuario
    • ext_num — extensión de la centralita del usuario

Usuario

{
  "contact_type": "user",
  "id": 234,
  "name": "John Smith",
  "avatar": 2457,
  "role": "",
  "status": "",
  "phone": {
    "phone": "100",
    "type": "internal"
  },
  "group": {
    "type": "admin",
    "title": ""
  }
}

donde

  • contact_type — tipo de contacto:
    • user — usuario
  • id — identificador de usuario
  • name — nombre de usuario
  • avatar — avatar de usuario (identificador de archivo)
  • role — rol de usuario
  • status — estado de usuario
  • phone — número de teléfono. Contiene los siguientes campos:
    • phone — solo número
    • type — tipo de número. Valores posibles:
      • work — de trabajo
      • personal — personal
      • internal — extensión de la centralita del usuario
  • group — grupo de usuario. Contiene los siguientes campos:
    • type — tipo de grupo. Valores posibles:
      • admin — administradores
      • manager — agentes
      • chat_operator — operadores
      • trainee — becarios
      • custom — personalizado
    • title — nombre de grupo personalizado (para type = custom)

GET /v1/zcrm/files/<file_id>

Devuelve el archivo por su ID.

Sin parámetros

 

Información sobre las llamadas entrantes

El sistema Zadarma puede enviar información de cada llamada entrante a la centralita virtual y enviar las llamadas a la extensión necesaria en función de la respuesta. Para ello hay que crear un enlace abierto para acceso general que acepte las consultas POST con información desde el sistema de Zadarma.

Tipos de notificación existentes:

Métodos disponibles:

  • NOTIFY_START
    inicio de llamada entrante a la centralita virtual.
  • NOTIFY_INTERNAL
    inicio de llamada entrante a la extensión de la centralita virtual.
  • NOTIFY_ANSWER
    respuesta de llamada al número interno o externo.
  • NOTIFY_END
    fin de llamada entrante a la extensión de la centralita virtual.
  • NOTIFY_OUT_START
    inicio de llamada saliente desde la centralita virtual.
  • NOTIFY_OUT_END
    fin de llamada salientes desde la centralita virtual.
  • NOTIFY_RECORD
    la grabación de la llamada está lista para descargarse.
  • NOTIFY_IVR
    respuesta de la persona que llama a la acción asignada.
  • SPEECH_RECOGNITION
    resultado de reconocimiento de voz.

Parámetros que se envían al enlace para las notificaciones:

  • event – evento (NOTIFY_START)
  • call_start – hora inicio de llamada;
  • pbx_call_id – id de la llamada;
  • caller_id – número del llamante;
  • called_did – número al que se ha llamado.

Redacción de la firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Para las solicitudes NOTIFY_START y NOTIFY_IVR se puede modificar "sobre la marcha" el escenario de la llamada en curso, enviando como respuesta una de las siguientes alternativas:

Reproducir el archivo:

{
    "ivr_play": "ID"
}

donde,

  • ivr_play – valor de la columna ID en el listado de archivos cargados/insertados del archivo requerido.

Reproducir una frase popular:

{
    "ivr_saypopular": 1,
    "language": "en"
}

donde,

  • ivr_saypopular – número de la frase del listado;

Reproducir cifras:

{
    "ivr_saydigits": "12",
    "language": "en"
}

Reproducir el número (de acuerdo con las reglas numéricas complejas):

{
    "ivr_saynumber": "123",
    "language": "en"
}

donde,

  • language puede tomar uno de los valores: ru, ua, en, es, pl;

Si se han indicado ivr_saydigits o ivr_saynumber, en el siguiente evento NOTIFY_IVR se añadirá el parámetro:

"ivr_saydigits": "COMPLETE" o"ivr_saynumber": "COMPLETE"

En cada una de las solicitudes anteriores puede haber una solicitud de entrada de dígitos de la persona que llama:

{
    "wait_dtmf": {
        "timeout": TIMEOUT,
        "attempts": ATTEMPTS,
        "maxdigits": MAXDIGITS,
        "name": NAME,
        "default": DEFAULT,
    }
}

где,

  • timeout - tiempo de espera de entrada de dígitos en segundos;
  • attempts - número de intento de entrada de dígitos de la persona que llama;
  • maxdigits - número máximo de entrada de dígitos;
  • name - el nombre que se devolverá en la respuesta;
  • default - acción si no se ha escrito ningún dígito. Valores posibles:
    • id del escenario del desvío (en formato 0-1, donde 0 es el menú de voz, 1 es el número del escenario);
    • menú de la centralita virtual en formato 0-main, donde 0 es el id del menú;
    • extensión de la centralita virtual (número de 3 dígitos);
    • hangup - terminar la llamada.

En el siguiente evento NOTIFY_IVR se indicará el parámetro adicional:

{
  	"wait_dtmf": {
	    "name": NAME,
	    "digits": DIGITS,
	    "default_behaviour": "1"
    }
}

donde,

  • name - nombre indicado en la anterior respuesta;
  • digits - dígitos introducidos por la persona que llama;
  • default_behaviour - indicado si el usuario no ha apretado ningún botón y ha funcionado el comportamiento por defecto;

Transferir la llamada:

{
    "redirect": ID,
    "return_timeout": TIMEOUT (opcional)
}

donde,

  • redirect - id del escenario de desvío (en formato 0-1, donde 0 es el número del menú de voz, 1 es el número del escenario); o en formato 1 donde q es el escenario (número del menú de voz es 0 en este caso); o menú de la centralita virtual 0-main, donde 0 es el id del menú; o extensión de la centralita virtual (número de 3 dígitos); o "blacklist" - en este caso la llamada será rechazada con el tono de ocupado;
  • return_timeout - Valores en segundos. Posibles valores:
    • 0, la llamada no será devuelta al menú;
    • >= 3 - duración de la llamada antes de ser devuelta al menú
  • default_behaviour - se indica en caso de que el usuario no ha apretado ningún botón y ha funcionado el comportamiento por defecto;

Terminar la llamada:

{
    "hangup": 1
}

En cada respuesta se puede indicar adicionalmente:

Establecer un nombre para el número entrante:

{
	"caller_name": NAME
}

donde,

  • caller_name - nombre del número.

Listado de frases populares:

Parámetros que se envían al enlace para la notificación:

  • event – evento (NOTIFY_INTERNAL)
  • call_start – duración del inicio de la llamada;
  • pbx_call_id – id de la llamada;
  • caller_id – número del llamante;
  • called_did –número al que se realiza la llamada;
  • internal – (opcional) extensión.

Crear una firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Parámetros que se envían al enlace para la notificación:

  • event – evento (NOTIFY_ANSWER)
  • caller_id – número del llamante;
  • destination – número al que se realiza la llamada;
  • call_start – hora del inicio de la llamada;
  • pbx_call_id – id звонка;
  • internal – (opcional) extensión.

Crear una firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['destination'] . $_POST['call_start'], API_SECRET));

Parámetros que se envían al enlace para la notificación:

  • event – evento (NOTIFY_END)
  • call_start – hora del inicio de la llamada;
  • pbx_call_id – id de la llamada;
  • caller_id – número del llamante;
  • called_did – número al que se realiza la llamada;
  • internal – (opcional) extensión;
  • duration – duración en segundos;
  • disposition – estado de la llamada:
    • 'answered' – conversación,
    • 'busy' – ocupado,
    • 'cancel' - cancelado,
    • 'no answer' - sin respuesta,
    • 'failed' - no ha sido posible,
    • 'no money' - no hay saldo, se ha superado el límite,
    • 'unallocated number' - el número no existe,
    • 'no limit' - se ha superado el límite,
    • 'no day limit' - se ha superado el límite diario,
    • 'line limit' - se ha superado el límite de líneas,
    • 'no money, no limit' - se ha superado el límite;
  • last_internal – extensión, último partícipe de la llamada (después de la transferencia o recogida de llamada);
  • status_code – código del estado de la llamada Q.931;
  • is_recorded – 1 - hay grabación de la llamada, 0 - no hay grabación;
  • call_id_with_rec – id de la llamada con grabación (recomendamos cargar el archivo de la grabación no antes de 40 segundos puesto que se requiere tiempo para guardar el archivo).

Crear una firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Parámetros que se envían al enlace para la notificación:

  • event – evento (NOTIFY_OUT_START)
  • call_start – hora del inicio de la llamada;
  • pbx_call_id – id de la llamada;
  • destination – número al que se realiza la llamada;
  • caller_id – número establecido en la extensión de la centralita virtual o en la regla de determinación en función del destino. Si el número no está establecido se se transmite 0;
  • internal – (opcional) número de extensión.

Crear una firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['internal'] . $_POST['destination'] . $_POST['call_start'], API_SECRET));

Parámetros que se envían al enlace para la notificación:

  • event – evento (NOTIFY_OUT_END)
  • call_start – hora del inicio de la llamada;
  • pbx_call_id – id de la llamada;
  • caller_id – número establecido en la extensión de la centralita virtual o en la regla de determinación en función del destino. Si el número no está establecido se se transmite 0;
  • destination – número al que se realiza la llamada;
  • internal – (opcional) extensión;
  • duration – duración en segundos;
  • disposition – estado de la llamada:
    • 'answered' – conversación,
    • 'busy' – ocupadо,
    • 'cancel' - cancelado,
    • 'no answer' - sin respuesta,
    • 'failed' - no ha sido posible,
    • 'no money' - no hay saldo, se ha superado el límite,
    • 'unallocated number' - el número no existe,
    • 'no limit' - se ha superado el límite,
    • 'no day limit' - se ha superado el límite diario,
    • 'line limit' - se ha superado el límite de las líneas,
    • 'no money, no limit' - se ha superado el límite;
  • status_code – código del estado de la llamada Q.931;
  • is_recorded – 1 - hay grabación de la llamada, 0 - no hay grabación;
  • call_id_with_rec – id de la llamada con grabación (recomendamos cargar el archivo de la grabación no antes de 40 segundos después de la notificación puesto que se requiere tiempo para guardar el archivo).

Crear una firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['internal'] . $_POST['destination'] . $_POST['call_start'], API_SECRET));

Parámetros que se envían al enlace para la notificación:

  • event – evento(NOTIFY_RECORD)
  • call_id_with_rec – id único de la llamada con grabación de la conversación;
  • pbx_call_id – ID permanente de la llamada externa a la centralita virtual (no cambia al pasar de escenarios, menú de voz, transferencia, etc., se muestra en estadísticas y notificaciones).

Crear una firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['pbx_call_id'] . $_POST['call_id_with_rec'], API_SECRET));

Parámetros que se envían al enlace de notificaciones:

  • event – evento (NOTIFY_IVR)
  • call_start – hora inicio de la llamada;
  • pbx_call_id – id de la llamada;
  • caller_id – número del llamante;
  • called_did – número al que se ha llamado.

Redacción de la firma de verificación para la notificación de llamadas entrantes, ejemplo en PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Las posibles respuestas enviadas son similares a las respuestas de las solicitudes NOTIFY_START

Parámetros que se envían al enlace de notificaciones:

  • event – evento (SPEECH_RECOGNITION)
  • lang – idioma;
  • result:
    • words - conjunto:
      • result - conjunto de palabras (conjunto):
        • s - hora inicio de palabra
        • e - hora fin de palabra
        • w - palabra
      • channel - número de canal
    • phrases - conjunto:
      • result - frase
      • channel - número de canal

Especificar un enlace sobre el cual notificar y habilitar o deshabilitar todos los tipos de notificaciones se hace en la sección de API del área personal.

Para que el sistema acepte el enlace debes agregar un código de verificación al comienzo de la secuencia de comandos.

Ejemplo en PHP:

<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>

Para aumentar la seguridad recomendamos permitir el acceso a tu enlace únicamente desde la dirección IP 185.45.152.42.

Además, si has solicitado la contraseña de acceso a API, en cada solicitud de tu enlace recibirás un encabezado adicional "Signature", mediante el cual también puedes verificar la integridad, así como la autenticidad de los datos.

Puedes ver un ejemplo de script en en nuestro repositorio en GitHub.

Otras notificaciones:

Parámetro"result" estas notificaciones emplean el formato JSON. Puede recibirlas en formato XML indicando en el enlace el parámetro format=xml.

  • NUMBER_LOOKUP
    informe sobre verificación de números.
  • CALL_TRACKING
    información sobre llamadas a los números conectados en call tracking.
  • SMS
    información sobre SMS recibidos.

Parámetros enviados al enlace para las notificaciones:

  • event – evento (NUMBER_LOOKUP)
  • success – indicador de éxito de validación;
  • description – descripción del estado de finalización de la validación;
  • result – datos del informe;
    • number – número comprobado;
    • mcc – prefijo móvil del país;
    • mnc – prefijo del operador móvil;
    • ported – indicador de transferencia a otro operador;
    • roaming – indicador de estar en roaming;
    • error – estado del error;
    • errorDescription – descripción del error;
    • mccName – nombre del país;
    • mncName – nombre del operado;

Redacción de la suscripción de verificación:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));

Se envía una vez cada 15 minutos si hay nuevas llamadas.

Parámetros que se envían al enlace de notificación:

  • event – evento (CALL_TRACKING)
  • result - área
    • tracker - ID del tracker (se puede averiguar en la página donde se inserta el código);
    • start - hora de inicio de la llamada;
    • duration - duración de la llamada en segundos;
    • caller_id - número del llamante;
    • caller_did - número al que se ha llamado;
    • country - (opcional) país desde el que se realiza la llamada;
    • ga_id - (opcional, si en los ajustes está indicado Id Google Analytics) id del visitante en Google Analytics;
    • metrika_id - (opcional, si en los ajustes está indicado Id Yandex.Metrika) id del visitante en Yandex.Metrika;
    • url - dirección de la página desde la que se realizó la llamada;
    • utm_source, utm_medium, utm_campaign, utm_term, utm_content - (opcional, si al visitar el sitio web estaban indicadas las etiquetas utm) etiquetas utm a través de las cuales ha llegado el usuario a la web la última vez;
    • first_utm - (opcional, si al visitar por primera vez el sitio web estaban indicadas las etiquetas utm diferentes a las que se ha visitado por última vez) matriz con las etiquetas utm indicadas más arriba a través de las cuales el usuario ha visitado la web por primera vez;

Redacción de la suscripción de verificación:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));

Parámetros que se envían al enlace de notificación:

  • event – evento (SMS)
  • result – área;
  • caller_id – número del remitente;
  • caller_did – número del destinatario;
  • text – texto del mensasje.

Redacción de la suscripción de verificación:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));