1. Inicio
  2. Integraciones
  3. API
  4. API de registros de GW Apps

API de registros de GW Apps

Descripción general de la API de registros

La API de registros es una API REST a la que se puede acceder mediante llamadas HTTP explícitas; la API expone la mayoría de las funciones relacionadas con los registros disponibles en la interfaz Web de GW Apps. Este documento describe cómo utilizar las llamadas RESTful.

Nota: La API no admite llamadas que modifiquen el diseño o la configuración de la aplicación.

Nota: Esta documentación de la API pretende ofrecer al lector una visión general de las capacidades de la API y de cómo acceder a ellas. Cuando intente escribir llamadas a la API, le recomendamos encarecidamente que utilice la documentación de la API directamente asociada a la clave de API específica a la que vaya a llamar. Esa documentación incluye ejemplos con los ID reales del formulario y los elementos del formulario, incluye ejemplos para cada campo disponible en los formularios asociados, etc. Esto le permitirá copiar y pegar directamente los fragmentos de código de la documentación en su código. Si intentara utilizar los ejemplos de esta documentación, tendría que modificarlos para los campos, ID de formulario, etc.

Autenticación

Antes de que su aplicación pueda acceder al punto final para obtener datos privados, debe obtener un access_token que conceda acceso a esa API. Un único access_token puede conceder distintos grados de acceso a varias API.

Por lo general, la mejor práctica consiste en solicitar únicamente los ámbitos necesarios. Por ejemplo, una aplicación que desee acceder a la búsqueda de las entidades disponibles sólo debería habilitar los ámbitos "Ver y buscar". Siempre puedes modificar el acceso al ámbito cuando cambie tu caso de uso o generar otras claves para otros fines.

Después de que una aplicación obtiene una clave de acceso, envía la clave a una API de GW Apps en un encabezado de solicitud de autorización HTTP. Los tokens de acceso sólo son válidos para el conjunto de operaciones y recursos descritos en el ámbito de la clave de API creada.

Por ejemplo, si se emite un token de acceso para el formulario A, éste no da acceso a la API de registros del formulario B.

Autenticación

Su aplicación debe utilizar este API "/token" para autorizar las solicitudes. Cada access_token generado es válido durante 1 hora.

Solicitud HTTP

POST https://api.gwapps.com/v1/token

Encabezados de solicitud

Cabeceravalor
Tipo de contenidoapplication/json

Solicitar cuerpo

ParámetroDescripciónTipo
Parámetros corporales requeridos
claveLa clave generada por GWAPPScadena
correo electrónicoEl correo electrónico que se utilizará para suplantar la cuenta de usuario para realizar las llamadas a la api.cadena
customerIdEl customerId citen_e0b70cadena

Ejemplo de solicitud

  {
      "key": apiKey,
      "email": email,
      "customerId": "citen_e0b70"
  }

Respuesta

iniciar

Nota: El token generado es válido durante 1 hora, es posible que tenga que implementar una estrategia para generar un nuevo access_token en consecuencia.

  {
      "access_token": access_token,
      "expires_in": 3600,
      "token_type": "Bearer"
  }

iniciar

Nota: Cada solicitud que su aplicación envíe a la API de Registros debe incluir un token de autorización. El token también identifica la cuenta de usuario que quieres suplantar (que define el nivel de acceso que tienes a determinados registros).

Cabeceravalor
AutorizaciónFicha_de_acceso_al_portador
Tipo de contenidoAplicación/json

Filtros

Los filtros y operadores admitidos al buscar registros mediante la API "Buscar registros".

Referencia

OperadorCampos admitidosTipo de valorEjemplo de valor
EN BLANCOTodos los camposNo se requiere ningún valor
NOT_BLANKTodos los camposNo se requiere ningún valor
IGUALESNO_IGUALESCreado el, Actualizado elcadena“2023-11-16T03:30:00”
Moneda, Númeronúmero100
Fechacadena"2023-11-16"
Envíe un correo electrónico acadena"john.doe@example.com"
Número de teléfonocadena“3103101234”
ID de registrocadena"REQ#00001"
País, Estado, Texto, Textareacadena"Estados Unidos", "CA", "John"
Tiempocadena"17:30"
VALOR_IGUALCasilla de verificación, Radio, Desplegable, Búsquedacadena"Opción 1"
VALOR_NO_IGUAL
CONTIENE_NO_CONTIENECreado por, Actualizado por, Usuario, Lista de usuarioscadena"Jane"
Envíe un correo electrónico acadena"jane.doe"
País, Estado, Texto, Textareacadena"United", "John"
ID de registrocadena"REQ#"
MAYOR_QUE MENOR_QUECreado el, Actualizado elcadena“2023-11-16T03:30:00”
Moneda, Númeronúmero100
Fechacadena"2023-11-16"
Tiempocadena"17:30"
MAYOR_QUE_EQ_TOLESS_QUE_EQ_TOMoneda, Númeronúmero100
LIKENOT_LIKEPaís, Estado, Número de teléfonocadena"Unidos", "310310"
COMO_VALORNO_COMO_VALORCasilla de verificación, Radio, Desplegable, Campo de búsquedacadena"Opción 1"
ENEscenariocadena [ ]["stg0"]

