#!/bin/bash

# Caminho para o arquivo CSV
CSV_FILE="entrada.csv"

# Função para fazer requisição POST e extrair dados
function post_request {
    local url=$1
    local data=$2
    curl -s -X POST "$url" -H "Content-Type: application/json" -d "$data"
}

# Função para extrair valor do JSON usando jq
function extract_json_value {
    local json=$1
    local key=$2
    echo "$json" | jq -r ".${key}"
}

# Função para preencher com zeros à esquerda até o comprimento desejado
function pad_with_zeros {
    local number=$1
    local length=$2
    printf "%0${length}d" "$number"
}

# Verificar se o jq está instalado
if ! command -v jq &> /dev/null; then
    echo "jq não encontrado. Instale o jq para processamento de JSON."
    exit 1
fi

# Ler o CSV e processar linha por linha
while IFS=';' read -r cpf cnpj; do
    # Ignorar o cabeçalho do CSV
    if [[ "$cpf" == "Cpf" ]]; then
        continue
    fi

    # Remover espaços em branco e caracteres indesejados
    cpf=$(echo "$cpf" | tr -d '[:space:]')
    cnpj=$(echo "$cnpj" | tr -d '[:space:]')

    # Preencher CPF e CNPJ com zeros à esquerda, se necessário
    cpf=$(pad_with_zeros "$cpf" 11)
    cnpj=$(pad_with_zeros "$cnpj" 14)

    # Exibir os valores lidos para depuração
    echo "Processando CPF: $cpf, CNPJ: $cnpj"

    # Passo 1: Obter ID da empresa
    response=$(post_request "https://devapi.clicklifee.com/api/empresas/obterporcnpj" "{\"cnpj\": \"$cnpj\"}")
    empresa_id=$(extract_json_value "$response" "id")

    echo "Resposta passo 1 para CNPJ $cnpj:"
    echo "$response"

    if [[ -z "$empresa_id" ]]; then
        echo "Erro ao obter ID da empresa para CNPJ $cnpj. Resposta: $response"
        continue
    fi

    # Passo 2: Obter nome do colaborador
    response=$(post_request "https://devapi.clicklifee.com/api/empresas/obterporcolaborador" "{\"cpf\": \"$cpf\"}")
    nome=$(extract_json_value "$response" "Nome")

    echo "Resposta passo 2 para CPF $cpf:"
    echo "$response"

    if [[ -z "$nome" ]]; then
        echo "Erro ao obter nome do colaborador para CPF $cpf. Resposta: $response"
        continue
    fi

    # Criar o corpo da requisição para o passo 3
    body="{\"Cpf\": \"$cpf\", \"Nome\": \"$nome\", \"SituacaoColaborador\": \"0\", \"EmpresaId\": \"$empresa_id\"}"

    # Exibir o corpo da requisição para o passo 3 antes de enviar
    echo "Corpo da requisição do passo 3 para CPF $cpf:"
    echo "$body"

    # Passo 3: Enviar dados do colaborador
    response=$(post_request "https://devapi.clicklifee.com/api/empresas/colaborador" "$body")

    # Mostrar a resposta completa do passo 3
    echo "Resposta passo 3 para CPF $cpf:"
    echo "$response"
    echo "-------------------"
done < "$CSV_FILE"
