loader Loading...
Aceptar Cookies

Esta web utiliza Cookies para obtener datos estadísticos de la navegación de sus usuarios. Puede obtener más información, o bien conocer cómo cambiar la configuración, en nuestra Cookies Policy.

API de CAMPILLOPALMERA

Consideraciones iniciales

El uso de esta API está restringido a programadores y gente con conocimientos tecnológicos avanzados. Cualquier funcionalidad que se quiera realizar a través de la API se puede realizar también a través de la interfaz web, por lo que si no posees conocimiento tecnológico, intenta utilizar la interfaz web.

Identificador de cliente y token

Para poder autentificarse contra nuestra API se necesitan dos datos. Ten en cuenta que solo verás esta información si estás logeado en la página y que estos datos son exclusivos de tu cuenta y no personales, no los compartas con nadie ajeno a tu organización. Los datos que se deben incluir en todas las llamadas son:


Debes estar logueado para ver estos valores. Extranet Access


Métodos de llamada a las funciones

Nuestra API es de formato REST con autentificación DIGEST, por lo que es independiente del lenguaje que se vaya a utilizar. Las llamadas siempre se realizan sobre los siguientes endpoints:

Address

https://www.campillopalmera.com/api/v1/(nameFunction)/(response_type)

Pruebas

https://www.campillopalmera.com/api/v1t/(nameFunction)/(response_type)

Valores de entrada

Los valores de entrada para las funciones se enviarán en formato JSON mediante petición POST.

En algunos casos se requiere una Entidad como parámetro de entrada para los métodos. Para codificar una Entidad deberá mandarse la información en formato array.

Las entidades a su vez pueden agruparse en Actions, que no son más que arrays de Entidades.


Formatos de salida

Permitimos dos formatos de respuesta, JSON (valor por defecto) y XML. El argumento que hay que especificar en las llamadas es response_type y sus posibles valores son 'json' o 'xml'.


Valores de retorno

Todas las funciones, además de los datos que puedan devolver como respuesta a la petición, también devolverán un código de estado de HTML que podremos capturar. Hay un código distinto para cada situación y son los siguientes:

200 La consulta ha ido bien
201 Order created correctly
400 Petición incorrecta: algún argumento ha sido incorrecto
401 No autorizado, el proceso de autenticación ha sido incorrecto
415 Content-type no válido. Recuerda usar application/json.
500 Se ha producido algún error en el servidor. Infórmanos para que lo arreglemos.

Petición CURL

curl -H "Content-Type: application/json" -X POST -d '{"data":"value","entity":{"field":"value","another_field":"another_value"},"collection":[{"field":"value","another_field":"another_value"},{"field":"value","another_field":"another_value"}]}' https://www.campillopalmera.com/api/v1t/(nameFunction)/(response_type)

Petición PHP + CURL

$url = "https://www.campillopalmera.com/api/v1t/(nameFunction)/(response_type)";
$data = '{
    "data": "value",
    "entity": {
        "field": "value",
        "another_field": "another_value"
    },
    "collection": [
        {
            "field": "value",
            "another_field": "another_value"
        },
        {
            "field": "value",
            "another_field": "another_value"
        }
    ]
}';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

Ejemplo Respuesta JSON

{
    "status": 200,
    "result": [
        {
            "codigo": "CODIGO PROVEEDOR",
            "codigo_externo": "CODIGO EXTERNO",
            "razon_social": "RAZON SOCIAL",
            "cif": "CIF",
            "direccion": "DIRECCION",
            "codigo_postal": "CPOSTAL",
            "poblacion": "POBLACION",
            "municipio": "MUNICIPIO",
            "provincia": "PROVINCIA",
            "pais": "ES",
            "notas": "NOTAS"
        },
        {
            "codigo": "CODIGO PROVEEDOR2",
            "codigo_externo": "CODIGO EXTERNO",
            "razon_social": "RAZON SOCIAL",
            "cif": "CIF",
            "direccion": "DIRECCION",
            "codigo_postal": "CPOSTAL",
            "poblacion": "POBLACION",
            "municipio": "MUNICIPIO",
            "provincia": "PROVINCIA",
            "pais": "ES",
            "notas": "NOTAS"
        }
    ],
    "errors": ""
}

Ejemplo Respuesta XML

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>200</status>
  <result>
    <codigo>CODIGO PROVEEDOR</codigo>
    <codigo_externo>CODIGO EXTERNO</codigo_externo>
    <razon_social>RAZON SOCIAL</razon_social>
    <cif>CIF</cif>
    <direccion>DIRECCION</direccion>
    <codigo_postal>CPOSTAL</codigo_postal>
    <poblacion>POBLACION</poblacion>
    <municipio>MUNICIPIO</municipio>
    <provincia>PROVINCIA</provincia>
    <pais>ES</pais>
    <notas>NOTAS</notas>
  </result>
  <result>
    <codigo>CODIGO PROVEEDOR2</codigo>
    <codigo_externo>CODIGO EXTERNO</codigo_externo>
    <razon_social>RAZON SOCIAL</razon_social>
    <cif>CIF</cif>
    <direccion>DIRECCION</direccion>
    <codigo_postal>CPOSTAL</codigo_postal>
    <poblacion>POBLACION</poblacion>
    <municipio>MUNICIPIO</municipio>
    <provincia>PROVINCIA</provincia>
    <pais>ES</pais>
    <notas>NOTAS</notas>
  </result>
  <errors/>
</response>