Saltar al contenido

API Ejecución Árboles

    En esta sección se describirá el API que expone Reevolute Builder para que una plataforma externa solicite la ejecución de un árbol. 
    Se entregará información sobre el request y response, así como de los parámetros involucrados.

    Request

    Para solicitar la ejecución de un árbol se debe enviar el siguiente Request a la plataforma.

    				
    					curl -XPOST \
    https://probe.reevolute.com/v2/tenants/{TENANT_ID}/trees/{TREE_ID}/releases/{RELEASE}/executions \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {API_KEY}' \
      -H 'X-SCE-Origin: {X_SCE_Origin}' \
      -d '{"type":"{TYPE}","parameters":{PARAMS}}'
    				
    			

    A continuación se describen los parámetros del request.

    Parameter M/O Type Description
    TENANT_ID M String Identificador del tenant donde está el árbol que se desea ejecutar Ejemplo: my_tenant
    TREE_ID M String Identificador de árbol que se desea ejecutar Ejemplo: 01G66Q0R9RXJ4TFN8FAH817QCB
    RELEASE M String Release a ejecutar respecto al árbol Valores posibles: production, test Ejemplo: production
    API_KEY M String API_KEY para ejecutar el árbol Ejemplo: eyJhbGciOiJSU..........6hDUYHJO5ta7HE
    X_SCE_Origin O String Identificador global de la transacción que puede definirse en el origen. Si no se define, es generado por la plataforma. Ejemplo: eyJhbGciOiJSU..........6hDUYHJO5ta7HE
    TYPE M String Tipo de ejecución. Valores posibles: sync, async, continue o cancel Ejemplo: sync
    PARAMS O Objeto JSON Parámetros que se le entregarán al árbol. Ejemplo: {"param1": "value1", "param2": "value2"}

    Ejemplo de request:

    				
    					curl -XPOST \
    https://probe.reevolute.com/webexec/v2/tenants/t_test/trees/01G66Q0R9R...AH817XYZ/releases/test/executions \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer eyJhbGciOiJSU...5ta7YH' \
      -H 'X-SCE-Origin: 01GA6JP...XJBT6ZM2O' \
     -d '{"type":"sync","parameters":{"var1": "data1", "var2": "data2"}}'
    				
    			

    Respose

    En la respuesta a la solicitud de ejecución de un árbol la plataforma entrega los siguientes códigos HTTP.

    HTTP Status Codes

    Http Status Codes Description
    200 Ejecución exitosa tipos: "sync", "continue", "cancel"
    201 Ejecución exitosa tipos: "async"
    400 Problema en los parámetros de entrada
    401 Token inexistente
    403 Sin permisos o inexistencia de recurso
    404 Árbol o Release no existe
    409 Árbol no finaliza correctamente
    429 Se superó el tráfico máximo permitido por el plan
    500 Error interno

    A continuación se describe el formato de la respuesta para cada código HTTP.

    Ejecución Exitosa

    http-status-code = 200 & 201

    				
    					{
              "tree_version": "7",
              "response_type": "COMMON",
              "data": {...}
    }
    				
    			

    Una descripción de los parámetros involucrados se entrega en la siguiente tabla.

    Parameter Type Description
    tree_version String Versión del árbol ejecutado
    response_type String Tipo de respuesta que entrega el árbol Valores posibles: COMMON, INTERACTIVE
    data Objeto JSON Estructura con la respuesta del árbol

    Contenido {data} para response_type "COMMON"

    Para e tipo de respuesta «COMMON» el objeto JSON DATA tiene una estructura como la que se muestra a continuación.

    				
    					{
            "description": "subscription payment succeded",
            "error_code": "0",
            "vars": {...}
      }
    				
    			

    Una descripción de los parámetros involucrados se entrega en la siguiente tabla.

    Parameter Type Description
    description String Descripción del código de error definido en el árbol
    error_code String Código de error definido en el árbol
    vars Objeto JSON Variables entregadas como respuesta por el árbol

    Ejemplo de estructura DATA para una respuesta exitosa para tipo COMMON:

    				
    					{
            "description": "subscription payment succeded",
            "error_code": "0",
            "vars": {
                        "subscription_id": "298597",
                        "user_id": "267568"
                     }
      }
    				
    			

    Ejecución fallida

    http-status-code = 400 & 401 & 404 & 500

    				
    					{
            "error": "tree_not_found"
    }
    				
    			

    Una descripción de los parámetros involucrados se entrega en la siguiente tabla.

    Parameter Type Description
    error String Texto que describe el error

    http-status-code = 409
    (Árbol no finaliza correctamente)

    				
    					{
            "error": "unfinished_tree"
    }
    				
    			

    Respuesta entregada cuando el árbol no finaliza correctamente, lo que puede deberse por varios motivos, dentro de los cuales están:

    • no está definido un enlace necesario para manejar un escenario
    • error a ejecutar alguna función interna
    • problemas de comunicación interna

    http-status-code = 429
    (tráfico máximo superado)

    				
    					<html>
    <head><title>429 Too Many Requests</title></head>
    <body>...</body>
    </html>
    				
    			

    Esta respuesta se genera por el sistema cuando el tráfico recibido por un tenant supera el límite definido en el plan.