Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Este artigo descreve os passos necessários para um sistema externo enviar um registro de indicação para o SnapProperty.

Table of Contents

Requisitos para integração

Para realizar a integração de um sistema externo, verifique se todas as condições abaixo foram atendidas.

  1. Criar uma "Aplicação conectada" para o sistema externo que pretende ser integrado.
  2. Criar um usuário para autenticar o sistema externo.

Regras de negócio

Indicação de cliente

...

CampoTipoObrigatórioObservação
NomeStringSimPrimeiro nome do indicador. Ex.: João
SobrenomeStringSimSobrenome do indicador. Ex.: Souza
EmailStringSimEndereço de email do indicador. Ex.: joao.souza@gmail.com. O sistema valida o endereço de email.
CelularStringSimTelefone celular do indicador. Ex.: +55(11) 99422-3020
CPFStringSimCPF do indicador. Ex.: 150.117.518-17

Indicado

CampoTipoObrigatórioObservação
NomeStringSimPrimeiro nome do indicado. Ex.: Maria
SobrenomeStringSimSobrenome do indicado. Ex.: Menezes
EmailStringSimEndereço de email do indicado. Ex.: maria.menezes@gmail.com. O sistema valida o endereço de email.
CelularString
Não
SimTelefone celular do indicado. Ex.: +55(11) 99425-8320
CPFStringNãoCPF do indicado. Ex.: 170.187.518-17

