POST
/
api
/
public
/
whatsapp
/
message
/
note
/
send
Send a note message
curl --request POST \
  --url https://api.vambe.me/api/public/whatsapp/message/note/send \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --data '{
  "meta_data": {},
  "to_phone": "<string>",
  "from_phone": "<string>",
  "note": "<string>"
}'
🚨 DEPRECATED ENDPOINT - DO NOT USE FOR NEW INTEGRATIONSThis endpoint is deprecated and will be removed in 12 months. Please migrate to the recommended alternatives below immediately.

Deprecation Notice

This endpoint is no longer recommended for use and will be phased out. Instead, please use one of the following modern alternatives: Create or update customers with intelligent AI-powered data processing:
POST /api/public/customer/upsert/info
View Documentation 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 Simply omit the message field in the request body to create a contact/ticket without sending a message.

Migration Example

Old (Deprecated):
// Don't use this anymore
await fetch('https://api.vambe.ai/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):
// Use the AI-powered upsert endpoint
await fetch('https://api.vambe.ai/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:
// Or use ticket creation if you need ticket tracking
await fetch(
  'https://api.vambe.ai/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 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
  2. Contact our support team for migration assistance
  3. Join our developer community for guidance
⚠️ ACTION REQUIREDUpdate your integrations to use the new endpoints before this endpoint is removed in 12 months. Failure to migrate will result in service disruption.

Headers

x-api-key
string
required

API key needed to authorize the request

Body

application/json

The payload to send with the template message

meta_data
object
required
to_phone
string
required
from_phone
string
required
note
string
required
contact_name
string
stage_id
string
agent_id
string

Response

Message sent successfully.