# API da EvoAPI
## Criar Instancia
### Requisição
```cURL
curl --request POST \
  --url {{baseUrl}}/instance/create \
  --header 'content-type: application/json' \
  --header 'apikey: {{globalApikey}}' \
  --data '{
    // instance
    "instanceName": "{{instance}}",
    // "token": "{{apikey}}", // (Optional)
    "number": "{{number}}", // precisamos para solicitar o "pairingCode"
    "qrcode": true, // Indispensavel para mostrar o "pairingCode" e o "qrcode"
    "integration": "WHATSAPP-BAILEYS" // WHATSAPP-BAILEYS | WHATSAPP-BUSINESS | EVOLUTION (Default WHATSAPP-BAILEYS) 
    // settings (Optional)
    // "rejectCall": false,
    // "msgCall": "",
    // "groupsIgnore": false,
    // "alwaysOnline": false,
    // "readMessages": false,
    // "readStatus": false,
    // "syncFullHistory": false,
    // // proxy (Optional)
    // "proxyHost": "",
    // "proxyPort": "",
    // "proxyProtocol": "",
    // "proxyUsername": "",
    // "proxyPassword": "",
    // webhook (Optional)
    // "webhook": {
    //     "url": "",
    //     "byEvents": false,
    //     "base64": true,
    //     "headers": {
    //         "autorization": "Bearer TOKEN",
    //         "Content-Type": "application/json"
    //     },
    //     "events": [
    //         "APPLICATION_STARTUP",
    //         "QRCODE_UPDATED",
    //         "MESSAGES_SET",
    //         "MESSAGES_UPSERT",
    //         "MESSAGES_UPDATE",
    //         "MESSAGES_DELETE",
    //         "SEND_MESSAGE",
    //         "CONTACTS_SET",
    //         "CONTACTS_UPSERT",
    //         "CONTACTS_UPDATE",
    //         "PRESENCE_UPDATE",
    //         "CHATS_SET",
    //         "CHATS_UPSERT",
    //         "CHATS_UPDATE",
    //         "CHATS_DELETE",
    //         "GROUPS_UPSERT",
    //         "GROUP_UPDATE",
    //         "GROUP_PARTICIPANTS_UPDATE",
    //         "CONNECTION_UPDATE",
    //         "LABELS_EDIT",
    //         "LABELS_ASSOCIATION",
    //         "CALL",
    //         "TYPEBOT_START",
    //         "TYPEBOT_CHANGE_STATUS"
    //     ]
    // },
    // // rabbitmq (Optional)
    // "rabbitmq": {
    //     "enabled": true,
    //     "events": [
    //         "APPLICATION_STARTUP",
    //         "QRCODE_UPDATED",
    //         "MESSAGES_SET",
    //         "MESSAGES_UPSERT",
    //         "MESSAGES_UPDATE",
    //         "MESSAGES_DELETE",
    //         "SEND_MESSAGE",
    //         "CONTACTS_SET",
    //         "CONTACTS_UPSERT",
    //         "CONTACTS_UPDATE",
    //         "PRESENCE_UPDATE",
    //         "CHATS_SET",
    //         "CHATS_UPSERT",
    //         "CHATS_UPDATE",
    //         "CHATS_DELETE",
    //         "GROUPS_UPSERT",
    //         "GROUP_UPDATE",
    //         "GROUP_PARTICIPANTS_UPDATE",
    //         "CONNECTION_UPDATE",
    //         "LABELS_EDIT",
    //         "LABELS_ASSOCIATION",
    //         "CALL",
    //         "TYPEBOT_START",
    //         "TYPEBOT_CHANGE_STATUS"
    //     ]
    // },
    // // sqs (Optional)
    // "sqs": {
    //     "enabled": true,
    //     "events": [
    //         "APPLICATION_STARTUP",
    //         "QRCODE_UPDATED",
    //         "MESSAGES_SET",
    //         "MESSAGES_UPSERT",
    //         "MESSAGES_UPDATE",
    //         "MESSAGES_DELETE",
    //         "SEND_MESSAGE",
    //         "CONTACTS_SET",
    //         "CONTACTS_UPSERT",
    //         "CONTACTS_UPDATE",
    //         "PRESENCE_UPDATE",
    //         "CHATS_SET",
    //         "CHATS_UPSERT",
    //         "CHATS_UPDATE",
    //         "CHATS_DELETE",
    //         "GROUPS_UPSERT",
    //         "GROUP_UPDATE",
    //         "GROUP_PARTICIPANTS_UPDATE",
    //         "CONNECTION_UPDATE",
    //         "LABELS_EDIT",
    //         "LABELS_ASSOCIATION",
    //         "CALL",
    //         "TYPEBOT_START",
    //         "TYPEBOT_CHANGE_STATUS"
    //     ]
    // },
    // // chatwoot (Optional)
    // "chatwootAccountId": "1",
    // "chatwootToken": "TOKEN",
    // "chatwootUrl": "https://chatoot.com",
    // "chatwootSignMsg": true,
    // "chatwootReopenConversation": true,
    // "chatwootConversationPending": false,
    // "chatwootImportContacts": true,
    // "chatwootNameInbox": "evolution",
    // "chatwootMergeBrazilContacts": true,
    // "chatwootImportMessages": true,
    // "chatwootDaysLimitImportMessages": 3,
    // "chatwootOrganization": "Evolution Bot",
    // "chatwootLogo": "https://evolution-api.com/files/evolution-api-favicon.png",
}'
```

