Login

Endpoint: POST https://croncrm.com/api/v2/auth/login

Inicia o processo de conexão com o CRONCRM.

Importante ressaltar que se a seu canal de atendimento já estiver conectado, ele será desconectado para iniciar um novo processo de login, se a sessão anterior for válida, não haverá necessidade de leitura do qrcode.

Você também pode informar os seus webhooks pela interface do CRONCRM, uma vez informado estes serão salvos e no próximo login mesmo não passado o webhooks, eles serão recuperados da sessão anterior.

Header do request
Atributo Descrição Obrigatório Tipo

apiKey

Informe sua API Key gerada na interface do CRONCRM.

Sim

String

Body do request

Ao fazer login você pode passar urls para receber eventos de nosso Webhook e acompanhar em tempo retorno de mensagens que enviar ou receber.

Você pode usar uma mesma url para os webhooks, enviamos no header um parâmetro chamado hook para você identificar o tipo de evento a ser tratado.

Você pode conferir os dados enviados em cada Webhook na sessão de Webhooks desta documentação.

Atributo Descrição Obrigatório Tipo

webhookMessage

Você receberá nessa url eventos de confirmação de envio, status se a mensagem foi lida e/ou entregue no dispositivo da pessoa e sempre que receber uma mensagem, também irá receber eventos relacionados a alterações em grupos.

Para identificar os eventos, enviaremos um parâmetro no header chamado hook contendo:

  • onSender = Para confirmação de envio.
  • onAck = Para status da mensagem.
  • onReceived = Sempre que receber uma mensagem.
  • onChangeGroup = Sempre que houver mudança na configuração de algum grupo.

Não

String (URL)

webhookIncomingCall

Você receberá nessa url eventos relacionados a chamadas recebidas.

Para identificar este evento enviaremos um parâmetro no header chamado hook contendo: onIncomingCall

Não

String (URL)

webhookStateChanged

Sempre que houver uma alteração no status na conexão enviaremos um evento nesta url.

Para identificar este evento enviaremos um parâmetro no header chamado hook contendo: onStateChanged

Não

String (URL)

webhookQrcode

Ao solicitar uma nova conexão enviaremos o Qrcode nesta url.

Para identificar este evento enviaremos um parâmetro no header chamado hook contendo: onQrcode

Não

String (URL)

webhookLiveLocation

Sempre que alguém compartilhar a localização em tempo real, enviamos um evento nesta url.

Para identificar este evento enviaremos um parâmetro no header chamado hook contendo: onLiveLocation

Não

String (URL)

webhookParticipantsChanged

Sempre que for incluído ou removido um menbro no grupo, enviaremos um evento nesta url.

Para identificar este evento enviaremos um parâmetro no header chamado hook contendo: onParticipantsChanged

Não

String (URL)

webhookAddedToGroup

Sempre que você for incluído em um grupo enviaremos um evento nesta url.

Para identificar este evento enviaremos um parâmetro no header chamado hook contendo: onAddedToGroup

Não

String (URL)

phone_number

Número de telefone opcional para o processo de login.

Não

String

                        
                            {
                              "webhookMessage": "https://meu.app/hook/message",
                              "webhookIncomingCall": "https://meu.app/hook/incoming-call",
                              "webhookStateChanged": "https://meu.app/hook/state",
                              "webhookQrcode": "https://meu.app/hook/qrcode",
                              "webhookLiveLocation": "https://meu.app/hook/live-location",
                              "webhookParticipantsChanged": "https://meu.app/hook/participants",
                              "webhookAddedToGroup": "https://meu.app/hook/added-to-group",
                              "phone_number": ""
                            }
                        
                    
Response do request

Caso você informe algum webhook, ele deve ser uma URL válida. Se alguma URL informada for inválida, a API retorna 422 com success: false e a mensagem indicando quais campos estão inválidos.

Para erros de autenticação/headers (ex.: ausência de apiKey ou Content-Type diferente de application/json), o retorno pode ser 400. Método incorreto retorna 405.

Atributo Descrição Tipo

success

Informa se a operação teve sucesso ou não.

  • TRUE = Acompanhe o status da conexão pelo Webhook webhookStateChanged, você irá receber o status da conexão e se houver a necessidade de ler o qrcode.
  • FALSE = Algo de errado aconteceu e não foi possível iniciar o processo de login.

Boolean

msg

Mensagem de retorno.

String

                        
                        {
                           "success": true,
                           "msg": "Conexão solicitada com sucesso. Acompanhe os eventos enviados em seus WebHooks."
                        }
                        
                    
<?php
$apiKey = 'SEU_API_KEY';
$url = 'https://croncrm.com/api/v2/auth/login';

$payload = [
    'webhookMessage' => 'https://meu.app/hook/message',
    'webhookIncomingCall' => 'https://meu.app/hook/incoming-call',
    'webhookStateChanged' => 'https://meu.app/hook/state',
    'webhookQrcode' => 'https://meu.app/hook/qrcode',
    'webhookLiveLocation' => 'https://meu.app/hook/live-location',
    'webhookParticipantsChanged' => 'https://meu.app/hook/participants',
    'webhookAddedToGroup' => 'https://meu.app/hook/added-to-group',
    'phone_number' => ''
];

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'apiKey: ' . $apiKey,
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE),
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

if ($error) {
    throw new RuntimeException($error);
}

echo "HTTP {$httpCode}\n";
echo $response;
?>
curl -X POST \
  'https://croncrm.com/api/v2/auth/login' \
  -H 'apiKey: SEU_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"webhookMessage":"https://meu.app/hook/message","webhookIncomingCall":"https://meu.app/hook/incoming-call","webhookStateChanged":"https://meu.app/hook/state","webhookQrcode":"https://meu.app/hook/qrcode","webhookLiveLocation":"https://meu.app/hook/live-location","webhookParticipantsChanged":"https://meu.app/hook/participants","webhookAddedToGroup":"https://meu.app/hook/added-to-group","phone_number":""}'