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

# Send WhatsApp Note Message (Deprecated)

> [DEPRECATED] Send an internal note via WhatsApp to a specific contact. Use POST /api/public/ticket/open/web-whatsapp/{phoneId} instead.

<Danger>
  **🚨 DEPRECATED ENDPOINT - DO NOT USE FOR NEW INTEGRATIONS**

  This endpoint is deprecated and will be removed in **12 months**. Please migrate to the recommended alternatives below immediately.
</Danger>

## Deprecation Notice

This endpoint is no longer recommended for use and will be phased out. Instead, please use one of the following modern alternatives:

### Recommended Alternatives

#### 1. **✨ Best Option: Upsert Customer with AI Processing** (Recommended)

Create or update customers with intelligent AI-powered data processing:

```
POST /api/public/customer/upsert/info
```

[View Documentation](/reference/customer/upsert-customer-info)

**Why use this**: Automatically structures unstructured data, handles upserts, and processes metadata with AI.

#### 2. **For WhatsApp API** - Create Ticket Without Message

Use the ticket creation endpoint which provides better tracking and metadata support:

```
POST /api/public/ticket/open/whatsapp/{phoneId}
```

**Note**: Documentation for this endpoint coming soon. Use the web-whatsapp version below or the upsert customer endpoint above.

#### 3. **For WhatsApp Web (QR)** - Create Ticket Without Message

For WhatsApp Web connections:

```
POST /api/public/ticket/open/web-whatsapp/{phoneId}
```

[View Documentation](/reference/ticket/open-ticket-web-whatsapp)

Simply omit the `message` field in the request body to create a contact/ticket without sending a message.

### Migration Example

**Old (Deprecated)**:

```javascript theme={null}
// Don't use this anymore
await fetch('https://api.vambe.me/api/public/whatsapp/message/note/send', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'your_api_key_here',
  },
  body: JSON.stringify({
    to_phone: '+56912345678',
    from_phone: 'your_phone_id',
    note: 'Internal note about this contact',
    contact_name: 'John Doe',
    meta_data: { source: 'website' },
    stage_id: 'stage-uuid',
  }),
});
```

**New (Recommended - Best Option)**:

```javascript theme={null}
// Use the AI-powered upsert endpoint
await fetch('https://api.vambe.me/api/public/customer/upsert/info', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'your_api_key_here',
  },
  body: JSON.stringify({
    channel_phone_number: 'your_phone_id',
    channel: 'whatsapp',
    contact_phone_number: '+56912345678',
    contact_name: 'John Doe',
    contact_email: 'john@example.com',
    stageId: 'stage-uuid',
    meta_data: {
      source: 'website',
      internal_note: 'Internal note about this contact',
      // AI automatically processes and structures any data you add here
    },
  }),
});
```

**Alternative - Create Ticket**:

```javascript theme={null}
// Or use ticket creation if you need ticket tracking
await fetch(
  'https://api.vambe.me/api/public/ticket/open/web-whatsapp/your_phone_id',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': 'your_api_key_here',
    },
    body: JSON.stringify({
      to_phone_number: '+56912345678',
      stage_id: 'stage-uuid',
      contact_name: 'John Doe',
      contact_metadata: {
        source: 'website',
      },
      ticket_metadata: {
        internal_note: 'Internal note about this contact',
      },
      // No message field = no message sent to end user
    }),
  },
);
```

### Why Migrate?

The new endpoints provide significant improvements:

#### Upsert Customer Endpoint Benefits:

* ✅ **AI-Powered Processing**: Automatically structures unstructured data
* ✅ **Smart Upsert**: Creates or updates based on phone number
* ✅ **Flexible Data**: Send any metadata structure, AI figures it out
* ✅ **All-in-One**: Contact creation + metadata + stage + agent assignment
* ✅ **No Message Sent**: Creates contact without bothering the user

#### Ticket Creation Endpoint Benefits:

* ✅ **Better Structure**: Clear separation between contact and ticket metadata
* ✅ **Enhanced Features**: Support for integration data, custom fields
* ✅ **Improved Tracking**: Built-in ticket management and history
* ✅ **Consistent API**: Follows modern API design patterns

#### General Benefits:

* ✅ **Active Support**: Actively maintained with new features
* ✅ **Better Documentation**: Comprehensive guides and examples
* ✅ **Future-Proof**: Won't be deprecated

## Additional Resources

For updating contact information and metadata after creation, use:

**Update Contact Metadata**:

```
POST /api/public/contact/{aiContactId}/update-metadata
```

[View Documentation](/reference/contact/update-contact-metadata)

This endpoint allows you to add or update any custom fields for a contact using AI-powered data processing.

## Migration Timeline

* **Now**: Endpoint marked as deprecated
* **6 months**: Warning messages added to API responses
* **12 months**: Endpoint will be removed

Please migrate to the new ticket creation endpoints as soon as possible to avoid service disruption.

## Support

If you need help migrating your integration, please:

1. Review the new [ticket creation documentation](/reference/ticket/open-ticket-web-whatsapp)
2. Contact our support team for migration assistance
3. Join our developer community for guidance

<Danger>
  **⚠️ ACTION REQUIRED**

  Update your integrations to use the new endpoints **before this endpoint is removed** in 12 months. Failure to migrate will result in service disruption.
</Danger>


## OpenAPI

````yaml post /api/public/whatsapp/message/note/send
openapi: 3.0.0
info:
  title: Vambe AI API
  description: Vambe AI documentation
  version: '1.0'
  contact: {}
servers:
  - url: https://api.vambe.me
    description: Production Server
security: []
tags:
  - name: Vambe AI
    description: ''
paths:
  /api/public/whatsapp/message/note/send:
    post:
      tags:
        - WhatsApp Message
      summary: Send a note message
      description: Send a note message to a given phone number.
      operationId: PublicWhatsAppMessageController_sendWhatsAppNote
      parameters:
        - name: x-api-key
          in: header
          description: API key needed to authorize the request
          required: true
          schema:
            type: string
      requestBody:
        required: true
        description: The payload to send with the template message
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendNoteDto'
      responses:
        '201':
          description: Message sent successfully.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
components:
  schemas:
    SendNoteDto:
      type: object
      properties:
        contact_name:
          type: string
        meta_data:
          type: object
          additionalProperties: true
        stage_id:
          type: string
        to_phone:
          type: string
        from_phone:
          type: string
        note:
          type: string
        agent_id:
          type: string
      required:
        - meta_data
        - to_phone
        - from_phone
        - note

````