### Resposta
```json
{
  "instance": {
    "instanceName": "Teste01",
    "instanceId": "da98f8ad-06e6-422d-87da-f809725c62ff",
    "integration": "WHATSAPP-BAILEYS",
    "webhookWaBusiness": null,
    "accessTokenWaBusiness": "",
    "status": "connecting"
  },
  "hash": "DEDB0F8B-0DF6-4B9F-B08A-514B9E3B60A0",
  "webhook": {},
  "websocket": {},
  "rabbitmq": {},
  "nats": {},
  "sqs": {},
  "settings": {
    "rejectCall": false,
    "msgCall": "",
    "groupsIgnore": false,
    "alwaysOnline": false,
    "readMessages": false,
    "readStatus": false,
    "syncFullHistory": false,
    "wavoipToken": ""
  },
  "qrcode": {
    "pairingCode": "HMSVWK1N", //Vamos usar para conectar sem precisar do qrcode.
    "code": "2@Jy4tGFSsmb4L8Aq0kBCqT7AUyS1AvnMM+6...",
    "base64": "data:image/png;base64,iVBORw0KGgoAAAAN...",
    "count": 1
  }
}
```

## Conectar Instancia
### Requisição
```cURL
curl --request GET \
  --url {baseUrl}}/instance/connect/{{instance}} \
  --header 'apikey: {{globalApikey}}'
```

### Resposta
```json
{
  "pairingCode": "18DKNYWS", //Vamos usar para conectar sem precisar do qrcode.
  "code": "2@3nfkoAocCTADeuFDOJjFoSgr25Jd+...",
  "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhE...",
  "count": 2
}
```

## Status da Conexão
### Requisição
```cURL
curl --request GET \
  --url {baseUrl}}/instance/connectionState/{{instance}} \
  --header 'apikey: {{globalApikey}}'
```

### Resposta
```json
{
  "instance": {
    "instanceName": "Teste01",
    "state": "open" // Open esta conectado.
  }
}
```

## Deletar Instancia
### Requisição
```cURL
curl --request DELETE \
  --url {baseUrl}}/instance/delete/{{instance}} \
  --header 'apikey: {{globalApikey}}'
```

### Resposta
```json
{
  "status": "SUCCESS",
  "error": false,
  "response": {
    "message": "Instance deleted"
  }
}
```

## Checar  se possui WhatsApp
### Requisição
```cURL
curl --request POST \
  --url {baseUrl}}/chat/whatsappNumbers/{{instance}} \
  --header 'Content-Type: application/json' \
  --header 'apikey: {{globalApikey}}' \
  --data '
{
  "numbers": [
    "<string>"
  ]
}
'
```
### Resposta
```json
[
  {
    "exists": true,
    "jid": "553198296801@s.whatsapp.net", //"{{remoteJid}}" Usado para enviar as mensagens
    "number": "553198296801"
  }
]
```

## Enviar Mensagem de Texto
### Requisição
```cURL
curl --request POST \
  --url {baseUrl}}/message/sendText/{{instance}} \
  --header 'content-type: application/json' \
  --header 'apikey: {{globalApikey}}' \
  --data '{
    "number": "{{remoteJid}}",
    "text": "teste de envio"
    // options
    // "delay": 1200,
    // "quoted": {
    //     // payload message or key.id only for get message in database
    //     "key": {
    //         "id": " MESSAGE_ID"
    //     },
    //     "message": {
    //         "conversation": "CONTENT_MESSAGE"
    //     }
    // },
    // "linkPreview": false,
    // "mentionsEveryOne": false,
    // "mentioned": [
    //     "{{remoteJid}}"
    // ]
}'
```