Detalhes

  • Captação
  • Locação
    CampoTipoObrigatórioObservação
    Tipo de negócio
    Lista de valores:
    StringSimIndica o tipo de negócio para o qual o cliente foi indicado.
    Data da indicaçãoNãoQuando não for informada, o sistema utiliza a data do processamento
    As opções são: Locação ou Captação.
    OrigemStringSimIndica o parceiro que originou a indicação. As opções são: Buzzlead.
    CampanhaStringNão

    Código para identificação da campanha que originou a indicação, informado pelo administrador da organização.


    Warning
    titleNota sobre campanha

    A

    ...

    indicação pode ser associada a uma campanha de marketing. Os usuários da organização que precisam acessar o módulo "Campanhas" devem ter uma licença do "Sales Cloud".


    Fluxo para integração

    Lucidchart
    pageCount1
    autoUpdatefalsetrue
    alignleft
    typerich
    autoSize1
    macroId6f067702-8466-4e19-b5de-acf4b8d74969
    instanceIdb4006761-2d8a-3786-8298-207d44fcadc5
    pages
    width700
    documentId7bee767a-05c1-4f25-abd1-189191d7742c
    documentToken7bee767a-05c1-4f25-abd1-189191d7742c|103326617|709885954|ySJlmf89w261HLwhJmRIcZf7SMn49K5iHFvrFP4lT5c=
    updated15567141269341557912867269
    height500

    API para integração

    ...

    O SnapProperty disponibiliza uma API para receber indicações de clientes de sistemas externos.

    Requisitos para integração

    Para realizar a integração de um sistema externo, o administrador da organização deve concluir as seguintes atividades:

    1. Criar uma "Aplicação conectada" para o sistema externo que pretende enviar indicações.
    2. Criar um usuário para autenticar o sistema externo.

    Token de acesso

    Antes de enviar uma requisição de cadastro para uma nova indicação, o sistema externo deve solicitar um token de acesso. 

    Para mais informações, consulte o link abaixo:

    https://developer.salesforce.com/docs/atlas.en-us.218.0.api_rest.meta/api_rest/intro_understanding_username_password_oauth_flow.htm

    Requisição

    Para enviar uma indicação, o sistema externo deve receber um token de segurança que é utilizado para autenticar as requisições para a API do SnapProperty.

    ParâmetroTipoDescrição
    EndpointStringEndereço para enviar a uma requisição do para token de segurançaacesso. Utilizar sempre https://login.salesforce.com/services/oauth2/token/
    VerboStringUtilizar sempre POST
    grant_typeStringIdentifica o tipo de requisição. Deve utilizar sempre "password".
    client_idStringCódigo para identificação da aplicação no Salesforce, informado pelo administrador da organização.
    client_secretStringChave secreta da aplicação, informado pelo administrador da organização.
    usernameStringNome do usuário para autenticação, cadastrado pelo administradora da organização.
    passwordStringSenha utilizada pelo usuário para autenticação concatenada com a chave de segurança enviada por email pelo Salesforce.

    Retorno de uma requisição bem sucedida

    ParâmetroTipoDescrição
    access_tokenStringChave de acesso para as demais requisições para a API.
    instance_urlStringEste valor será utilizado nas demais requisições para a API.
    idString
    token_typeString
    issued_atString
    signatureString

    Exemplo de requisição com sucesso


    Exemplo
    Requisição

    https://login.salesforce.com/services/oauth2/token
    ?grand_type=password
    &client_id=3MVG9QDx8IX8nP5SIyDa4YCKZ5fWQe4zJBToiPFMmU94sSExkYBBr3gNZnzXXUS316
    &client_secret=065345560BF35CD3F101EAB2B9F1838B402D4903
    &username=sistema@dominio.com.br
    &password=senha23409284203942

    Retorno{
    "access_token": "00DU0000000KkSx!ARQAQCV4Ss4lCPejtaWcCz3W.26oOVeAbvxaAU4BndfDvDk5CoRKSWUubdF7XjNulocbDRlPU81DjNT0.kiFhIr.Kbz",
    "instance_url": "https://snap-broker-dev-ed.my.salesforce.com",
    "id": "https://login.salesforce.com/id/00DU0000000KkSxMAK/005U0000000NVceIAG",
    "token_type": "Bearer",
    "issued_at": "1556731033567",
    "signature": "15dl4dW8LSkp+r1FHbj/Y/3mD/AiRrKB0HNee4IGa+A="
    }


    Cadastrar uma nova indicação

    Requisição

    Para cadastrar uma nova indicação, o sistema externo deve enviar uma requisição para a API do SnapProperty, com os seguintes parâmetros:

    Endpoint
    Parâmetro
    ValorNotas
    TipoObrigatórioDescrição
    endpointString

    O endereço da requisição é formado por duas partes concatenadas: "URL da instância" + "Nome do recurso".

    A "URL da instância" é o valor retornado no parâmetro "instance_url" da requisição para o token de acesso.

    O "Nome do recurso" é "/services/apexrest/snap_brok/indicacao/v1"

    Exemplo: https://snap-broker-dev-ed.my.salesforce.com/services/apexrest/snap_brok/indicacao/v1

    Solicite ao administrador VerboPOST

    verbo

    POST
    indicacaoIndicacaoSimEstrutura de dados com a representação da indicacao

    Indicacao

    ParâmetroTipoObrigatórioDescrição
    tipoStringSimIdentifica o tipo de indicação. As opções são: Locação ou Captação.
    origemStringSimIdentifica a origem da indicação. As opções são: Buzzlead
    campanhaStringNãoID da campanha cadastrada no Salesforce. Ex.: 7014P000001m432QAA
    divulgadorStringNãoE-mail do divulgador da indicação.
    indicadorPessoaSimIdentifica a pessoa que indicou o cliente.
    indicadoPessoaSimIdentifica o cliente que foi indicado.

    Pessoa

    ParâmetroTipoDescrição
    nomeStringPrimeiro nome da pessoa. Ex.: Roberto
    sobrenomeStringSobrenome da pessoa. Ex.: Souza
    emailStringEndereço de email da pessoa. Ex.: roberto.souza@gmail.com
    cpfStringCódigo da pessoa no cadastro da receita federal. Incluir apenas números. Ex.: 14811751817.
    celularStringNúmero do telefone celular da pessoa. Incluir o DDD e deixar sem máscara. Ex.: 11994258349.

    Retorno

    ParâmetroTipoDescrição
    mensagemString

    A indicação INDICA-999999999 foi cadastrada com sucesso.

    Se ocorrer algum erro, indica a mensagem do erro.

    indicacaoIndicacao__cEstrutura de dados com as informações da indicação cadastrada.
    erroBooleanRetorno verdadeiro quando ocorreu um erro ou falso quando a indicação foi cadastrada com sucesso.

    Exemplo de requisição com sucesso


    Exemplo
    Requisição

    { "indicacao": {
    "tipo": "Locação",
    "origem": "Buzzlead",
    "campanha": "asdfasdf",

    "divulgador":"teste@teste.com"
    "indicador": {
    "nome": "Fabio",
    "sobrenome": "Zarvos",
    "email": "fabiozarvos@gmail.com",
    "cpf": "14811751817",
    "celular": "11994258349"},
    "indicado": {
    "nome": "Roberto",
    "sobrenome": "Souza",
    "email": "roberto.souza@gmail.com",
    "celular": "1199323244"}}
    }

    Retorno{
    "mensagem": "A indicação INDICA-00000008 foi cadastrada com sucesso",
    "indicacao": {
    "attributes": {
    "type": "snap_brok__Indicacao__c",
    "url": "/services/data/v45.0/sobjects/snap_brok__Indicacao__c/a5T4P000000HuSHUA0"
    },
    "Id": "a5T4P000000HuSHUA0",
    "Name": "INDICA-00000008",
    "snap_brok__Data_indicacao__c": "2019-05-15",
    "snap_brok__Indicado__c": "0010B00001qYZo7QAG",
    "snap_brok__Indicador__c": "0010B00001ydepcQAA",
    "snap_brok__Origem_indicacao__c": "Buzzlead",
    "snap_brok__Tipo_indicacao__c": "Locação",
    "snap_brok__Indicado__r": {
    "attributes": {
    "type": "Account",
    "url": "/services/data/v45.0/sobjects/Account/0010B00001qYZo7QAG"
    },
    "Id": "0010B00001qYZo7QAG",
    "Name": "Comgás"
    },
    "snap_brok__Indicador__r": {
    "attributes": {
    "type": "Account",
    "url": "/services/data/v45.0/sobjects/Account/0010B00001ydepcQAA"
    },
    "Id": "0010B00001ydepcQAA",
    "Name": "Maria Morena",
    "PersonEmail": "fabiozarvos@gmail.com"
    }
    },
    "erro": false
    }

    Retorno