# Calcular a distância entre duas coordenadas

> Calcula a distância entre dois pontos de latitude e longitude, em metros e em milhas.

Endereço: https://docs.nextags.com.br/referencia/ferramentas/calcular-a-distancia-entre-duas-coordenadas/
Tipo: Endpoint

```http
POST https://app.nextagsai.com.br/api/tools/location_distance
X-ACCESS-TOKEN: <sua chave de API>
```

Calcula a distância entre dois pontos de latitude e longitude, em metros e em milhas. Use para saber se o contato está na área de entrega ou para calcular o frete a partir da localização que ele mandou ([Pedir e enviar localização](https://help.nextags.com.br/tutoriais/fluxos/localizacao/)). Com uma chave da API do Google Maps em `googleMapsApiKey`, o cálculo é feito pelo Google Maps.

Autenticação: Mande a chave de API da conta no cabeçalho `X-ACCESS-TOKEN` de cada chamada. Veja [Autenticação com a chave de API](https://docs.nextags.com.br/comecar/autenticacao/).

## Corpo da requisição (formulário, application/x-www-form-urlencoded)

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `source_latitude` | number | sim | A latitude do ponto de partida, com ponto decimal (`-23.5614`). |
| `source_longitude` | number | sim | A longitude do ponto de partida (`-46.6559`). |
| `destination_latitude` | number | sim | A latitude do destino. |
| `destination_longitude` | number | sim | A longitude do destino. |
| `googleMapsApiKey` | string | não | Opcional: uma chave da API do Google Maps. Com ela, a distância é calculada pelo Google Maps. |

```json
{
  "source_latitude": -23.5614,
  "source_longitude": -46.6559,
  "destination_latitude": -23.5505,
  "destination_longitude": -46.6333
}
```

## Exemplo

```bash
curl -X POST "https://app.nextagsai.com.br/api/tools/location_distance" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
  --data-urlencode 'source_latitude=-23.5614' \
  --data-urlencode 'source_longitude=-46.6559' \
  --data-urlencode 'destination_latitude=-23.5505' \
  --data-urlencode 'destination_longitude=-46.6333'
```

Os exemplos em JavaScript, Python e PHP estão na página e no contrato (`x-codeSamples` em https://docs.nextags.com.br/openapi.json).

## Respostas

### 200 Sucesso

A distância, em metros e em milhas.

| Campo | Tipo | Descrição |
|---|---|---|
| `meters` | number | A distância em metros. |
| `miles` | number | A distância em milhas. |

```json
{
  "meters": 2603,
  "miles": 1.617424
}
```

### 401 Chave inválida

A chave de API não veio no cabeçalho ou não vale (foi excluída ou está incompleta). Veja [Autenticação](https://docs.nextags.com.br/comecar/autenticacao/).

```json
{
  "error": {
    "code": 401,
    "message": "No valid API key provided."
  }
}
```
