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

# Enviar Ubicación

> Envía ubicaciones y coordenadas GPS por WhatsApp

Comparte ubicaciones con coordenadas GPS, nombre del lugar y dirección. El usuario verá un mapa interactivo que puede abrir en su app de mapas preferida.

<Note>
  Las ubicaciones solo pueden enviarse dentro de la ventana de 24 horas. Fuera de la ventana, usa [templates](/api-reference/messages/send-templates).
</Note>

***

## Ejemplo Básico

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.whaapy.com/messages/v1 \
    -H "Authorization: Bearer wha_TU_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "to": "+5215512345678",
      "type": "location",
      "location": {
        "latitude": 19.4326,
        "longitude": -99.1332,
        "name": "Oficina Central Whaapy",
        "address": "Av. Paseo de la Reforma 123, Col. Centro, CDMX"
      }
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.whaapy.com/messages/v1', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer wha_TU_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      to: '+5215512345678',
      type: 'location',
      location: {
        latitude: 19.4326,
        longitude: -99.1332,
        name: 'Oficina Central Whaapy',
        address: 'Av. Paseo de la Reforma 123, Col. Centro, CDMX'
      }
    })
  });
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.whaapy.com/messages/v1',
      headers={
          'Authorization': 'Bearer wha_TU_API_KEY',
          'Content-Type': 'application/json'
      },
      json={
          'to': '+5215512345678',
          'type': 'location',
          'location': {
              'latitude': 19.4326,
              'longitude': -99.1332,
              'name': 'Oficina Central Whaapy',
              'address': 'Av. Paseo de la Reforma 123, Col. Centro, CDMX'
          }
      }
  )
  ```
</RequestExample>

***

## Solo Coordenadas

Si solo tienes las coordenadas, puedes omitir `name` y `address`:

<RequestExample>
  ```json Request theme={null}
  {
    "to": "+5215512345678",
    "type": "location",
    "location": {
      "latitude": 19.4326,
      "longitude": -99.1332
    }
  }
  ```
</RequestExample>

<Tip>
  Siempre incluye `name` y `address` para una mejor experiencia de usuario. Sin estos campos, el usuario solo verá un pin en el mapa.
</Tip>

***

## Campos

<ParamField body="location.latitude" type="number" required>
  Latitud de la ubicación. Valor entre -90 y 90.
</ParamField>

<ParamField body="location.longitude" type="number" required>
  Longitud de la ubicación. Valor entre -180 y 180.
</ParamField>

<ParamField body="location.name" type="string">
  Nombre del lugar (ej: "Oficina Central", "Restaurante La Parrilla"). Máximo 1000 caracteres.
</ParamField>

<ParamField body="location.address" type="string">
  Dirección completa. Máximo 1000 caracteres.
</ParamField>

***

## Respuesta Exitosa

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "messaging_product": "whatsapp",
    "contacts": [
      { "input": "+5215512345678", "wa_id": "5215512345678" }
    ],
    "messages": [
      { "id": "550e8400-e29b-41d4-a716-446655440000", "wamid": "wamid.HBgLNTIxNTUx..." }
    ],
    "data": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "conversationId": "660e8400-e29b-41d4-a716-446655440001",
      "messageType": "location",
      "direction": "outbound",
      "status": "sent",
      "createdAt": "2026-01-22T10:30:00Z"
    }
  }
  ```
</ResponseExample>

***

## Casos de Uso

<AccordionGroup>
  <Accordion title="Ubicación de tienda">
    ```json theme={null}
    {
      "to": "+5215512345678",
      "type": "location",
      "location": {
        "latitude": 19.4326,
        "longitude": -99.1332,
        "name": "Whaapy Store - Sucursal Centro",
        "address": "Av. Reforma 123, Piso 5, Col. Centro, CDMX, CP 06600"
      }
    }
    ```
  </Accordion>

  <Accordion title="Punto de entrega">
    ```json theme={null}
    {
      "to": "+5215512345678",
      "type": "location",
      "location": {
        "latitude": 19.4126,
        "longitude": -99.1632,
        "name": "Punto de Entrega - Pedido #12345",
        "address": "Tu pedido será entregado aquí"
      }
    }
    ```
  </Accordion>

  <Accordion title="Ubicación del repartidor">
    ```json theme={null}
    {
      "to": "+5215512345678",
      "type": "location",
      "location": {
        "latitude": 19.4226,
        "longitude": -99.1432,
        "name": "Tu repartidor está aquí",
        "address": "A 5 minutos de tu ubicación"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Obtener Coordenadas

Puedes obtener coordenadas de varias formas:

1. **Google Maps**: Click derecho en el mapa → "¿Qué hay aquí?" → Copia las coordenadas
2. **API de Geocoding**: Convierte direcciones a coordenadas con Google Maps API, Mapbox, etc.
3. **GPS del dispositivo**: Si tu app tiene acceso a la ubicación del usuario

### Ejemplo con Google Geocoding API

```javascript theme={null}
// Convertir dirección a coordenadas
async function getCoordinates(address) {
  const response = await fetch(
    `https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(address)}&key=TU_API_KEY`
  );
  const data = await response.json();
  
  if (data.results[0]) {
    const { lat, lng } = data.results[0].geometry.location;
    return { latitude: lat, longitude: lng };
  }
  throw new Error('Dirección no encontrada');
}
```

***

## Próximos Pasos

<CardGroup cols={2}>
  <Card title="Enviar Contactos" icon="address-book" href="/api-reference/messages/send-contacts">
    Comparte tarjetas vCard
  </Card>

  <Card title="Enviar Reacciones" icon="face-smile" href="/api-reference/messages/send-reactions">
    Reacciona a mensajes con emojis
  </Card>
</CardGroup>
