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

# Inscrever (Outros)

> Permite inscrever outras pessoas nas newsletters

## Descrição

Permite que um usuário inscreva outras pessoas nas newsletters. Útil para campanhas de indicação ou quando alguém deseja inscrever amigos e familiares.

## Request Body

<ParamField body="referrer_email" type="string" required>
  Email da pessoa que está fazendo a indicação
</ParamField>

<ParamField body="subscriptions" type="array" required>
  Lista de pessoas para inscrever

  <Expandable title="subscription object">
    <ParamField body="email" type="string" required>
      Email da pessoa a ser inscrita
    </ParamField>

    <ParamField body="name" type="string">
      Nome da pessoa a ser inscrita
    </ParamField>

    <ParamField body="newsletter" type="string" required>
      ID da newsletter para inscrição
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="send_notification" type="boolean">
  Se deve enviar email de notificação para os inscritos (padrão: true)
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indica se a operação foi bem-sucedida
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="total_subscriptions" type="number">
      Total de inscrições processadas
    </ResponseField>

    <ResponseField name="successful" type="number">
      Número de inscrições bem-sucedidas
    </ResponseField>

    <ResponseField name="failed" type="number">
      Número de inscrições que falharam
    </ResponseField>

    <ResponseField name="results" type="array">
      Detalhes de cada inscrição processada

      <Expandable title="result object">
        <ResponseField name="email" type="string">
          Email processado
        </ResponseField>

        <ResponseField name="success" type="boolean">
          Se a inscrição foi bem-sucedida
        </ResponseField>

        <ResponseField name="subscription_id" type="string">
          ID da inscrição (se bem-sucedida)
        </ResponseField>

        <ResponseField name="error" type="string">
          Mensagem de erro (se falhou)
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl --request POST \
    --url https://backend.testeswaffle.org/subscribe/others \
    --header 'Content-Type: application/json' \
    --data '{
      "referrer_email": "indicador@exemplo.com",
      "subscriptions": [
        {
          "email": "amigo1@exemplo.com",
          "name": "Maria Santos",
          "newsletter": "thenews"
        },
        {
          "email": "amigo2@exemplo.com",
          "name": "Pedro Costa",
          "newsletter": "thebizness"
        }
      ],
      "send_notification": true
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": {
      "total_subscriptions": 2,
      "successful": 2,
      "failed": 0,
      "results": [
        {
          "email": "amigo1@exemplo.com",
          "success": true,
          "subscription_id": "sub_abc123"
        },
        {
          "email": "amigo2@exemplo.com",
          "success": true,
          "subscription_id": "sub_def456"
        }
      ]
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml POST /subscribe/others
openapi: 3.0.0
info:
  title: Subscription API
  description: API para gerenciamento de inscrições e métricas de assinantes
  version: 1.0.0
servers:
  - url: https://backend.testeswaffle.org
    description: Production server
security: []
paths:
  /subscribe/others:
    post:
      tags:
        - Public
      summary: Inscrever (Outros)
      description: Permite inscrever outras pessoas nas newsletters
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - referrer_email
                - subscriptions
              properties:
                referrer_email:
                  type: string
                  format: email
                  description: Email de quem está indicando
                subscriptions:
                  type: array
                  items:
                    type: object
                    required:
                      - email
                      - newsletter
                    properties:
                      email:
                        type: string
                        format: email
                      name:
                        type: string
                      newsletter:
                        type: string
                send_notification:
                  type: boolean
                  default: true
                  description: Enviar notificação aos inscritos
      responses:
        '200':
          description: Inscrições processadas
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkSubscriptionResponse'
components:
  schemas:
    BulkSubscriptionResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            total_subscriptions:
              type: integer
            successful:
              type: integer
            failed:
              type: integer
            results:
              type: array
              items:
                type: object

````