{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"b567782c-56d4-439e-8cf5-929395b80581","name":"API - IXC Provedor","description":"Essa documentação apresenta maior parte das requisições da API do IXC Provedor. Não possui todas as requisições, mas tem como base, algumas mais utilizadas. Mais informações e dúvidas, abra um atendimento no Suporte API.\n\n**Se precisa saber alguma informação sobre os campos, endpoints e funcionamento das rotas, acesse a Documentação Oficial:**\n\n# 🔗 Links úteis\n\n[Documentação API Oficial - IXC Provedor](https://wikiapiprovedor.ixcsoft.com.br/index.php#)\n\n[Contato do Suporte API - IXC Provedor (Whatsapp)](https://api.whatsapp.com/send?phone=554933446001&text=Ol%C3%A1%21+Tenho+interesse+e+queria+mais+informa%C3%A7%C3%B5es%2C+por+favor.&source_url=https://www.ixcsoft.com.br/&icebreaker=Ol%C3%A1%21+Tenho+interesse+e+queria+mais+informa%C3%A7%C3%B5es%2C+por+favor.&app=facebook&entry_point=button&jid=554933446001%40s.whatsapp.net&show_ad_attribution=0&source=website&context=Site)\n\n# 🧪 Métodos API\n\n## 🟢 GET (listar)\n\n### Estrutura padrão\n\nTodas as consultas por API devem seguir esse padrão, abaixo um exemplo, no endpoint cliente.\n\n``` powershell\n//HOST: https://host/webservice/v1/cliente\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n\"qtype\": \"cliente.id\",\n\"query\": \"1\",\n\"oper\": \">=\",\n\"page\": \"1\",\n\"rp\": \"1\",\n\"sortname\": \"cliente.id\",\n\"grid_param\":\"[{\\\"TB\\\":\\\"cliente.data_cadastro\\\", \\\"OP\\\" : \\\">=\\\", \\\"P\\\" : \\\"01/01/2024\\\"}]\"\n}\n\n ```\n\n> Para realizar uma request do método get, é necessário o headers **ixcsoft:listar**. \n  \n> Em resumo, essa requisição irá realizar uma listagem de clientes, filtrando por clientes, que tenha o id, maior ou igual a 1, e ordenando os resultados por id do cliente, em ordem decrescente. Mostrará apenas os resultados da página 1, e obterá somente 1 registro. \n  \n\n### Campos\n\n#### qtype\n\n- **Descrição**: Este campo especifica o tipo de consulta ou o campo sobre o qual a consulta será aplicada.\n    \n- **Exemplo**: `\"qtype\": \"cliente.id\"` indica que a consulta será realizada no campo id da entidade cliente.\n    \n\n#### query\n\n- **Descrição**: Define o valor de consulta a ser usado.\n    \n- **Exemplo**: `\"query\": \"1\"` significa que a consulta usará o valor 1.\n    \n\n#### oper\n\n- **Descrição**: Especifica o operador da consulta que será aplicado entre o campo definido em `qtype` e o valor definido em `query`.\n    \n- **Tipos de Opradores**: Há vários operadores, que podem ser utilizados como: =, !=, >, >=, <, <=, L, NL, IN, NI, BE, NBE.\n    \n\n#### page\n\n- **Descrição**: Indica o número da página de resultados a ser retornada, útil para paginação.\n    \n- **Exemplo**: `\"page\": \"1\"` indica que os resultados da primeira página devem ser retornados.\n    \n\n#### rp\n\n- **Descrição**: Define o número de registros por página.\n    \n- **Exemplo**: `\"rp\": \"1\"` indica que apenas 1 registro deve ser retornado por página.\n    \n\n#### sortname\n\n- **Descrição**: Especifica o campo pelo qual os resultados devem ser ordenados.\n    \n- **Exemplo**: `\"sortname\": \"cliente.id\"` indica que os resultados devem ser ordenados pelo campo id do cliente.\n    \n\n#### sortorder\n\n- **Descrição**: Define a ordem de classificação dos resultados, que pode ser ascendente `asc` ou descendente `desc`.\n    \n- **Exemplo**: `\"sortorder\": \"desc\"` indica que os resultados devem ser ordenados em ordem decrescente.\n    \n\n#### grid_param\n\nUtilizado para passar múltiplos filtros adicionais. Cada filtro é especificado por um objeto JSON dentro de uma lista. Cada objeto contém três chaves: **TB**,**OP** e **P**.\n\n> Resumindo: Aqui iremos consultar clientes com cadastro maior ou igual a data de 01/01/2024 (Dia 1 de Janeiro de 2024). \n  \n\n##### TB\n\n- **Descrição**: A chave **TB** especifica o campo a ser filtrado, usando o formato **\"tabela.campo\"**, semelhante ao funcionamento do **qtype**.\n    \n- **Exemplo**: `\"cliente.data_cadastro\"`, indica que a consulta será realizada na tabela **cliente**, e pelo campo **Data Cadastro**.\n    \n\n##### OP\n\n- **Descrição**: A chave **OP** define o operador a ser usado no filtro.\n    \n- **Exemplo:** nesse exemplo, será utilizado o operador `\">=\"` **(maior ou igual),** ao campo definido na chave **P.**\n    \n\n##### P\n\n- **Descrição**: A chave **P** especifica o valor a ser consultado do campo definido em **TB.**\n    \n- **Exemplo:** nesse exemplo, será feito uma consulta utilizando a data do cadastro do cliente, 01/01/2024.\n    \n\n### Operadores\n\nEm consultas, do método GET, podemos utilizar vários operadores, abaixo os operadores, que podem ser utilizados, e o seu significado.\n\n| Operador | Descrição | Regras |\n| --- | --- | --- |\n| \\= | Igual |  |\n| != | Diferente |  |\n| \\> | Maior |  |\n| < | Menor |  |\n| \\>= | Maior ou Igual |  |\n| <= | Menor ou Igual |  |\n| L | Contém | Se aplica para letras |\n| NL | Não Contém | Se aplica para letras |\n| IN | Contido | Se aplica para números |\n| NI | Não está Contido | Se aplica para números |\n| BE | Entre | Deve haver um intervalo |\n| NBE | Não está entre | Deve haver um intervalo |\n\n### Exemplos com Operadores\n\n#### Igual (=)\n\nNesse exemplo, irá listar os clientes com o cpf **627.105.245-20**\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/cliente\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"cliente.cnpj_cpf\",\n    \"query\" : \"627.105.245-20\",\n    \"oper\" : \"=\",\n    \"page\" : \"1\",\n    \"rp\" : \"5\",\n    \"sortname\" : \"cliente.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Diferente (!=)\n\nNesse exemplo, irá listar os contratos que não tem o produto ID 36\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/vd_contratos_produtos\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"vd_contratos_produtos.id_produto\",\n    \"query\" : \"36\",\n    \"oper\" : \"!=\",\n    \"page\" : \"1\",\n    \"rp\" : \"1000\",\n    \"sortname\" : \"vd_contratos_produtos.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Maior (>)\n\nNesse exemplo, está listando os clientes cadastrados depois de 31/12/2023\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/cliente\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"cliente.data_cadastro\",\n    \"query\" : \"31/12/2023\",\n    \"oper\" : \">\",\n    \"page\" : \"1\",\n    \"rp\" : \"1\",\n    \"sortname\" : \"cliente.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Menor (<)\n\nNesse exemplo, está listando os clientes cadastrados antes de 01/01/2025\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/cliente\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"cliente.data_cadastro\",\n    \"query\" : \"01/01/2025\",\n    \"oper\" : \"<\",\n    \"page\" : \"1\",\n    \"rp\" : \"1\",\n    \"sortname\" : \"cliente.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Maior ou igual (>=)\n\nNesse exemplo, irá listar os boletos com vencimento superior a 01/01/2024\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/fn_areceber\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"fn_areceber.status\",\n    \"query\" : \"A\",\n    \"oper\" : \"=\",\n    \"page\" : \"1\",\n    \"rp\" : \"1\",\n    \"sortname\" : \"fn_areceber.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Menor ou igual (<=)\n\nNesse exemplo, irá listar os boletos com vencimento anterior a 31/12/2024\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/fn_areceber\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"fn_areceber.data_vencimento\",\n    \"query\" : \"31/12/2024\",\n    \"oper\" : \"<=\",\n    \"page\" : \"1\",\n    \"rp\" : \"1000\",\n    \"sortname\" : \"fn_areceber.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Contém (L)\n\nNesse exemplo, irá listar os planos de venda **que tem** o nome 15_Megas.\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/vd_contratos\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"vd_contratos.nome\",\n    \"query\" : \"15_Megas\",\n    \"oper\" : \"L\",\n    \"page\" : \"1\",\n    \"rp\" : \"100\",\n    \"sortname\" : \"vd_contratos.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Não Contém (NL)\n\nNesse exemplo, irá listar somente os planos de venda (vd_contratos) que **não tem** o **15_Megas** no nome.\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/vd_contratos\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"vd_contratos.nome\",\n    \"query\" : \"15_Megas\",\n    \"oper\" : \"NL\",\n    \"page\" : \"1\",\n    \"rp\" : \"100\",\n    \"sortname\" : \"vd_contratos.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Está Contido (IN)\n\nNesse exemplo, irá listar apenas as Ordens de Serviço, com status Finalizado e que tenha os ids de assuntos 1,3 e 5.\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/su_oss_chamado\n//HEADERS: ixcsoft:listar\n//METHOD: GET\n{\n    \"qtype\" : \"su_oss_chamado.id_assunto\",\n    \"query\" : \"1,3,5\",\n    \"oper\" : \"IN\",\n    \"page\" : \"1\",\n    \"rp\" : \"100\",\n    \"sortname\" : \"su_oss_chamado.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n#### Não está Contido (NI)\n\nNesse exemplo, irá listar as os contratos, que foram cancelados, mas que não utilizaram os motivos de cancelamento ID 3 e 1.\n\n##### Exemplo\n\n``` json\n//HOST: https://host/webservice/v1/cliente_contrato\n//HEADERS: ixcsoft:listar\n//METHOD: GEThttps://wiki-suporte.ixcsoft.com.br/pt-br/home/integracoes/manual_integracoes/link-api\n{\n    \"qtype\" : \"cliente_contrato.motivo_cancelamento\",\n    \"query\" : \"3,1\",\n    \"oper\" : \"NI\",\n    \"page\" : \"1\",\n    \"rp\" : \"100\",\n    \"sortname\" : \"cliente_contrato.id\",\n    \"sortorder\" : \"asc\"\n}\n\n ```\n\n## 🟠 POST (inserir)\n\nAo inserir dados via API, é necessário preencher todos os campos obrigatórios listados na tabela correspondente. Para exemplificar, vamos considerar o processo de inserção de um novo cliente no IXC Provedor, onde alguns campos devem ser preenchidos.\n\nAqui está um exemplo de como seria a requisição para inserir um novo cliente:\n\n``` json\n//HOST: https://host/webservice/v1/cliente\n//METHOD: POST\n{\n    \"ativo\":\"S\",\n    \"tipo_pessoa\":\"F\",\n    \"razao\":\"João\",\n    \"contribuinte_icms\":\"N\",\n    \"tipo_assinante\":\"1\",\n    \"cep\":\"89814-680\",\n    \"endereco\":\"Rua Travessa Pelicano\",\n    \"numero\":\"200\",\n    \"bairro\":\"Palmital\",\n    \"cidade\":\"4376\",\n    \"uf\":\"2\",\n    \"tipo_localidade\":\"U\",\n    \"iss_classificacao_padrao\":\"00\"\n}\n\n ```\n\n## 🔵 PUT (editar)\n\nQuando se trata de atualizar os dados de um cliente via API, é importante observar que não é possível modificar apenas um campo específico. É necessário enviar todos os campos, mesmo que alguns permaneçam inalterados. Além disso, é crucial incluir o ID do cliente na URL para indicar qual registro está sendo atualizado.\n\nVeja o exemplo abaixo para uma requisição PUT na rota específica para alterar os dados do cliente com o ID 5:\n\n``` json\n// URL: https://host/webservice/v1/cliente/5\n// Método: PUT\n{\n    \"senha\": \"\",\n    \"acesso_automatico_central\": \"\",\n    \"alterar_senha_primeiro_acesso\": \"\",\n    \"senha_hotsite_md5\": \"\",\n    \"indicado_por\": \"0\",\n    \"ativo\": \"S\",\n    \"grau_satisfacao\": \"\",\n    \"razao\": \"João\",\n    \"fantasia\": \"\",\n    \"cnpj_cpf\": \"\",\n    \"ie_identidade\": \"\",\n    \"data_cadastro\": \"2024-03-14\",\n    \"uf\": \"2\",\n    \"crm\": \"\",\n    \"endereco\": \"Rua Travessa Pelicano\",\n    \"cidade\": \"4376\",\n    \"cond_pagamento\": \"0\",\n    \"bairro\": \"Palmital\",\n    \"fone\": \"\",\n    \"numero\": \"200\",\n    \"cep\": \"89814-680\",\n    \"filial_id\": \"1\",\n    \"contato\": \"\",\n    \"latitude\": \"\",\n    \"longitude\": \"\",\n    \"id_conta\": \"367\",\n    \"hotsite_email\": \"\",\n    \"email\": \"\",\n    \"obs\": \"\",\n    \"id_tipo_cliente\": \"0\",\n    \"id_candato_tipo\": \"0\",\n    \"tipo_pessoa\": \"F\",\n    \"telefone_comercial\": \"\",\n    \"telefone_celular\": \"\",\n    \"referencia\": \"\",\n    \"complemento\": \"\",\n    \"id_condominio\": \"0\",\n    \"ramal\": \"\",\n    \"data_nascimento\": \"\",\n    \"participa_cobranca\": \"N\",\n    \"num_dias_cob\": \"0\",\n    \"tabela_preco\": \"0\",\n    \"id_vendedor\": \"0\",\n    \"bloco\": \"\",\n    \"isuf\": \"\",\n    \"apartamento\": \"\",\n    \"tipo_assinante\": \"1\",\n    \"idx\": \"0\",\n    \"skype\": \"\",\n    \"whatsapp\": \"\",\n    \"id_perfil\": \"0\",\n    \"id_concorrente\": \"0\",\n    \"hotsite_acesso\": \"0\",\n    \"responsavel\": \"0\",\n    \"status_prospeccao\": \"\",\n    \"estado_civil\": \"\",\n    \"crm_data_vencemos\": \"\",\n    \"ativo_serasa\": \"0\",\n    \"iss_classificacao_padrao\": \"00\",\n    \"rg_orgao_emissor\": \"\",\n    \"ultima_atualizacao\": \"\",\n    \"nacionalidade\": \"\",\n    \"deb_automatico\": \"\",\n    \"deb_agencia\": \"\",\n    \"deb_conta\": \"\",\n    \"alerta\": \"\",\n    \"endereco_cob\": \"\",\n    \"numero_cob\": \"\",\n    \"bairro_cob\": \"\",\n    \"cidade_cob\": \"0\",\n    \"uf_cob\": \"0\",\n    \"cep_cob\": \"\",\n    \"referencia_cob\": \"\",\n    \"complemento_cob\": \"\",\n    \"profissao\": \"\",\n    \"id_operadora_celular\": \"0\",\n    \"participa_pre_cobranca\": \"\",\n    \"cob_envia_email\": \"\",\n    \"cob_envia_sms\": \"\",\n    \"contribuinte_icms\": \"N\",\n    \"Sexo\": \"\",\n    \"nome_pai\": \"\",\n    \"nome_mae\": \"\",\n    \"quantidade_dependentes\": \"0\",\n    \"nome_conjuge\": \"\",\n    \"fone_conjuge\": \"\",\n    \"cpf_conjuge\": \"\",\n    \"rg_conjuge\": \"\",\n    \"data_nascimento_conjuge\": \"\",\n    \"moradia\": \"\",\n    \"nome_contador\": \"\",\n    \"telefone_contador\": \"\",\n    \"ref_com_empresa1\": \"\",\n    \"ref_com_empresa2\": \"\",\n    \"ref_com_fone1\": \"\",\n    \"ref_com_fone2\": \"\",\n    \"ref_pes_nome1\": \"\",\n    \"ref_pes_nome2\": \"\",\n    \"ref_pes_fone1\": \"\",\n    \"ref_pes_fone2\": \"\",\n    \"emp_empresa\": \"\",\n    \"emp_cnpj\": \"\",\n    \"emp_cep\": \"\",\n    \"emp_endereco\": \"\",\n    \"emp_cidade\": \"0\",\n    \"emp_fone\": \"\",\n    \"emp_cargo\": \"\",\n    \"emp_remuneracao\": \"0.00\",\n    \"emp_data_admissao\": \"\",\n    \"website\": \"\",\n    \"orgao_publico\": \"\",\n    \"pipe_id_organizacao\": \"0\",\n    \"im\": \"\",\n    \"cif\": \"\",\n    \"tipo_cliente_scm\": \"\",\n    \"pis_retem\": \"N\",\n    \"cofins_retem\": \"N\",\n    \"csll_retem\": \"N\",\n    \"irrf_retem\": \"N\",\n    \"nascimento_mae\": \"\",\n    \"nascimento_pai\": \"\",\n    \"identidade_mae\": \"\",\n    \"identidade_pai\": \"\",\n    \"cpf_mae\": \"\",\n    \"cpf_pai\": \"\",\n    \"inscricao_municipal\": \"\",\n    \"nome_representante_1\": \"\",\n    \"nome_representante_2\": \"\",\n    \"cpf_representante_1\": \"\",\n    \"cpf_representante_2\": \"\",\n    \"identidade_representante_1\": \"\",\n    \"identidade_representante_2\": \"\",\n    \"codigo_operacao\": \"0\",\n    \"convert_cliente_forn\": \"\",\n    \"tipo_pessoa_titular_conta\": \"\",\n    \"cnpj_cpf_titular_conta\": \"\",\n    \"crm_data_perdemos\": \"\",\n    \"crm_data_sem_viabilidade\": \"\",\n    \"crm_data_sem_porta_disponivel\": \"\",\n    \"crm_data_abortamos\": \"\",\n    \"crm_data_negociando\": \"\",\n    \"crm_data_apresentando\": \"\",\n    \"crm_data_sondagem\": \"\",\n    \"crm_data_novo\": \"\",\n    \"atualizar_cadastro_galaxPay\": \"\",\n    \"foto_cartao\": \"\",\n    \"cli_desconta_iss_retido_total\": \"N\",\n    \"cidade_naturalidade\": \"0\",\n    \"cadastrado_via_viabilidade\": \"\",\n    \"tipo_localidade\": \"U\",\n    \"facebook\": \"\",\n    \"id_campanha\": \"0\",\n    \"desconto_irrf_valor_inferior\": \"\",\n    \"filtra_filial\": \"\"\n}\n\n ```\n\nCada rota de alteração PUT terá um ID diferente, como no caso acima, onde o ID do cliente é 5. No exemplo fornecido, todos os campos do cliente são apresentados, e é possível alterar qualquer um deles, mas é crucial seguir o padrão aplicado na interface.\n\n## 🔴 DELETE (deletar)\n\nPara excluir um registro via API, o processo é relativamente simples, mas é importante considerar que podem existir dependências em algumas rotas. Nestes casos, é necessário excluir quaisquer dependências antes de realizar a exclusão do registro desejado.\n\nNo exemplo abaixo, vamos excluir o cliente com o ID 5. No endpoint da API do IXCProvedor, isso é feito da seguinte maneira:\n\n``` powershell\ncurl --location --request DELETE 'https://host/webservice/v1/cliente/5' \\\n--header 'Authorization: Basic MTo5YWExZGZjYTVkNmE1ODc0N2Y2Y2U4MjA3NzdhNGZmZTdmNDI1ZTQwNTYxNDZmZTVhNTA2YTE5OWMzNjNiZmVi'\n\n ```\n\nNeste caso, não é necessário especificar corpo (body) nem cabeçalho (header) na requisição, pois se trata de uma operação simples de exclusão.\n\n# 📐 Consultas Avançadas (Grid Param)\n\n### Benefícios da Utilização do Grid Param\n\n1. **Flexibilidade**: Permite combinar diferentes filtros em uma única consulta, aumentando a precisão dos resultados.\n    \n2. **Eficiência**: Reduz o número de chamadas à API, pois múltiplos filtros podem ser aplicados em uma única requisição.\n    \n3. **Escalabilidade**: Facilita o manejo de grandes volumes de dados, permitindo consultas complexas sem sobrecarregar o sistema.\n    \n\nAo adotar o `grid_param`, pode-se otimizar suas consultas e extrair informações de maneira mais eficaz, atendendo melhor às necessidades de análise de dados.\n\nA API do IXC não oferece suporte para consultas utilizando o operador `OR`, o que pode limitar as possibilidades de filtragem. No entanto, é possível realizar consultas mais eficientes utilizando o `grid_param`. A seguir, apresento exemplos de como realizar uma consulta tanto sem quanto com o uso do `grid_param`.\n\n**Abaixo um exemplo utilizando a consulta sem o** `grid_param`\n\nPara realizar uma consulta simples sem o `grid_param`, a estrutura do JSON seria a seguinte:\n\n``` json\n{\n   \"qtype\": \"cliente.cnpj_cpf\",\n   \"query\": \"627.105.245-20\",\n   \"oper\": \"=\"\n}\n\n ```\n\nNeste exemplo, estamos consultando o endpoint `cliente` para buscar o CPF/CNPJ específico.\n\n**Abaixo utilizando a mesma consulta, com o** `grid_param`\n\nUtilizando o `grid_param`, a mesma consulta pode ser estruturada da seguinte maneira:\n\n``` json\n{\n    \"grid_param\":\"[{\\\"TB\\\":\\\"cliente.cnpj_cpf\\\", \\\"OP\\\" : \\\"=\\\", \\\"P\\\" : \\\"627.105.245-20\\\"}]\"\n}\n\n ```\n\nAo usar o `grid_param`, os campos têm as seguintes definições:\n\n- **qtype ou TB**:\n    \n\nEste campo é utilizado para especificar qual filtro será aplicado. No exemplo dado, `cliente.cnpj_cpf` indica que estamos buscando no endpoint `cliente` especificamente no campo de CPF/CNPJ.\n\n- **oper ou OP**:\n    \n\nRepresenta o operador utilizado na requisição API. A API suporta vários operadores; no exemplo, o operador utilizado é `=`, que significa \"igual\".\n\n| **Operadores** | **Significado** |\n| --- | --- |\n| \\= | Igual á |\n| != | Diferente de |\n| \\> | Maior que |\n| < | Menor que |\n| \\>= | Maior ou igual a |\n| <= | Menor ou igual a |\n| L | Contém |\n| NL | Não contém |\n| IN | Contido |\n| NI | Não está contido |\n| BE | Entre |\n| NBE | Não está entre |\n\n- **query ou P**:\n    \n\nEste campo representa o valor que estamos tentando localizar no campo definido em `qtype`. No exemplo, o valor a ser encontrado é o CPF `627.105.245-20`.\n\n---\n\nO uso do `grid_param` mantém a mesma lógica de filtragem que a consulta tradicional, mas oferece maior flexibilidade e organização, especialmente em cenários onde múltiplos filtros precisam ser aplicados de forma estruturada.\n\nEmbora a API do IXC não suporte operadores `OR`, a estrutura do `grid_param` ainda permite realizar consultas de maneira eficaz, atendendo às necessidades de filtragem e consulta de dados.\n\n# ❌ Erros retornados da API\n\n## 400 - Bad request\n\n- Um erro no SSL do Servidor, valide o certificado SSL do servidor;\n    \n- Outra causa do erro, é utilizar um método de autenticação diferente do **Basic Auth**, por exemplo \"~~Bearer Auth~~\", utilize por padrão o **Basic Auth**.\n    \n- Caso não resolver, abra um atendimento com o setor de **SUP - Instalação e Manutenção de Servidores**;\n    \n\n## 401 - Authorization Requested\n\nNormalmente esse erro é causado por falha na autenticação do acesso a api. A seguir as causas e soluções do erro:\n\n- **Token Inválido**\n    \n    - Verifique se o token webservice está correto, se não foi alterado;\n        \n    - Verifique se o e-mail cadastrado estão com caracteres especiais (ç, ã, á);\n        \n- **Usuário Inativo**\n    \n    - Verifique se o usuário do Token está ativo;\n        \n- **URL incorreto**\n    \n    - Verifique se a URL, é correta, se o domínio está correto;\n        \n- **Endpoint secured**\n    \n    - Nesses casos, entre em contato com o **SUP - API**, para validar essa informação.\n        \n- **Verifique se houve uma migração de servidor.**\n    \n    - Nesses casos, somente recriando o token de acesso, resolve o problema.\n        \n- **Falha de versão**\n    \n    - Se fizeste, todas as soluções possíveis acima e mesmo assim retornou o problema, pode ser uma falha, entre em contato com o **SUP - API**.\n        \n\n## 403 - Forbidden Error\n\nNormalmente esse erro é causado, caso tenha sido feito uma migração de servidor, e o token gerado ficou gravado no servidor desligado (anterior) e o novo servidor não está reconhecendo o token de acesso webservice antigo. A solução é:\n\n**Recrie o token de acesso novamente**\n\n- Desmarque a caixa de Permite acesso webservice, salve, e em seguida marque novamente e depois salve.\n    \n- Altere alguma informação, no login ou na senha, e o token será alterado.\n    \n\n## 404 - Not found\n\nEm requisições do método **GET**, exigem o `--header 'ixcsoft: listar'`, caso não tenha, ocorrerá esse erro.\n\n## 500 - Ocorreu um erro ao processar\n\nSe trata de um erro genérico, não há uma causa apenas, que pode fazer com que aconteça esse erro, são várias opçoes, mas os mais comuns são:\n\n**Endpoint incorreto**\n\n- Pode ocorrer de o nome da tabela ser diferente, do que está no banco de dados, como em crm_canditados/cliente;\n    \n\n**Campo na consulta GET (tabela.campo)**\n\n- Pode ocorrer também, caso não esteja passando a tabela, no qtype ou sortname, e esteja ou ausente o nome da tabela, ou incorreto.\n    \n\n**Falha**\n\n- Outra possibilidade, pode ser por causa de uma falha em uma rota específica, entre em contato com o **SUP - API**, relatando o ocorrido.\n    \n\n## 504 - Timed out\n\n``` json\n<div class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; class=&#x27;preserveHtml&#x27; style=\"margin:40px; padding:30px; background:#FF0000; border:1px solid #000; color:#FFF; font-weight:bold; font-family:Arial, Helvetica, sans-serif; font-size:12px; text-align:center\">Ocorreu um erro ao processar. Contate o suporte IXC Soft.</div>\n\n ```\n\nNormalmente acontece por limitação de requisição feita por parte do servidor, que recebe as requisições, também pode ser ocasionado por alta demanda de dados da requisição, gerando lentidão e sobrecarregando o servidor.\n\nVerifiquei internamente com o TI da sua pŕopria empresa, como esta o estado atual do servidor, ou entre em contato com o **SUP - Instalação e Mautenção de servidores**\n\n## Erro de Permissão\n\nNormalmente esse erro é causado por **você não ter permissão** no sistema, de realizar alguma listagem, inserção, edição ou exclusão.\n\n**Orientação**\n\n- Deves liberar ou solicitar a liberação ao ADM, que tem acesso as permissões do sistema, daquela funcionalidade, que retorna no erro.\n    \n- Ou entre em contato como o **SUP - API**.\n    \n\n## Recurso não está disponível!\n\n``` json\n{\"type\":\"error\",\"message\":\"Recurso rad n\\u00e3o est\\u00e1 dispon\\u00edvel!\"}\n\n ```\n\nEsse erro pode ser causado por vários fatores, dentre eles:\n\n- **URL incorreta**\n    \n\nÉ possível, que o endpoint mencionado, na url esteja com um espaço, erro semântico, e palavra errada;\n\n- **Endpoint incorreto ou diferente no banco**\n    \n\nPode ocorrer de a rota na interface, ter um nome diferente do banco de dados, verificar em auditoria, o nome real da tabela;\n\n- **Endpoint não liberado**\n    \n\nCaso não resolver as opções acima, entre em contato com o SUP - API, para a liberação de rota desse endpoint;\n\n\\*_Teste para verificar se o endpoint está disponível:__\\*_\n\n``` powershell\ncurl --location 'https://demo.ixcsoft.com.br/webservice/v1/endpoint' \\\n--header 'ixcsoft: listar' \\\n--header 'Authorization: Basic MTA1OjM2ZjJlOGQ0YzkxMjNhNjc1ODVhNTEwMzQ4N2YyMmYyNDQxNmRhNGM3YzljNTlkNDZkMTEyMTVlNGQ0NWFiMDY=' \\\n--header 'Cookie: Path=/; IXC_Session=kaug4ab86i1gglrpte1bm8lrf1'\n\n ```\n\n## Seu IP não está liberado, para efetuar o login!\n\n``` json\n{\"type\":\"error\",\"message\":\"Seu IP n\\u00e3o est\\u00e1 liberado para efetuar login!\"}\n\n ```\n\nEsse erro é causado, caso, seu ip, não esteja liberado no IXC Provedor, para resolver, informe o IP ao ADM, para que seja preenchido no campo Redes Permitidas.\n\nPara liberar acesse:\n\n- Menu Configurações\n    \n- Usuários\n    \n- Grupo de usuários\n    \n- Campo Redes Permitidas\n    \n- Se tiver um ip, coloque separado por ; (ponto e vírgula) esse ip.\n    \n\n| **Exemplo** |\n| --- |\n| 192.192.192.192/1;193.193.193.193/2 |\n\n## Connection refused\n\nO erro \"Conexão recusada\" ao acessar o IXC Provedor geralmente ocorre quando o banco de dados do IXC não está operacional. Isso pode ser devido a problemas como quantidade insuficiente de memória RAM, falta de espaço em disco ou problemas na integridade do disco. Para resolver este problema, você deve:\n\n1\\. Verificar a quantidade de memória RAM disponível no servidor.  \n2\\. Confirmar se há espaço suficiente em disco.  \n3\\. Avaliar a integridade do disco para identificar possíveis falhas.\n\nSe o problema persistir, entre em contato com o setor de \"SUP - Instalação e Manutenção de Servidor - IXC Provedor\" para suporte adicional.\n\n## Erro de host/URL\n\n``` powershell\ncurl: (3) URL using bad/illegal format or missing URL\ngetaddrinfo ENOTFOUND\n\n ```\n\nEsse erro é devido há alguns fatores possíveis:\n\n- A URL está incorreta\n    \n- A URL não existe\n    \n- A URL: não está disponível.\n    \n- Pode ser, que o domínio utilizado tenha sido trocado, alterado ou excluído.\n    \n\n## Max retries exceeded with url\n\nPossíveis causas e soluções a ser verificado:\n\n**Problemas de Conectividade de Rede:**\n\n- Causa: Pode ser causado por uma conexão de rede instável ou perda de conectividade.\n    \n- Solução: Verifique sua conexão de rede e tente novamente.\n    \n\n**Limitações de Requisições:**\n\n- Causa: O servidor pode estar limitando o número de requisições de um cliente específico.\n    \n- Solução: Verifique a documentação do servidor ou API para entender as limitações de taxa e tente reduzir a frequência das requisições.\n    \n\n**Timeouts:**\n\n- Causa: O servidor pode estar demorando muito para responder, causando timeouts.\n    \n- Solução: Aumente o tempo de espera (timeout) no cliente antes de ele desistir da tentativa.\n    \n\n**Problemas no Servidor:**\n\n- Causa: O servidor pode estar enfrentando problemas e não conseguindo processar as requisições.\n    \n- Solução: Verifique o status do servidor ou entre em contato com o suporte técnico.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"40255984","collectionId":"b567782c-56d4-439e-8cf5-929395b80581","publishedId":"2sAYBbe9Ma","public":true,"publicUrl":"https://docs.doc-api-provedor.com","privateUrl":"https://go.postman.co/documentation/40255984-b567782c-56d4-439e-8cf5-929395b80581","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00b0bd"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"00b0bd"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00b0bd"}}]}},"version":"8.10.1","publishDate":"2026-02-13T18:06:34.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/68a0fdaded8a4ea3fcbf46feb235d467b23c9c77d3b1f593a42ad1f2971e527b","favicon":"https://doc-api-provedor.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.doc-api-provedor.com/view/metadata/2sAYBbe9Ma"}