Cadastro de Cliente

O TrayCheckout permite a criação de contas para auxiliar no processo de integração.

Através da API de Cadastro de Cliente é possível criar clientes do tipo Pessoa Física ou Pessoa Juridica, onde são retornados os dados do cliente para integração.

Endereço para Integração
Ambiente de Testes https://api.sandbox.traycheckout.com.br/v1/people/create
Ambiente de Produção https://api.traycheckout.com.br/v1/people/create
Protocolo Rest/HTTP

Para a integração via POST, segue abaixo os dados necessários para envio:

Dados de Entrada Obrig. Formato / Tam. Max Descrição
account_type Sim Número Tipo de Conta (Tabela 3)
trade_name Sim 2 Texto Nome Fantasia
company_name Sim 2 Texto Razão Social
cnpj Sim 2 Texto CNPJ
url Não Texto Url da Empresa
url_notification Não Texto Url de Notificação
inscricao_municipal Não Texto Inscrição Municipal
url_css Não Texto Configuração da URL CSS
email Sim Texto Email
name Sim Texto Nome Completo
birth_date Não Data Data de Aniversário
cpf Sim Texto CPF
relationship Não Texto Estado Civil
gender Não Texto Sexo (Tabela 4)
contacts[][type_contact] Sim Texto Tipo de Contato1 (Tabela 1)
contacts[][number_contact] Sim Texto Número de telefone1
type_address Sim Texto Tipo de endereço (Tabela 2)
street Sim Texto Logradouro
number Sim Texto Número
neighborhood Sim Texto Bairro
completion Não Texto Complemento
postal_code Sim Texto CEP
city Sim Texto Cidade
state Sim Texto Estado
payment_tax_code Não Número Código Tabela de Taxas
reseller_token Não Texto Token do Revendedor

1 Note que nas informações acima que alguns dados possuem uma característica diferente, tendo um elemento [] dentro de sua formatação. Isso ocorre justamente para permitir que sejam enviados diversos itens na mesma requisição.
2 Campos obrigatórios para conta do tipo empresa.


    <?php
        /* Tipo de Conta */
        $params['account_type'] = '2';
        
        /* Dados do Cliente */
        $params['email'] = 'emaildo@cliente.com.br';
        $params['name'] = 'Nome do Cliente';
        $params['birth_date'] = '21/12/1985';
        $params['cpf'] = '98489882380';
        $params['relationship'] = 'S';
        $params['gender'] = 'M';
        
        /* Dados de Contato */
        $params['contacts[][type_contact]'] = 'H';
        $params['contacts[][number_contact]'] = '1133120001';
        
        /* Dados de Endereço */
        $params['type_address'] = 'B';
        $params['street'] = 'Av Paulista';
        $params['number'] = '112';
        $params['completion'] = 'A';
        $params['neighborhood'] = 'Centro';
        $params['postal_code'] = '04001001';
        $params['city'] = 'Sao Paulo';
        $params['state'] = 'SP';

        /* Dados adicionais de Pessoa Juridica */
        $params['trade_name'] = 'Nome Fantasia da Empresa';
        $params['company_name'] = 'Razao Social LTDA';
        $params['cnpj'] = '38509294000154';
        $params['inscricao_municipal'] = '803532446070';

        /* Dados de Configuração */
        $params['url'] = 'http://www.loja.com.br/';
        $params['url_notification'] = 'http://www.loja.com.br/notificacao/';
        $params['url_css'] = 'http://www.loja.com.br/style.css';
        $params['payment_tax_code'] = '1';
        $params['reseller_token'] = '1';

        $urlPost = "https://api.sandbox.traycheckout.com.br/v1/people/create";

        ob_start();

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $urlPost);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_exec($ch);

        /* XML de retorno */ 
        $resposta = simplexml_load_string(ob_get_contents());

        ob_end_clean();
        curl_close($ch);

        if($resposta->message_response->message == "success"){
            //Tratamento dos dados de resposta da consulta.
        }else{
            //Tratamento das mensagens de erro
        }
    ?>
    

A API de Cadastro de Conta retorna a resposta em XML.

Abaixo um detalhamento de cada nó do XML de resposta:

XML de Resposta
<people> Nó principal da resposta
<people>
    <message_response>
Nó que contém o resultado da resposta
<people>
    <message_response>
        <message>
Resposta sobre a solicitação
Em caso de sucesso: success
Em caso de erro: error
<people>
    <data_response>
Nó que contém os dados da resposta
<people>
    <data_response>
        <session_id>
Chave de Sessão do Cliente
<people>
    <data_response>
        <token_account>
Token de Integração
<people>
    <data_response>
        <customer_name>
Nome do Cliente
<people>
    <data_response>
        <customer_address_id>
Código do Endereço do Cliente
<people>
    <data_response>
        <email>
E-mail do Cliente

Exemplo de resposta com sucesso baseando no envio do exemplo acima:


    <people>
<message_response>
<message>success</message>
</message_response>
<data_response>
<session_id>17fb139440b4d126089438f60af042b7</session_id>
<token_account>70a1dc719a9007b</token_account>
<customer_name>Nome do Cliente</customer_name>
<customer_address_id type="integer">43722</customer_address_id>
<email>emaildo@cliente.com.br</email>
</data_response>
</people>

Mensagens de Erro

No caso de erro, a API retorna uma mensagem de erro. Assim é possível identificar o erro ocorrido e realizar o tratamento através do código e/ou mensagem retornada.

Abaixo segue os detalhes de cada nó do XML de resposta:

XML de Resposta
<response> Nó principal da resposta
<response>
    <message_response>
Nó que contém o resultado da resposta
<response>
    <message_response>
        <message>
Resposta sobre a solicitação
Em caso de sucesso: success
Em caso de erro: error
<response>
    <error_response>
Nó que contém os erros encontrados
<response>
    <error_response>
        <general_errors>
Nó que contém os erros encontrados
<response>
    <error_response>
        <general_errors>
            <general_error>
Nó que contém o detalhamento de um erro
<response>
    <error_response>
        <general_errors>
            <general_error>
                <code>
Código do erro
<response>
    <error_response>
        <general_errors>
            <general_error>
                <message>
Mensagem do erro

Exemplo de um retorno com erro:


    <response>
<message_response>
<message>error</message>
</message_response>
<error_response>
<general_errors type="array">
<general_error>
<code>036010</code>
<message>Tipo de Conta inválido</message>
</general_error>
</general_errors>
</error_response>
</response>

As mensagens de erros retornados pela API estão listadas na tabela abaixo:

CódigoMensagem
001001 Token inválido ou não encontrado
001003 Conta inválida
018005 Esta operação não pode ser realizada
018010 E-mail já está em uso
018011 CNPJ já está em uso
036001 CPF não pode ficar em branco
036002 E-mail não pode ficar em branco
036008 CNPJ e Nome Fantasia são obrigatórios
036009 Parâmetros inválidos, por favor preencha todos os campos
036010 Tipo de Conta inválido
058001 Revendedor inválido

Tabelas Auxiliares

Na integração existem alguns campos com informações pré-definidas, onde deverão ser enviadas conforme o padrão existente, se for necessário enviar o campo na requisição, ou poderá tratar a informação conforme retorno recebido.

Abaixo segue tabelas com essas informações pré-definidas:

Tabela 1 – Contato
Residencial H
Celular M
Comercial W
Tabela 2 – Tipos de Endereço
Cobrança B
Entrega D
Tabela 3 – Tipos de Conta
Pessoal 1
Empresarial 2
Tabela 4 – Gênero
Masculino M
Feminino F