POST /cabaprop/connect
Este serviço conecta uma conta Mapaprop com o Cabaprop. A partir da apiKey do cliente, autentica contra a API de integração do Cabaprop, armazena o token resultante para publicações futuras e notifica o cliente (Slack interno + e-mail) que sua conta foi conectada.
| Informações do recurso | |
|---|---|
| Autenticação | Obrigatória (token de serviço) |
| Método HTTP | POST |
| Resposta | JSON |
| Versão | 1 |
Resource URL
https://api-cabaprop.mapaprop.com/property-api/cabaprop/connect
Headers
| Header | Obrigatório | Descrição |
|---|---|---|
authorization | sim | Token estático de serviço do Cabaprop. Se não corresponder, a solicitação é rejeitada. |
Content-Type | sim | application/json |
Parameters (body request)
O corpo é um JSON com os seguintes campos:
| Key | Type | Required | Description |
|---|---|---|---|
custId | number | sim | Identificador do cliente no Mapaprop. |
apiKey | string | sim | API key do cliente no Cabaprop. Enviada como header x-api-key para a API do Cabaprop para autenticação. |
brand | string | sim | Marca/imobiliária associada à conexão. Faz parte do nome do app armazenado (cabaprop___{brand}). |
name | string | sim | Nome do cliente. Usado nas notificações de Slack e e-mail. |
email | string | sim | E-mail do cliente. Destino do e-mail de confirmação de conexão. |
Sample code
POST /property-api/cabaprop/connect
Host: api-cabaprop.mapaprop.com
Content-Type: application/json
authorization: {access_token}
{
"custId": 1,
"apiKey": "tu-api-key-de-cabaprop",
"brand": "Mapaprop",
"name": "Mapaprop INC",
"email": "info@mapaprop.com"
}
Response
Em caso de sucesso retorna um 200 com o corpo de resposta da API de autenticação do Cabaprop, que inclui o token da integração.
{
"token": "{access_token}"
}
Como efeito colateral de uma conexão bem-sucedida, o serviço:
- Armazena o token e os dados de conexão associados ao
custIde à marca. - Envia uma notificação interna ao Slack (canal de suporte).
- Envia um e-mail de confirmação para o
emailindicado.
Erros
| Status | Corpo | Causa |
|---|---|---|
| 500 | {"message":"Unauthorized"} | O header authorization não corresponde ao token de serviço do Cabaprop. |
| 500 | "Error Post cabaprop intration auth : {error}" | A autenticação contra a API de integração do Cabaprop falhou (por exemplo, apiKey inválida). |
| 500 | "Error DynamoDB put Item : {error}" | O token foi obtido, mas a conexão não pôde ser armazenada. |
| 500 | "Error to send notification to Slack/Email : {error}" | A conexão foi armazenada, mas o envio da notificação ao Slack ou do e-mail falhou. |