Skip to content

Procesar peticiones

ManuSinergiaCRM edited this page Dec 11, 2023 · 1 revision

Realizar peticiones

Una vez realizada la configuración podremos lanzar nuestra primera petición API llamando a la URL de nuestro ordenador local (localhost o 127.0.0.1) o de nuestro servidor indicando la carpeta donde lo hayamos instalado y el fichero app.php. Por ejemplo, si fuese en una instalación local escribimos la siguiente URL en un navegador:

http://localhost/<carpeta_de_instalación>/app.php

Por defecto sólo están activadas las llamadas a los métodos de login y logout. Además, como la variable $verbose está activada, deberíamos ver en el navegador:

URL: <INSTANCIA_URL>/TEST/custom/service/v4_1_SticCustom/rest.php
API método: LOGIN
ARGUMENTOS de la llamada:
array(4) {
    ["method"]=> string(5) "login"
    ["input_type"]=> string(4) "JSON"
    ["response_type"]=> string(4) "JSON"
    ["rest_data"]=> string(217) "{
        "user_auth":{
            "user_name":"<USUARIO_CRM>",
            "password":"<CONTRASEÑA_USUARIO_CRM>"
        },
        "application_name":"API Examples v4.1",
        "name_value_list":[
            {"name":"notifyonsave","value":null},
            {"name":"language","value":"es_ES"}
        ]
    }"
}

RESULTADO

ID de sesión = hj8ikeanb57o6r9qj1ucp2b86g

==================================


URL: <INSTANCIA_URL>/TEST/custom/service/v4_1_SticCustom/rest.php
API método: LOGOUT
ARGUMENTOS de la llamada:
array(4) {
    ["method"]=> string(6) "logout"
    ["input_type"]=> string(4) "JSON"
    ["response_type"]=> string(4) "JSON"
    ["rest_data"]=> string(40) "{"session":"hj8ikeanb57o6r9qj1ucp2b86g"}"
}

RESULTADO

Sesión cerrada: hj8ikeanb57o6r9qj1ucp2b86g

==================================

Si queremos realizar una llamada a otro método de la API de SinergiaCRM tendremos que realizar dicha llamada entre el LOGIN y el LOGOUT.

Activar / Desactivar peticiones de ejemplo

Como vimos en el apartado de la estructura, disponemos de un conjunto de ejemplos que podemos activar y desactivar atendiendo a la siguiente metodología:

Accedemos al fichero de ejemplo del método que queramos probar, por ejemplo, Ejemplos/GET/get_entry_list.php y activamos unos de los ejemplos descomentando el apartado de código, por ejemplo, el EJEMPLO 1:

// EJEMPLO 1
// Obtener el nombre, apellidos, email, edad, tipo de documento y identificador de documento
// de los 10 primeros registros no eliminados del módulo de Personas.

$params = array(
'module_name' => 'Contacts',
'query' => "",
'order_by' => '',
'offset' => 0,
'select_fields' => array(
    'name',
    'last_name',
    'email1',
    'stic_age_c',
    'stic_identification_type_c',
    'stic_identification_number_c'
),
'link_name_to_fields_array' => [],
'max_results' => 10,
'deleted' => 0,
);

En el fichero app.php activamos la llamada a ese fichero descomentando la línea:

// LISTADO DE EJEMPLOS
// Se recomienda ejecutar lo ejemplos de uno en uno. Para ello podemos comentar el ejemplo activo y descomentar otro.

// GETTERS
// include_once 'Ejemplos/GET/get_available_modules.php';
// include_once 'Ejemplos/GET/get_document_revision.php';
include_once 'Ejemplos/GET/get_entry_list.php';
// include_once 'Ejemplos/GET/get_entry.php';
// include_once 'Ejemplos/GET/get_image.php';
// include_once 'Ejemplos/GET/get_language_definition.php';
// include_once 'Ejemplos/GET/get_module_fields.php';
// include_once 'Ejemplos/GET/get_relationships.php';

// SETTERS
// include_once 'Ejemplos/SET/set_entry.php';
// include_once 'Ejemplos/SET/set_document_revision.php';
// include_once 'Ejemplos/SET/set_relationship.php';
// include_once 'Ejemplos/SET/set_image.php';

Volvemos a acceder a la URL desde un navegador:

http://localhost/<carpeta_de_instalación>/app.php

Recibir y renderizar la respuesta

Ya hemos visto que, a través de activar los diferentes ejemplos y la variable $verbose, disponemos de una manera para poder visualizar en pantalla los parámetros de la llamada y el resultado devuelto por los diferentes métodos de la API.

Además, en los ejemplos que tienen que ver con el tratamiento de ficheros:

  • Ejemplos/GET/get_document_revision.php
  • Ejemplos/GET/get_image.php

podemos activar un tratamiento más avanzado de cómo gestionar la respuesta JSON del CRM para acceder a la fotografía o el archivo relacionado (EJEMPLO 2)