OptaCheck

OptaCheck

  • Web
  • Móvil
  • API

›API

Conceptos

  • Tutorial

Aplicación Web

  • Introducción
  • Basico
  • Control

Aplicación Móvil

  • Introducción

API

  • API
  • Misiones
  • Usuarios

Misiones

Ver una misión

Para ver una misión se puede enviar un GET request como se muestra a continuación:

HTTP:

GET /v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/afc76c05-136e-4fda-8286-33a3c55a4008/ HTTP/1.1
Host: api.optacheck.com
Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e
x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac
Cache-Control: no-cache
curl -X GET \
https://api.optacheck.com/v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/afc76c05-136e-4fda-8286-33a3c55a4008/ \
-H 'Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e' \
-H 'Cache-Control: no-cache' \
-H 'x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac'

Crear una misión

Para crear una misión se utiliza el metodo POST:

HTTP:

POST /v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/ HTTP/1.1
Host: api.optacheck.com
Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e
x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac
Content-Type: application/json
Cache-Control: no-cache
{
    "status": "assigned",
    "title": "Jul 14 test - 3",
    "description": "test 3 del Jul 14",
    "form": "10ee467b-3ae1-423f-ae0f-e4ba9a6fd751",
    "project": null,
    "client": "0e5acd00-53c1-4fdd-ba2a-c7b3de4fbbde",
    "data": {},
    "user_email": "pablo.monterroso@somosopta.com"
}

CURL:

curl -X POST \
https://api.optacheck.com/v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/ \
-H 'Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac' \
-d '{
  "status": "assigned",
  "title": "Jul 14 test - 3",
  "description": "test 3 del Jul 14",
  "form": "10ee467b-3ae1-423f-ae0f-e4ba9a6fd751",
  "project": null,
  "client": "0e5acd00-53c1-4fdd-ba2a-c7b3de4fbbde",
  "data": {},
  "user_email": "pablo.monterroso@somosopta.com"
}'

Actualizar una misión

Para actualizar el estado de una mision se utiliza el metodo PATCH:

HTTP:

PATCH /v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/efa5a106-1900-4840-873a-3a94aad71c42/ HTTP/1.1
Host: api.optacheck.com
Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e
x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac
Content-Type: application/json
Cache-Control: no-cache

{
  "status": "active"
}

CURL:

curl -X PATCH \
https://api.optacheck.com/v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/efa5a106-1900-4840-873a-3a94aad71c42/ \
-H 'Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac' \
-d '{
  "status": "active"
}'

Eliminar una misión

Para eliminar una mision se utiliza el metodo DELETE:

HTTP:

DELETE /v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/efa5a106-1900-4840-873a-3a94aad71c42/ HTTP/1.1
Host: api.optacheck.com
Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e
x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac
Content-Type: application/json
Cache-Control: no-cache

CURL:

curl -X DELETE \
https://api.optacheck.com/v1.0/workspaces/55ac11bf-bc15-493a-8063-abbea15473db/assignments/efa5a106-1900-4840-873a-3a94aad71c42/ \
-H 'Authorization: Token f88dc82a9023ee952613ff6d3b521a4b90b6817e' \
-H 'Cache-Control: no-cache' \
-H 'x-api-key: 7eb16e78fdb4de13fa4eb3aadd26225fcff97dac'

Campos de una misión

Los principales campos que tiene una mision son:

  • status: Estado de la misión.
  • title: Titulo puede ser usado para reconocer la misión. Un maximo de 100 carácteres.
  • description (optional): Una descripción de la misión. Un maximo de 255 carácteres.
  • form (optional): ID de un formulario que la misión utilizara.
  • project (optional): ID de un proyecto.
  • client (optional): ID de un cliente.
  • user_email: Email del usuario al que queremos asignar la misión.
  • data (optional): Información de las preguntas que aparecen en la misión.

Los posibles valores para el estado de una mision son:

  • assigned: Asignado
  • active: Activa
  • done: Terminada y exitosa
  • failed: Teminada y falló
  • cancel: Terminada y cancelada

Tipos de campos

El campo "data" debe de estar compuesto de los siguientes valores según el tipo de pregunta.

Tipo texto

