API Pines Masivos

API Pines Masivos

Documentación API de Generación de Pines Masivos

Descripción General

Esta API permite la generación de pines de acceso para servicios de navegación. Los pines generados están vinculados a planes de navegación específicos y zonas determinadas.

Autenticación

Para utilizar la API, necesitarás una API key (x-api-key).

¿Cómo obtener tu API key?

  • Abre un ticket de soporte solicitando acceso a la API de pines
  • En el ticket, especifica:
  • ID de cliente
  • Motivo de uso
  • Contacto técnico responsable
  • Endpoint

    1. URL: /web/services/api_pines/pines.php
    2. Metodo: POST

    Headers requeridos

    1. x-api-key: tu_api_key Content-Type: application/json

    Estructura de la petición

    1. {
      "costumer_id": 123, // ID del cliente (requerido)
      "type": "general", // Tipo de pin (requerido)
      "navigation_plan": "", // Plan de navegación (requerido)
      "zone": 123, // ID de la zona (requerido)
      "cantidad": 0 // Valor entre 0 y 400
      }

    Campo
    Tipo
    Requerido
    Descripción
    costumer_id
    Number
    Id del cliente, se puede encontrar en la sección de configuración de la plataforma
    type
    String
    Tipo de pin ("general" o "phone")
    navigation_plan
    String
    Si
    nombre del plan de navegación, tal cual se creo en la plataforma
    zone
    Number
    Si
    Id de la zona a la que se desea aplicar el plan de navegación, debe ser unicamente una zona
    cantidad
    Number
    Si
    Cantidad entre 0 y 400

    Respuestas

    1. {
      "message": "Pin created successfuly",
      "pins": ["123", "434343","aodbns"...],
      }

    Errores comunes

    1. Error de autenticación(401)
    1. {
      "message": "Not found"
      }
    1. Error de validación(400)
    1. {
      "message": "Not found"
      }
    2. {
      "message": "Zone is required"
      }
    3. {
      "message": "Navigation plan is required"
      }

    Ejemplo de uso

    cURL
    PHP
    Python
    NodeJs
    cURL
    --header 'x-api-key: 123' \
    --header 'Content-Type: application/json' \
    --data-raw '{
    "costumer_id": 123,
    "type": "general",
    "navigation_plan": "nombre_plan",
    "zone": 123,
    "cantidad": 100
    }'
    PHP
    <?php

    $curl = curl_init();

    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS =>'{
    "costumer_id": 123,
    "type": "general",
    "navigation_plan": "nombre_plan",
    "zone": 123,
    "cantidad": 100
    }',
    CURLOPT_HTTPHEADER => array(
    'x-api-key: 123',
    'Content-Type: application/json',
    ),
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    echo $response;

    Python
    import http.client
    import json

    conn = http.client.HTTPSConnection("app.datawifi.co")
    payload = json.dumps({
    "costumer_id": 123,
    "type": "general",
    "navigation_plan": "nombre_plan",
    "zone": 123,
    "cantidad": 100
    })
    headers = {
    'x-api-key': '123',
    'Content-Type': 'application/json',
    }
    conn.request("POST", "/easyfi/web/services/api_pines/creacion_pines.php", payload, headers)
    res = conn.getresponse()
    data = res.read()
    print(data.decode("utf-8"))
    NodeJs
    const axios = require('axios');
    let data = JSON.stringify({
    "costumer_id": 123,
    "type": "general",
    "navigation_plan": "nombre_plan",
    "zone": 123,
    "cantidad": 100
    });

    let config = {
    method: 'post',
    maxBodyLength: Infinity,
    headers: {
    'x-api-key': '123',
    'Content-Type': 'application/json',

    },
    data : data
    };

    axios.request(config)
    .then((response) => {
    console.log(JSON.stringify(response.data));
    })
    .catch((error) => {
    console.log(error);
    });