> ## 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.

# Enviar la encuesta NPS por correo o WhatsApp

> Despacha la encuesta NPS, a nivel de empresa, o específica de la herramienta mediante npsToolId, a una lista de destinatarios. Los envíos son asíncronos: la respuesta informa la aceptación por destinatario, incluidas las cuarentenas y los rechazos por crédito de WhatsApp.



## OpenAPI

````yaml /openapi-v1.es.json post /v1/nps/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/nps/invitations:
    post:
      tags:
        - v1 - invitations
      summary: Enviar la encuesta NPS por correo o WhatsApp
      description: >-
        Despacha la encuesta NPS, a nivel de empresa, o específica de la
        herramienta mediante npsToolId, a una lista de destinatarios. Los envíos
        son asíncronos: la respuesta informa la aceptación por destinatario,
        incluidas las cuarentenas y los rechazos por crédito de WhatsApp.
      operationId: V1InvitationsController_sendNpsInvitations
      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/V1CreateNpsInvitationsBodyDto'
      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 NPS no pertenece a la empresa que hace la llamada
      security:
        - bearer: []
components:
  schemas:
    V1CreateNpsInvitationsBodyDto:
      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
        npsToolId:
          type: string
          description: >-
            Tool de NPS para encuestar. Omítela para enviar la encuesta NPS a
            nivel de empresa.
          format: ObjectId
      required:
        - channel
        - recipients
    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.

````