1. Cliente
Homfy Public API
  • Bem vindo
  • Autenticação
    • Emitir token
      POST
    • Renovar token
      POST
  • Empreendimento
    • Cadastrar empreendimento
      POST
    • Atualizar empreendimento
      PUT
    • Cadastrar empreendimentos em lote
      POST
    • Consultar empreendimento
      POST
    • Vincular imóveis ao empreendimento
      POST
  • Imóvel
    • Cadastrar imóvel
      POST
    • Atualizar imóvel
      PUT
    • Cadastrar imóveis em lote
      POST
    • Consultar detalhes do imóvel
      POST
    • Enviar fotos — passo 1: obter URLs
      POST
    • Enviar fotos — passo 2: concluir
      POST
    • Andamento do processamento das fotos
      POST
    • Enviar documento — passo 1: obter URL
      POST
    • Enviar documento — passo 2: concluir
      POST
    • Buscar imóveis
      POST
  • Proprietário
    • Cadastrar proprietário
      POST
    • Atualizar proprietário
      PUT
    • Cadastrar proprietários em lote
      POST
    • Consultar detalhes do proprietário
      POST
    • Buscar proprietários
      POST
    • Vincular proprietário a imóvel
      POST
  • Cliente
    • Cadastrar cliente
      POST
    • Atualizar cliente
      PUT
    • Cadastrar clientes em lote
      POST
    • Consultar detalhes do cliente
      POST
    • Buscar clientes
      POST
    • Atribuir cliente a corretor
      POST
  • Corretor
    • Consultar corretores
  • Schemas
    • ApiPartnerAuthTokenDTO
    • ApiPartnerAuthTokenResponseDTO
    • ApiPartnerErrorResponseDTO
    • ApiPartnerAuthRefreshTokenDTO
    • ApiPartnerAddressDTO
    • ApiPartnerPropertyDetailDTO
    • ApiPartnerPropertyPriceDTO
    • ApiPartnerPropertyListingDTO
    • ApiPartnerPropertyRegisterDTO
    • ApiPartnerPropertyCreatedDTO
    • ApiPartnerPropertySkippedDTO
    • ApiPartnerPropertyErrorItemDTO
    • ApiPartnerPropertyRegisterResponseDTO
    • ApiPartnerPropertyItemDTO
    • ApiPartnerPropertyBatchRegisterDTO
    • ApiPartnerPropertyUpdateDTO
    • ApiPartnerPropertyUpdateResponseDTO
    • ApiPartnerPropertyFindDTO
    • ApiPartnerListingPriceDTO
    • ApiPartnerListingImageDTO
    • ApiPartnerListingVideoDTO
    • ApiPartnerListingResponseDTO
    • ApiPartnerPropertyDetailResponseDTO
    • ApiPartnerPhotoFileDTO
    • ApiPartnerPhotosInitDTO
    • ApiPartnerPresignedPartDTO
    • ApiPartnerPhotoUploadTargetDTO
    • ApiPartnerPhotosInitResponseDTO
    • ApiPartnerUploadPartDTO
    • ApiPartnerPhotoUploadDTO
    • ApiPartnerPhotosCompleteDTO
    • ApiPartnerPhotoCompleteItemDTO
    • ApiPartnerPhotosCompleteResponseDTO
    • ApiPartnerPhotosStatusDTO
    • ApiPartnerPhotoVariantDTO
    • ApiPartnerPhotoStatusItemDTO
    • ApiPartnerPhotosStatusResponseDTO
    • ApiPartnerDocumentInitDTO
    • ApiPartnerDocumentInitResponseDTO
    • ApiPartnerDocumentCompleteDTO
    • ApiPartnerDocumentCompleteResponseDTO
    • ApiPartnerPropertyFiltroDTO
    • ApiPartnerPropertySearchFiltersDTO
    • ApiPartnerSearchSortDTO
    • ApiPartnerPropertySearchDTO
    • ApiPartnerPropertySummaryDTO
    • ApiPartnerPropertySearchResponseDTO
    • ApiPartnerOwnerSpouseDTO
    • ApiPartnerOwnerRegisterDTO
    • ApiPartnerOwnerCreatedDTO
    • ApiPartnerOwnerSkippedDTO
    • ApiPartnerOwnerErrorItemDTO
    • ApiPartnerOwnerRegisterResponseDTO
    • ApiPartnerOwnerItemDTO
    • ApiPartnerOwnerBatchRegisterDTO
    • ApiPartnerOwnerUpdateDTO
    • ApiPartnerOwnerUpdateResponseDTO
    • ApiPartnerOwnerFindDTO
    • ApiPartnerOwnerSpouseResponseDTO
    • ApiPartnerOwnerDetailResponseDTO
    • ApiPartnerOwnerSearchSortDTO
    • ApiPartnerOwnerSearchFiltersDTO
    • ApiPartnerOwnerSearchDTO
    • ApiPartnerOwnerSummaryDTO
    • ApiPartnerOwnerSearchResponseDTO
    • ApiPartnerOwnerLinkPropertyDTO
    • ApiPartnerOwnerLinkResponseDTO
    • ApiPartnerLeadRegisterDTO
    • ApiPartnerLeadCreatedDTO
    • ApiPartnerLeadSkippedDTO
    • ApiPartnerLeadErrorItemDTO
    • ApiPartnerLeadRegisterResponseDTO
    • ApiPartnerLeadItemDTO
    • ApiPartnerLeadBatchRegisterDTO
    • ApiPartnerLeadUpdateDTO
    • ApiPartnerLeadUpdateResponseDTO
    • ApiPartnerLeadFindDTO
    • ApiPartnerLeadDetailResponseDTO
    • ApiPartnerLeadSearchSortDTO
    • ApiPartnerLeadSearchFiltersDTO
    • ApiPartnerLeadSearchDTO
    • ApiPartnerLeadSummaryDTO
    • ApiPartnerLeadSearchResponseDTO
    • ApiPartnerLeadAssignAgentDTO
    • ApiPartnerLeadAssignAgentResponseDTO
    • ApiPartnerAgentSearchFiltersDTO
    • ApiPartnerAgentSearchDTO
    • ApiPartnerAgentSummaryDTO
    • ApiPartnerAgentSearchResponseDTO
    • ApiPartnerRealtyClusterRegisterDTO
    • ApiPartnerRealtyClusterCreatedDTO
    • ApiPartnerRealtyClusterSkippedDTO
    • ApiPartnerRealtyClusterErrorItemDTO
    • ApiPartnerRealtyClusterRegisterResponseDTO
    • ApiPartnerRealtyClusterItemDTO
    • ApiPartnerRealtyClusterBatchRegisterDTO
    • ApiPartnerRealtyClusterUpdateDTO
    • ApiPartnerRealtyClusterAddressResponseDTO
    • ApiPartnerRealtyClusterDetailResponseDTO
    • ApiPartnerRealtyClusterFindDTO
    • ApiPartnerRealtyClusterLinkPropertiesDTO
    • ApiPartnerRealtyClusterLinkedDTO
    • ApiPartnerRealtyClusterLinkErrorDTO
    • ApiPartnerRealtyClusterLinkResponseDTO
  1. Cliente

