Ejemplo de función de Google Cloud con una acción de datos

Nota: Este artículo se aplica a la integración de acciones de datos de Google cuando se utiliza con Google Cloud Functions.

El siguiente contenido incluye una función de Google Cloud de ejemplo y una acción de datos que ejecuta la función. Puede agregar la función a su proyecto de Google Cloud Platform e importar la acción de datos a su organización de Genesys Cloud para usarla con una integración de acciones de datos de Google.

Para más información, ver Configuración para Google Cloud Functions

Ejemplo de función de Google Cloud

El siguiente código es una función de Google Cloud escrita en JavaScript. Copia este código para crear una función en tu proyecto de Google Cloud Platform. Asegúrese de que ha configurado Google Cloud Platform para procesar funciones y de que la respuesta de retorno de las funciones es de application/json para Content-Type. Para obtener más información, consulte Configure Google Cloud Platform.

/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.testAction = (req, res) => {
    if (req.body.inputNumber1 <=0 || req.body.inputNumber2 <= 0) {
        res.status(400).send( { error: 'Inputs must be greater than zero' } );
    } else {
        let response = createResponse(req);
        res.status(200).send(response);
    }
};
 
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
*/
function createResponse(req) {
   
    var response = {};
    response.sumOfNumber1AndNumber2 = req.body.inputNumber1 + req.body.inputNumber2;
    return response;
}

Acción de datos de ejemplo

El siguiente JSON es para una acción de datos que ejecuta la función de ejemplo. Puede descargar una versión comprimida de JSON para importar en una acción de datos: Acción de datos Test-Cloud-Function (.Código Postal). Para más información, ver Crea una acción personalizada para integraciones y Importar o exportar una acción de datos para integraciones.

El requestUrlTemplate es la URL del activador que incluye la ubicación de la función (us-central1), el nombre del proyecto (businesscallingapi) y el nombre de la función (function-test-action), y tiene el formato https://{location-of-function}-{project-owning-function}/{function-name}. Para más información, ver Agregar configuración a acciones personalizadas para integraciones.

{
  "name": "Test-Cloud-Function-Math-Example - Exported 2020-07-28 @ 11:06",
  "integrationType": "google-cloud-data-actions",
  "actionType": "custom",
  "config": {
    "request": {
      "requestUrlTemplate": "https://us-central1-businesscallingapi.cloudfunctions.net/function-test-action-math-example",
      "requestType": "POST",
      "headers": {}
    },
    "response": {
      "translationMap": {},
      "translationMapDefaults": {},
      "successTemplate": "${rawResult}"
    }
  },
  "contract": {
    "input": {
      "inputSchema": {
        "title": "sum-input",
        "type": "object",
        "properties": {
          "inputNumber1": {
            "type": "number"
          },
          "inputNumber2": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "output": {
      "successSchema": {
        "title": "sum-response",
        "type": "object",
        "properties": {
          "sumOfNumber1AndNumber2": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "secure": false
}

Pruebe la acción de datos para asegurarse de que la acción de datos se ejecute sin errores. Para más información, ver Probar acciones de datos para integraciones.

Para obtener más información, consulte Acerca de la integración de las acciones de datos de Google.