Notas:

  • Las fechas están en UTC
  • El formato de fecha aceptado es aaaa-MM-dd.
  • El formato de fecha y hora aceptado es aaaa-MM-ddTHH:mm:ss.
  • El formato de valor de hora aceptado es 24h, por ejemplo 13:30
  • El formato de valor de número de teléfono aceptado no contiene código de país, por ejemplo 3236397888

Filtros con condición OR

Los registros se devolverán en función de los criterios si al menos una de las condiciones es verdadera.

{
  "filters": [
    [
      {
        "fieldCode": "company1",
        "operator": "CONTAINS",
        "value": "vip"
      },
      {
        "fieldCode": "name1",
        "operator": "CONTAINS",
        "value": "john"
      }
    ]
  ]
}

Filtros con condición AND

Los registros se devolverán en función de los criterios si todas las condiciones son verdaderas.

{
  "filters": [
    {
      "fieldCode": "company1",
      "operator": "EQUALS",
      "value": "Vipe"
    },
    {
      "fieldCode": "stage",
      "operator": "IN",
      "value": [
        "stg0"
      ]
    }
  ]
}

Una vez que haya introducido el nombre de la nueva clave API, y opcionalmente haya añadido una descripción, y haya hecho clic en "Crear", verá el Editor de Claves API con su nueva clave cargada para que pueda completar su configuración:

Métodos API

Todos los tipos de campo

Parámetros

ParámetroValorDescripción
formId?????????????????????????El identificador del formulario seleccionado, este valor es requerido como parámetro de consulta en cada endpoint.

Etapas

Todos los registros tienen un atributo de etapa que define el estado del registro. El registro "Todos los tipos de campo" tiene definidas las siguientes etapas, por lo que deberá hacer referencia al atributo stage.id para crear y actualizar registros.

Estado / Nombre de la etapaId de etapa
Borradorstg0
Publicado enstg1

Ejemplo de solicitud

  {
      "stage": "stg0"
  }

O

  {
      "stage": {
        "id": "stg0"
        "status": "Draft"
      }
  }

Definición de registro para el formulario "Todos los tipos de campo"

Esta es la representación del registro incluyendo todos los campos y los tipos de valores esperados.

Código cortoNombre del campoTipoValores aceptados
campo_texto1TextoTextocadena
campo_fecha2FechaFechaFecha ISO
usuario1UsuarioBúsqueda en directorios{ “_id”: “string”, “name”: “string”, “email”: “string” }
desplegable1Búsqueda desplegableLista{ “code”: “string”, “value”: “string” }
área_de_texto1Área de textoÁrea de textocadena
hora1TiempoTiempocadena
lista_usuarios1Lista de usuariosLista de directorios[ { “_id”: “string”, “name”: “string”, “email”: “string” } ]
búsqueda2BúsquedaBúsqueda múltiple{ “code”: “string”, “value”: “string” }
campo_numero1NúmeroNúmeronúmero
radio_button1Botón de radioRadio{ “code”: “string”, “value”: “string” }
departamento1DepartamentoTextocadena
casilla1Casilla de verificaciónCasilla de verificación[ { “code”: “string”, “value”: “string” } ]
teléfono1TeléfonoNúmero de teléfono{ “code”: “string”, “phone”: “string” }
ciudad1Ciudad despejadaTextocadena
estado1Estado LimpioEstadocadena
zip1Cremallera transparenteTextocadena
país1País ClaroPaíscadena
archivo adjunto1AdjuntoSelector de archivos[ { “name”: “string”, “mimeType”: “string”, “fileId”: “string” } ]
drive_picker1Drive PickerDrive Picker[ { “id”: “string”, “mimeType”: “string”, “name”: “string”, “url”: “string” } ]
firma1FirmaFirma{ “data”: “string”, “date”: “ISODate” }
tabla1CuadroTabla dinámicaMatriz
tabla1.nueva_columna-ta1Nueva columna-[tabla]Textocadena
tabla1.nueva_columnatab1Nueva columna[tabla]Moneda{ “code”: “string”, “value”: “number” }
tabla1.nueva_columnatab2Nueva columna[tabla]Moneda{ “code”: “string”, “value”: “number” }
escenarioEstadoEscenario{ “id”: “string”, “status”: “string” }
Campos de sólo lectura
creadoPorCreado porCreado por{ “name”: “string”, “email”: “string”, “_id”: “string” }
creadoEnCreado enCreado enFecha ISO
actualizadoPorActualizado porActualizado por{ “name”: “string”, “email”: “string”, “_id”: “string” }
actualizadoEnActualizado elActualizado elFecha ISO
recordIdId de registroId de registro{ “inc”: “number”, “value”: “string” }
aprobadoresAprobadoresAprobadores

Este artículo cubre la estructura general de la API de registros y las llamadas/puntos finales. Los detalles de las llamadas/puntos finales específicos se tratan en artículos individuales. Se pueden encontrar opciones adicionales para Claves API dentro de la sección API de los Ajustes de la Plataforma, y en la sección Seguridad > Claves API de Editar App dentro de cada aplicación.

Actualizado el 27 de agosto de 2024
¿Le ha resultado útil este artículo?

Artículos relacionados