{
  "type": "text",
  "title": "",
  "value": "",
  "editable": true, // (true permite al operador editar la pregunta, false puede ser usado para mostrar información de ayuda al operador)
  "max_length": 100, (Cantidad maxima de carácteres que permitira ingresar en la App)
  "input_type": "text" (opciones: text, number, tel)
}

Tipo texto con multiples respuestas

Le permite al usuario ingresar varias respuestas a una pregunta. Las respuestas estan en el atributo "value" que es una lista (array of strings).

{ "type": "multi-text", "title": "", "value": ["respuesta 1", "respuesta 2", "respuesta 3"], "max_length": 100, (Cantidad maxima de carácteres que permitira ingresar en la App) "input_type": "text" (opciones: text, number, tel) }

Tipo foto

{
  "type": "photo",
  "title": "",
  "value": "" // (an uuid value)
}

Tipo GPS

{
  "type": "gps",
  "title": "",
  "value": null
}

Tipo fecha

{
  "type": "date",
  "title": "",
  "value": "year-month-day"
}

Tipo selección

{
  "type": "select",
  "title": "",
  "value": null,
  "select_default_value": {   (valor por defecto tomado del campo select_values, puede dejar este campo como null)
    "idx": 1,
    "value": "Titular"
  },
  "select_values": [
      {
          "value": "ejemplo-1",
          "idx": 1
      },
      {
          "value": "ejemplo-2",
          "idx": 2
      },
      {
          "value": "ejemplo-3",
          "idx": 3
      }
  ]
}

Tipo si/no (checkbox)

{
  "type": "checkbox",
  "title": "¿Esta funcionando bien?",
  "value": true
}

Tipo Firma (signature)

Le permite al usuario dibujar su firma en la app. Esta se guarda en el atributo "value" como una imagen en Base64.

{
  "type": "signature",
  "title": "Firma del cliente",
  "value": ""
}

Tipo Ticket Impreso

Ejemplo 1:

El campo "value" acepta un objeto con un atributo "content" que consiste en una lista de objectos. en cada objeto en esta lista puede llevar:

"text": string - el texto que se desea imprimir.

"fontsize": number - tamaño del font.

"bold": boolean - texto en negrita.

"margin": number - Un número para margenes iguales o una lista de números indicando [left, top, right, bottom] o [horizontal, vertical]

"alignment": string - Disposición - "right", "center", "left"

{
  "type": "print-ticket",
  "title": "Ticket de aviso",
  "value": {
    "content": [
      { image: "data:image/jpeg;base64,...encodedContent...", fit: [100, 100]}, 
      { "text": "Comprobante de pago", "fontSize": 25, "bold": true, "alignment": "center" },
      { "text": "Fecha: 2018-12-09", "alignment": "right", "fontSize": 22, "bold": true, "margin": [5, 0] },
      { "text": "Le informamos que: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor", 
        "fontSize": 22, "margin": [10, 10, 10, 10] },
      "Un simple texto sin ningún formato",
      { "text": "Cualquier consulta comunicarse al:", "fontSize": 22, "margin": [5, 5, 5, 5], "alignment": "center" },
      { "text": "Tel. 55332211", "fontSize": 22, "alignment": "center", "bold": true }, 
      {
        text: [
          "Este texto pude llevar otros objectos para definir un formato dentro de otro",
          { text: "por ejemplo hacer parte del texto con otro tamaño de fuente", fontSize: 15 },
          "que el resto"
        ]
      }
    ]
  }
}

Ejemplo 2:

Una forma más simple es colocando en value todo el contenido pero sin formato.

{
  "type": "print-ticket",
  "title": "Ticket de aviso",
  "value": "Asi simple un texto que se quiera mostrar. Este texto puede llevar saltos de linea utilando el simbolo . Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation"
}
← APIUsuarios →
  • Ver una misión
  • Crear una misión
  • Actualizar una misión
  • Eliminar una misión
  • Campos de una misión
  • Tipos de campos
    • Tipo texto
    • Tipo texto con multiples respuestas
    • Tipo foto
    • Tipo GPS
    • Tipo fecha
    • Tipo selección
    • Tipo si/no (checkbox)
    • Tipo Firma (signature)
    • Tipo Ticket Impreso
OptaCheck
Docs
Aplicación WebAplicación Movil
Redes
YouTubeFacebookLinkedIn
Copyright © 2022 Opta