### Resposta
```json
{
  "key": {
    "remoteJid": "553198296801@s.whatsapp.net",
    "fromMe": true,
    "id": "BAE594145F4C59B4"
  },
  "message": {
    "extendedTextMessage": {
      "text": "Olá!"
    }
  },
  "messageTimestamp": "1717689097",
  "status": "PENDING"
}
```

## Enviar Mídia
### Requisição
```cURL
curl --request POST \
  --url {{baseUrl}}/message/sendMedia/{{instance}} \
  --header 'content-type: application/json' \
  --header 'apikey: {{globalApikey}}' \
  --data '{
    "number": "{{remoteJid}}",
    "mediatype": "image", // image, video or document
    "mimetype": "image/png",
    "caption": "Teste de caption",
    "media": "https://s3.amazonaws.com/atendai/company-3708fcdf-954b-48f8-91ff-25babaccac67/1712605171932.jpeg", /* url or base64 */
    "fileName": "Imagem.png"
    // options
    // "delay": 1200,
    // "quoted": {
    //     // payload message or key.id only for get message in database
    //     "key": {
    //         "id": " MESSAGE_ID"
    //     },
    //     "message": {
    //         "conversation": "CONTENT_MESSAGE"
    //     }
    // },
    // "mentionsEveryOne": false,
    // "mentioned": [
    //     "{{remoteJid}}"
    // ]
}'
```

### Resposta
```json
{
  "key": {
    "remoteJid": "553198296801@s.whatsapp.net",
    "fromMe": true,
    "id": "BAE5F5A632EAE722"
  },
  "message": {
    "imageMessage": {
      "url": "https://mmg.whatsapp.net/o1/v/t62.7118-2...",
      "mimetype": "image/png",
      "caption": "Caption text",
      "fileSha256": "VbCGkGBv5SZStLD5PHdkBWpQav/lNsXcY...",
      "fileLength": "1305757",
      "height": 1080,
      "width": 1920,
      "mediaKey": "aFQK9Ocw5tE7Nf0iBA42Xcb4Dee6G1k/pLL...",
      "fileEncSha256": "bGVtYeR3458RwC0p1tsGDNuj+vOu/...",
      "directPath": "/o1/v/t62.7118-24/f1/m232/up-oil...",
      "mediaKeyTimestamp": "1717775573",
      "jpegThumbnail": "/9j/2wBDABALDA4MChAODQ4SERATG...",
      "contextInfo": {}
    }
  },
  "messageTimestamp": "1717775575",
  "status": "PENDING"
}
```

## Enviar Áudio
### Requisição
```cURL
curl --request POST \
  --url {{baseUrl}}/message/sendWhatsAppAudio/{{instance}} \
  --header 'content-type: application/json' \
  --header 'apikey: {{globalApikey}}' \
  --data '{
    "number": "{{remoteJid}}",
    "audio": "https://evolution-api.com/files/narratedaudio.mp3" /* url or base64 */
    // options
    // "delay": 1200,
    // "quoted": {
    //     // payload message or key.id only for get message in database
    //     "key": {
    //         "id": " MESSAGE_ID"
    //     },
    //     "message": {
    //         "conversation": "CONTENT_MESSAGE"
    //     }
    // },
    // "mentionsEveryOne": false,
    // "mentioned": [
    //     "{{remoteJid}}"
    // ],
    // "encoding": true
}'
```

### Resposta
```json
{
  "key": {
    "remoteJid": "553198296801@s.whatsapp.net",
    "fromMe": true,
    "id": "BAE5EFED2AB0BB9F"
  },
  "message": {
    "audioMessage": {
      "url": "https://mmg.whatsapp.net/v/t62.7114-24/21428511_985284763127087_5662928...",
      "mimetype": "audio/mp4",
      "fileSha256": "DJPBnRns6QADzZNH2j0R88mUtFQ4aiOm9aZf6dio2G0=",
      "fileLength": "670662",
      "seconds": 42,
      "ptt": true,
      "mediaKey": "+A3X1Tuyzeh87cCVZpfuKpL3Y4RYdYr3sCDurjSlBTY=",
      "fileEncSha256": "s4tKvHOXIZAw5668/Xcy4zoFba4vW8klmNYC78yOPZs=",
      "directPath": "/v/t62.7114-24/21428511_985284763127087_5662928477636351284_n.enc...",
      "mediaKeyTimestamp": "1717776942"
    }
  },
  "messageTimestamp": "1717776942",
  "status": "PENDING"
}
```