> ## Documentation Index
> Fetch the complete documentation index at: https://woku.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Envia la encuesta CSAT por correo o WhatsApp



## OpenAPI

````yaml /openapi-v1.es.json post /v1/csat/invitations
openapi: 3.0.0
info:
  title: Woku Client API v1
  description: >-
    API REST pública para la administración programática de programas
    Voice-of-Customer de woku: trackers, instrumentos VoC (NPS, woku, CES,
    CSAT), planes de acción, tickets de soporte, envío multicanal y captura de
    respuestas. Las solicitudes están delimitadas por empresa mediante la clave
    API. Nunca envíe un id de empresa.
  version: 1.0.0
  contact:
    name: Woku
    url: https://woku.app
    email: team@woku.app
servers:
  - url: https://clientapi.woku.app
    description: Producción
security: []
tags: []
paths:
  /v1/csat/invitations:
    post:
      tags:
        - v1 - invitations
      summary: Envia la encuesta CSAT por correo o WhatsApp
      operationId: V1InvitationsController_sendCsatInvitations
      parameters:
        - name: X-Woku-Idempotency-Key
          in: header
          description: >-
            Clave generada por el cliente para hacer que un envío sea seguro
            para reintentar. Un reintento con la misma clave devuelve el
            resultado original en lugar de despachar de nuevo.
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V1CreateCsatInvitationsBodyDto'
      responses:
        '202':
          description: Resumen de despacho por destinatario
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1InvitationsResultDto'
        '400':
          description: Error de validación
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDto'
        '403':
          description: La herramienta no pertenece al llamante
      security:
        - bearer: []
components:
  schemas:
    V1CreateCsatInvitationsBodyDto:
      type: object
      properties:
        channel:
          type: string
          description: Canal de entrega para las invitaciones
          enum:
            - email
            - whatsapp
          example: whatsapp
        recipients:
          description: >-
            Destinatarios: direcciones de correo electrónico para el canal
            email, números de teléfono (dígitos, código de país incluido, p. ej.
            56912345678) para whatsapp
          example:
            - '56912345678'
          maxItems: 100
          type: array
          items:
            type: string
        language:
          type: string
          description: Idioma de la plantilla de invitación
          enum:
            - es
            - en
          example: es
        csatToolId:
          type: string
          description: >-
            Herramienta CSAT para encuestar, siempre requerida: siempre
            personalizada.
          format: ObjectId
      required:
        - channel
        - recipients
        - csatToolId
    V1InvitationsResultDto:
      type: object
      properties:
        channel:
          type: string
          enum:
            - email
            - whatsapp
        accepted:
          description: Destinatarios cuya invitación fue despachada (o puesta en cola)
          type: array
          items:
            type: string
        rejected:
          description: Destinatarios cuya invitación no fue despachada, con motivo
          type: array
          items:
            $ref: '#/components/schemas/V1RejectedInvitationDto'
      required:
        - channel
        - accepted
        - rejected
    ValidationErrorResponseDto:
      type: object
      properties:
        statusCode:
          type: number
          description: Código de estado HTTP
          example: 400
        message:
          description: Arreglo de mensajes de error de validación
          example:
            - email must be a valid email
            - password must be at least 8 characters
          type: array
          items:
            type: string
        error:
          type: string
          description: Tipo de error
          example: Bad Request
      required:
        - statusCode
        - message
        - error
    V1RejectedInvitationDto:
      type: object
      properties:
        recipient:
          type: string
          description: Destinatario tal como se recibió en la solicitud
        reason:
          type: string
          description: Por qué no se envió la invitación
          enum:
            - invalid_recipient
            - quarantined
            - insufficient_credits_or_blocked
            - send_failed
      required:
        - recipient
        - reason
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: Clave API secreta de la empresa.

````