Cadastrar cliente

POST
/partner/v1/lead
Cadastra um cliente. Reexecutável: reenviar o mesmo partner_code devolve o cliente já existente em skipped, sem criar outro — e sem atualizar nada. Para alterar quem já existe, use PUT /partner/v1/lead.
Só partner_code, name e whatsapp são obrigatórios.
O WhatsApp é a identidade da pessoa na Homfy e é único por imobiliária. Diferente das outras entidades, aqui o número pode já estar em uso por um cliente que NÃO veio da sua integração — entrou por campanha, pelo corretor ou por importação. Nesse caso o item volta em errors com PARTNER_LEAD_WHATSAPP_ALREADY_EXISTS e, quando o cliente existente for seu, com o conflict_partner_code dele.
Serialize as chamadas por pessoa: dois cadastros SIMULTÂNEOS com o mesmo WhatsApp e partner_code diferentes não são garantidos como um só. Já o mesmo partner_code em paralelo é seguro — o segundo volta em skipped.
O cliente entra com a origem Parceiro, o que o mantém FORA da fila de atendimento da imobiliária — uma carga de integração não vira 200 avisos para os corretores. Para dizer quem responde pelo cliente, use POST /partner/v1/lead/assign-agent.
A resposta 201 pode conter falha: confira errors antes de dar o cadastro por concluído.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Body Params application/jsonRequired

Example
{
    "segment": "Investidor",
    "message_consent": "GRANTED",
    "document_type": "cpf",
    "birth_date": "1985-03-14",
    "partner_code": "CLI-8842",
    "name": "Ana Pereira",
    "whatsapp": "(48) 99999-1234",
    "email": "ana@exemplo.com",
    "phone": "(48) 3333-2222",
    "address_state": "SC",
    "address_city": "Florianópolis",
    "notes": "Procura 2 dormitórios até R$ 500 mil.",
    "document": "123.456.789-00",
    "rg": "12.345.678-9",
    "profession": "Médica",
    "marital_status": "Solteiro"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/partner/v1/lead' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "segment": "Investidor",
    "message_consent": "GRANTED",
    "document_type": "cpf",
    "birth_date": "1985-03-14",
    "partner_code": "CLI-8842",
    "name": "Ana Pereira",
    "whatsapp": "(48) 99999-1234",
    "email": "ana@exemplo.com",
    "phone": "(48) 3333-2222",
    "address_state": "SC",
    "address_city": "Florianópolis",
    "notes": "Procura 2 dormitórios até R$ 500 mil.",
    "document": "123.456.789-00",
    "rg": "12.345.678-9",
    "profession": "Médica",
    "marital_status": "Solteiro"
}'

Responses

🟢201
application/json
Cliente criado, ou já existente em skipped.
Bodyapplication/json

Example
{
    "created": [
        {
            "partner_code": "AP-1024",
            "lead_id": 900
        }
    ],
    "skipped": [
        {
            "partner_code": "AP-1024",
            "lead_id": 900
        }
    ],
    "errors": [
        {
            "partner_code": "AP-1024",
            "errorCode": "PARTNER_PROPERTY_NOT_FOUND",
            "errorMessage": "string",
            "conflict_partner_code": "string"
        }
    ]
}
🟠400
🟠401
🟠403
🟠429
🔴500
Modified at 2026-08-20 16:06:11
Previous
Vincular proprietário a imóvel
Next
Atualizar cliente
Built with