Introdução
Este manual tem por objetivo definir as especificações técnicas necessárias para a integração entre os sistemas de informações de terceiros e o os Web Services do RBXSoft ISP. No contexto deste manual, os Web Services estão disponíveis no servidor do cliente que possui o RBXSoft ISP instalado. A disponibilidade dos serviços na nuvem estará condicionada às tratativas de firewall do próprio servidor.
Os Web Services descritos neste manual foram desenvolvidos no padrão REST + JSON e o método utilizado para todos os serviços deve ser o POST.
O nome do serviço é definido no corpo da mensagem.
Estes Web Services requerem que o RBXSoft ISP esteja rodando em um servidor seguro (com SSL), por motivos de segurança.
A codificação dos caracteres do JSON será sempre UTF-8.
A seguir, serão listados os Web Services disponíveis a partir da versão 7.0.001 do sistema.
Configuração
A configuração dos Web Services deverá ser feita através da interface web do RBXSoft ISP, no menu Empresa > Parâmetros > Web Services.
Poderão ser geradas várias instâncias de Web Services. Para isso, cada uma delas será identificada através de uma chave de acesso exclusiva. Cada chave de acesso terá permissão de executar determinados serviços, conforme configurado na interface web e determinará o tipo de ambiente no qual as operações estão sendo realizadas – de homologação ou produção.
Tipos de ambiente
Existem dois tipos de ambiente disponíveis: Homologação e Produção.
O ambiente de homologação deve ser utilizado para a realização de testes de integração dos sistemas de terceiros com os Web Services. Neste ambiente, todas as validações são realizadas de forma real, mas os cadastros não são persistidos. O serviço retornará dados fictícios apenas para validação.
O ambiente de produção é destinado para a realização de cadastros reais no RBXSoft ISP.
Serviços v2.0
Para os serviços desta versão (v2.0), a chave de integração deverá ser enviada no cabeçalho da requisição, em um campo chamado authentication_key.
Atendimentos
Alteração de agendamento no atendimento
O objetivo deste serviço é realizar a alteração de agendamento no atendimento.
Request Example:
{
"ticket_appointment_update": {
"ticket_id": 660,
"appointment_date": "2024-09-01",
"appointment_time": "08:00",
"duration": "01:30"
}
}
Response Example:
{
"status": true,
"error_code": "",
"error_description": "",
"result": "Agendamento alterado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 15,
"error_description": "Erro ao buscar informações do atendimento",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_appointment_update | Sim | Raiz | - | Dados do agendamento. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | appointment_date | Sim | A01 | Data | Data do agendamento no padrão AAAA-MM-DD. |
A04 | appointment_time | Sim | A01 | Hora | Hora do agendamento no padrão HH:MM. |
A05 | duration | Sim | A01 | Hora | Duração do agendamento no padrão HH:MM. |
Alteração de atendimentos
O objetivo deste serviço é realizar a alteração de atendimentos em aberto.
Request Example:
{
"ticket_update":
{
"ticket_id": 2381544,
"priority": 10,
"status": "on_hold"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Atendimento atualizado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 13,
"error_description": "Não é permitido alterar um atendimento encerrado!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_update | Sim | Raiz | - | Dados do atendimento. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | priority | Não | A01 | Número | Prioridade do atendimento (0 a 99). |
A04 | status | Não | A01 | Texto | Situação do atendimento. Valores permitidos: |
Alteração de checklist de atendimentos
O objetivo deste serviço é alterar os checklists dos atendimentos.
Request Example:
{
"ticket_checklist_update": {
"ticket_id": 101010,
"checklist_id": 2023,
"checklist_set": "D",
"user": "usuario"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Alteração Realizada"
}
Error Example:
{
"status": 0,
"error_code": 1,
"error_description": "O campo ticket_id é obrigatório",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_checklist_update | Sim | Raiz | - | Dados do atendimento. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | checklist_id | Sim | A01 | Número | Número do checklist do atendimento. |
A04 | checklist_set | Sim | A01 | Texto | Ação que será realizada no checklist. Valores permitidos: |
A05 | user | Não | A01 | Texto | Usuário responsável pela alteração. |
Alteração de situação da OS
O objetivo deste serviço é realizar a alteração da situação da ordem de serviço do atendimento.
Request Example:
{
"ticket_os_status_update": {
"ticket_id": "2381265",
"new_status": "running",
"coordinates": {
"latitude": -23.49147466131137,
"longitude": -51.78737744243203
},
"user": "usuario"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "OS status changed successfully"
}
Error Example:
{
"status": 0,
"error_code": 15,
"error_description": "OS status is invalid. Allowed statuses: on_the_way|aborted|completed",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_os_status_update | Sim | Raiz | - | Dados da ordem de serviço. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | new_status | Sim | A01 | Texto | Nova situação da OS. Valores permitidos: |
A04 | coordinates | Não* | A01 | - | Grupo de informações das coordenadas do usuário. Este campo será obrigatório se o parâmetro de distância mínima para executar a OS estiver configurado e a nova situação da OS for igual a running. |
B01 | latitude | Sim | A04 | Decimal(16.13) | Latitude. Aceita valores nas seguintes faixas: Só pode ser informada em conjunto com o campo longitude. |
B02 | longitude | Sim | A04 | Decimal(16.13) | Longitude. Aceita valores nas seguintes faixas: Só pode ser informada em conjunto com o campo latitude. |
A05 | user | Não | A01 | Texto | Usuário responsável pela alteração da situação da OS. Quando este campo não for informado, o registro da alteração da situação será realizado com o usuário configurado no cadastro do Web Service. |
Consulta horários disponíveis para agendamento
O objetivo deste serviço é retornar os horários disponíveis para agendamento.
Request Example:
{
"consult_appointments": {
"user": "usuario",
"appointment_date": "2024-08-30"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"start_time": "2024-08-30 00:00:00",
"end_time": "2024-08-30 23:59:00"
}
]
}
Error Example:
{
"status": 0,
"error_code": 8,
"error_description": "O usuário informado não foi encontrado!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | consult_appointments | Sim | Raiz | - | Dados do consulta. |
A02 | user | Sim | A01 | Texto | Usuário da consulta. |
A03 | appointment_date | Sim | A01 | Data | Data da consulta no padrão AAAA-MM-DD. |
Consulta modos de atendimento
O objetivo deste serviço é retornar todos os modos de atendimento (abertura e designação) cadastrados no sistema.
Request Example:
{
"get_tickets_mode": {}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": [
{
"code": "T",
"description": "Telefone"
},
{
"code": "V",
"description": "Visita"
},
{
"code": "E",
"description": "Eletrônico"
},
{
"code": "M",
"description": "E-mail"
},
{
"code": "C",
"description": "Chat"
},
{
"code": "F",
"description": "Facebook"
},
{
"code": "W",
"description": "WhatsApp"
},
{
"code": "S",
"description": "Skype"
},
{
"code": "G",
"description": "Telegram"
},
{
"code": "I",
"description": "Twitter"
}
]
}
Error Example
{
"status": 0,
"error_code": 12,
"error_description": "Internal Server Error!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_tickets_mode | Sim | Raiz | - | Modos de atendimentos. |
Designação de atendimento
O objetivo deste serviço é designar um atendimento para um usuário ou grupo.
Request Example:
{
"ticket_assign": {
"ticket_id": 2381852,
"mode_assign": "E",
"target_type": "user",
"target_id": "usuario"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "ticket assigned successfully"
}
Error Example:
{
"status": 0,
"error_code": 14,
"error_description": "The target_id is invalid!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_assign | Sim | Raiz | - | Dados da designação. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | mode_assign | Sim | A01 | Texto | Modo designação, consultar o serviço get_tickets_mode para obter os modos para designação. |
A04 | target_type | Sim | A01 | Texto | Campo que conterá o tipo de designação do atendimento, se para um usuário ou para um grupo de usuário. Valores permitidos: |
A05 | target_id | Sim | A01 | Texto | Campo que conterá o usuário ou id do grupo de usuários (conforme definido no campo anterior) para o qual o atendimento será designado. |
Encerramento de atendimento
O objetivo deste serviço é realizar o encerramento de um atendimento que esteja aberto.
Request Example:
{
"ticket_finish": {
"ticket_id": 2381852,
"cause_id": 65874,
"solution": "Solução do atendimento.",
"datetime": "2023-04-01 12:00:00",
"user": "usuario"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"messages": [
{
"message": "Ticket closed!"
}
],
"new_tickets": [
{
"ticket_id": "2381855"
}
]
}
}
Error Example:
{
"status": 0,
"error_code": 7,
"error_description": "The user informed does not exist!",
"result": {
"messages": [],
"new_tickets": []
}
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_finish | Sim | Raiz | - | Dados do encerramento. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | cause_id | Sim | A01 | Número | Código da causa. |
A04 | solution | Sim | A01 | Texto | Texto para complementar a solução do atendimento. |
A05 | datetime | Não | A01 | Data/Hora | Data e hora do encerramento no padrão AAAA-MM-DD HH:MM:SS. Quando não informado, assume a data e hora da execução do serviço. |
A06 | user | Sim | A01 | Texto | Usuário de encerramento do atendimento. Deve ser um usuário existente. |
Geração de link para pesquisa de satisfação
O objetivo deste serviço é gerar um link para a pesquisa de satisfação.
Request Example:
{
"generate_questionare_link": {
"ticket": 1
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"Description": "Pesquisa automática",
"generate_questionare_link": "https://meurbx.com/app_search_email/app_search_email.php?Key=FV2FVNYH52DFNJXVCTBC"
}
]
}
Error Example:
{
"status": 0,
"error_code": 11,
"error_description": "O atendimento não possui pesquisas!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | generate_questionare_link | Sim | Raiz | - | Dados do atendimento. |
A02 | ticket | Sim | A01 | Número | Número do atendimento. |
Inclusão de agendamento avulso
O objetivo deste serviço é realizar a inclusão de um agendamento avulso.
Request Example:
{
"appointment_insert": {
"description": "Agendamento Avulso",
"appointment_date": "2024-09-01",
"appointment_time": "08:00",
"duration": "01:00",
"user": "usuario",
"recurrence": "no",
"reminder": "none",
"status": "to_confirm"
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Agendamento avulso realizado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 16,
"error_description": "O usuário informado não foi encontrado!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | appointment_insert | Sim | Raiz | - | Dados do agendamento. |
A02 | description | Sim | A01 | Texto | Descrição do agendamento. |
A03 | customer_id | Não | A01 | Número | Código do cliente vinculado ao agendamento (Pré-agendamento). |
A04 | appointment_date | Sim | A01 | Data | Data do agendamento no padrão AAAA-MM-DD. |
A05 | appointment_time | Sim | A01 | Hora | Hora do agendamento no padrão HH:MM. |
A06 | duration | Não | A01 | Hora | Duração do agendamento no padrão HH:MM. |
A07 | user | Sim | A01 | Texto | Usuário responsável pelo agendamento. |
A08 | recurrence | Sim | A01 | Texto | Recorrência do agendamento. Valores permitidos: |
A09 | period | Sim* | A01 | Texto | Período da recorrência do agendamento. Valores permitidos: Este campo é obrigatório quando for informado o valor yes no campo recurrence. |
A10 | event_color | Não | A01 | Texto | Cor do evento (Código Hexadecimal). |
A11 | reminder | Sim | A01 | Texto | Lembrete do agendamento. Valores permitidos: |
A12 | local | Não | A01 | Texto | Local do agendamento. |
A13 | status | Não | A01 | Texto | Situação do agendamento. Valores permitidos: |
A14 | comments | Não | A01 | Texto | Observações do agendamento. |
Inclusão de agendamento no atendimento
O objetivo deste serviço é realizar a inclusão de agendamento no atendimento.
Request Example:
{
"ticket_appointment_insert": {
"ticket_id": 2382219,
"appointment_date": "2023-07-25",
"appointment_time": "08:00",
"duration": "01:30"
}
}
Response Example:
{
"status": true,
"error_code": "",
"error_description": "",
"result": "Agendamento realizado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 18,
"error_description": "Este atendimento já possui um agendamento informado!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_appointment_insert | Sim | Raiz | - | Dados do agendamento. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | appointment_date | Sim | A01 | Data | Data do agendamento no padrão AAAA-MM-DD. |
A04 | appointment_time | Sim | A01 | Hora | Hora do agendamento no padrão HH:MM. |
A05 | duration | Sim | A01 | Hora | Duração do agendamento no padrão HH:MM. |
Inclusão de item em atendimento
O objetivo deste serviço é realizar a inclusão de itens em atendimentos (produtos ou serviços, nas operações de venda, consumo e comodato).
Request Example:
{
"ticket_item_insert": {
"ticket_id": 5248,
"customer_id": 125,
"type": "product",
"operation": "sale",
"contract_id": 1658,
"item_id": 1588,
"serial_number": "A6587548",
"location_id": 1,
"quantity": 1,
"discount_amount": 0,
"installments_quantity": 2,
"installments_detail": [
{
"description": "Parcela 1",
"amount": 10.5,
"reference_period": "2023-04-01"
},
{
"description": "Parcela 2",
"amount": 10.5,
"reference_period": "2023-05-01"
}
],
"dealer_id": 15
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"item_id": 65487
}
}
Error Example:
{
"status": 0,
"error_code": 6,
"error_description": "The field ticket_id is invalid (not found)",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_item_insert | Sim | Raiz | - | Dados do item. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. Aceita valores inteiros positivos e maiores que zero. |
A03 | customer_id | Sim | A01 | Número | Código do cliente. Aceita valores inteiros positivos e maiores que zero. |
A04 | type | Sim | A01 | Texto | Tipo de item. Valores aceitos: |
A05 | operation | Sim | A01 | Texto | Tipo de operação. Valores aceitos: Para itens de serviço, apenas a operação sale pode ser utilizada. |
A06 | contract_id | Sim* | A01 | Número | Número do contrato do cliente. Aceita valores inteiros positivos e maiores que zero. Este campo é opcional apenas na operação consumption. |
A07 | item_id | Sim | A01 | Número | Código do item (produto ou serviço). Aceita valores inteiros positivos e maiores que zero. |
A08 | serial_number | Não* | A01 | Texto | Número serial do produto. Este campo só deve ser informado para itens de estoque controlados por serial. Para os demais casos ele não deve ser informado. |
A09 | location_id | Não* | A01 | Número | Código da locação. Aceita valores inteiros positivos e maiores que zero. Este campo deve ser informado para itens de estoque não controlados por serial. Ele indica a locação de onde o item será movimentado. |
A10 | quantity | Sim | A01 | Decimal(15.2) | Quantidade do item. Aceita valores numéricos (com 2 decimais) positivos e maiores que zero. Para itens de estoque controlados por serial, é obrigatório ser informado com valor igual a um (1). |
A11 | discount_amount | Não | A01 | Decimal(15.2) | Valor do desconto. Aceita valores numéricos (com 2 decimais) positivos e maiores que zero. Só pode ser informado para operações do tipo sale. O valor do desconto deve ser menor ou igual ao valor da quantidade - informada no campo quantity - multiplicado pelo preço de venda do produto. |
A12 | installments_quantity | Não* | A01 | Número | Quantidade de parcelas do item. Aceita valores inteiros positivos e maiores que zero. Este campo deve ser informado nas operações do tipo sale. |
A13 | installments_detail | Não* | A01 | - | Grupo de informações das parcelas. Este campo é obrigatório quando for informado um valor maior do que um (1) no campo installments_quantity. A soma dos campos amount deve sempre ser igual ao valor do total do item. A quantidade de objetos deve sempre ser igual ao valor do campo installments_quantity. |
B01 | description | Sim | A13 | Texto | Descrição da parcela do item. Tamanho máximo: 50 |
B02 | amount | Sim | A13 | Decimal(15.2) | Valor da parcela do item. Aceita valores numéricos (com 2 decimais) positivos e maiores que zero. |
B03 | reference_period | Sim | A13 | Data | Período de referência parcela do item. Formato: AAAA-MM-DD Independente do valor passado em DD (dia), sempre será salvo "01". Não é permitido um mesmo período de referência em mais de uma parcela. |
A14 | dealer_id | Não | A01 | Número | Código do terceiro. Aceita valores inteiros positivos e maiores que zero. |
Inclusão de mensagens no atendimento
O objetivo deste serviço é realizar a inclusão de mensagens no atendimento (Chat).
Request Example:
{
"chat_messages": [
{
"record": "2024-02-01 14:00:00",
"customer": "1",
"ticket_id": "1",
"attendant": "joao.silva",
"origin": "C",
"content": "Boa tarde, gostaria de tirar algumas dúvidas.",
"contact": "2"
},
{
"record": "2024-02-01 14:00:10",
"customer": "1",
"ticket_id": "1",
"attendant": "joao.silva",
"origin": "A",
"content": "Boa tarde. Como posso lhe ajudar?",
"contact": "2"
}
]
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Messages added successfully!"
}
Error Example:
{
"status": 0,
"error_code": 16,
"error_description": "ticket_id not found.",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | chat_messages | Sim | Raiz | - | Dados do atendimento. |
A02 | record | Sim | A01 | Data/Hora | Data e hora da mensagem. |
A03 | customer | Sim | A01 | Número | Código do cliente. |
A04 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A05 | attendant | Sim | A01 | Texto | Atendente responsável pelo atendimento. |
A06 | content | Sim | A01 | Texto | Contéudo da mensagem. |
A07 | origin | Sim | A01 | Texto | Origem da mensagem. Valores permitidos: |
A08 | contact | Não | A01 | Número | Código do contato. |
Inclusão de ocorrência em atendimento
O objetivo deste serviço é realizar a inclusão de ocorrências em atendimentos.
Request Example:
{
"ticket_occurrence_insert": {
"ticket_id": 5248,
"protocol_id": 2020100000005248,
"user": "usuario",
"description": "Ocorrência Avulsa.",
"latitude": -23.491506,
"longitude": -51.7872292
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"occurrence_id": 35211
}
}
Error Example:
{
"status": 0,
"error_code": 18,
"error_description": "User not found!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ticket_occurrence_insert | Sim | Raiz | - | Dados da ocorrência. |
A02 | ticket_id | Sim | A01 | Número | Número do atendimento. |
A03 | protocol_id | Não | A01 | Número | Número do protocolo do atendimento. Este campo deverá ser informado quando a ocorrência estiver vinculada ao fluxo do atendimento. |
A04 | user | Não | A01 | Texto | Usuário da ocorrência. Deve ser um usuário cadastrado no sistema. Quando não informado, assumirá o valor do usuário do Web Service. |
A05 | description | Sim | A01 | Texto | Descrição da ocorrência do atendimento. Aceita tags HTML. |
A06 | latitude | Não | A01 | Decimal(16.13) | Latitude para registro da ocorrência. Aceita valores nas seguintes faixas: Só pode ser informada em conjunto com o campo longitude. |
A07 | longitude | Não | A01 | Decimal(16.13) | Longitude para registro da ocorrência. Aceita valores nas seguintes faixas: Só pode ser informada em conjunto com o campo latitude. |
Autenticações
Alteração de autenticação
O objetivo deste serviço é alterar a autenticação.
Request Example:
{
"authentication_update": {
"id": 1665,
"password": "s6c5e87s8s5s"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Authentication updated successfully!"
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "The field status is invalid!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | authentication_update | Sim | Raiz | - | Dados da autenticação. |
A02 | id | Sim | A01 | Número | Código interno da autenticação no sistema (ID). |
A03 | contract_id | Não | A01 | Número | Número do contrato. |
A04 | nas | Não | A01 | Texto | IP interno do NAS (para NAS cadastrado no sistema) ou um dos valores abaixo para NAS virtuais: |
A05 | port | Não | A01 | Texto | Porta do NAS informado no campo anterior. Portas virtuais: |
A06 | password | Não | A01 | Texto | Senha da autenticação. |
A07 | mac | Não | A01 | Texto | MAC válido, no formato ##:##:##:##:##:## |
A08 | allow_access_subscriber_center | Não | A01 | Booleano | Define se esta autenticação terá acesso à Central do Assinante: |
A09 | allow_update_password | Não | A01 | Booleano | Define se esta autenticação poderá ter sua senha alterada através da Central do Assinante: |
A10 | force_password_update | Não | A01 | Booleano | Define se a senha deverá ser alterada no primeiro acesso do usuário através da Central do Assinante: |
A11 | profile_id | Não | A01 | Número | Código de um dos perfis de acesso à central do assinante. |
A12 | comments | Não | A01 | Texto | Texto livre. |
A13 | status | Não | A01 | Texto | Situação da autenticação. Valores permitidos: |
Cadastro de autenticação
O objetivo deste serviço é criar uma nova autenticação.
Request Example:
{
"authentication_insert": {
"customer_id": 22563,
"contract_id": 65874,
"nas": "-2",
"port": "-1",
"user": "joaozinho",
"password": "s6c5e87s8s5s",
"mac": "",
"allow_access_subscriber_center": true,
"allow_update_password": false,
"force_password_update": false,
"profile_id": 0,
"comments": "Texto livre",
"status": "A"
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": {
"id": 1286
}
}
Error Example:
{
"status": 0,
"error_code": 19,
"error_description": "User already registered in a customer!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | authentication_insert | Sim | Raiz | - | Dados da autenticação. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
A04 | nas | Sim | A01 | Texto | IP interno do NAS (para NAS cadastrado no sistema) ou um dos valores abaixo para NAS virtuais: |
A05 | port | Sim | A01 | Texto | Porta do NAS informado no campo anterior. Portas virtuais: |
A06 | user | Sim | A01 | Texto | Usuário da autenticação. |
A07 | password | Não | A01 | Texto | Senha da autenticação. |
A08 | mac | Não | A01 | Texto | MAC válido, no formato ##:##:##:##:##:## |
A09 | allow_access_subscriber_center | Sim | A01 | Booleano | Define se esta autenticação terá acesso à Central do Assinante: |
A10 | allow_update_password | Sim | A01 | Booleano | Define se esta autenticação poderá ter sua senha alterada através da Central do Assinante: |
A11 | force_password_update | Sim | A01 | Booleano | Define se a senha deverá ser alterada no primeiro acesso do usuário através da Central do Assinante: |
A12 | profile_id | Não | A01 | Número | Código de um dos perfis de acesso à central do assinante. |
A13 | comments | Não | A01 | Texto | Texto livre. |
A14 | status | Sim | A01 | Texto | Situação da autenticação. Valores permitidos: |
Exclusão de autenticação
O objetivo deste serviço é excluir uma autenticação cadastrada.
Request Example:
{
"authentication_delete": {
"id": 1286
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": [
"Authentication deleted successfully."
]
}
Error Example:
{
"status": 0,
"error_code": 9,
"error_description": "Authentication not found!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | authentication_delete | Sim | Raiz | - | Dados da autenticação. |
A02 | id | Sim | A01 | Número | Código interno da autenticação no sistema (ID). |
Contatos
Alteração de contatos
O objetivo deste serviço é alterar o contato de um cliente.
Request Example:
{
"contact_update": {
"contact_id": 221,
"name": "João da Silva",
"email": "joao.silva@provedor.com"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Contato atualizado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 9,
"error_description": "Não foi encontrado um cliente vinculado ao contact_id informado!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contact_update | Sim | Raiz | - | Dados do contato. |
A02 | contact_id | Sim | A01 | Número | Id do contato. |
A03 | name | Não | A01 | Texto | Nome do contato. |
A04 | document_number | Não | A01 | Número | CPF do contato. |
A05 | complement | Não | A01 | Número | Código interno do tipo de complemento de contato. |
A06 | type | Não | A01 | Texto | Tipo de contato. Valores permitidos: |
A07 | Não | A01 | Texto | E-mail do contato. | |
A08 | phone_1 | Não | A01 | Texto | Telefone do contato com DDD, apenas números. |
A09 | phone_2 | Não | A01 | Texto | Telefone do contato com DDD, apenas números. |
A10 | phone_3 | Não | A01 | Texto | Telefone do contato com DDD, apenas números. |
A11 | birthday | Não | A01 | Data | Data de nascimento do contato no padrão AAAA-MM-DD |
A12 | status | Não | A01 | Texto | Situação do contato. Valores permitidos: |
Cadastro de contatos
O objetivo deste serviço é criar um novo contato.
Request Example:
{
"contact_create": {
"person_type": "C",
"person_id": 330531,
"name": "João da Silva",
"document_number": "94983655042",
"complement": 1,
"email": "joao.silva@provedor.com",
"phone_1": "4433221155",
"phone_2": "",
"phone_3": "",
"birthday": "1989-12-20",
"type": "G",
"status": "A"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"id": "231"
}
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "The field email is invalid!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contact_create | Sim | Raiz | - | Dados do contato. |
A02 | person_type | Sim | A01 | Texto | Tipo de contato. Valores permitidos: |
A03 | person_id | Sim | A01 | Número | Código do cliente/mercado. |
A04 | name | Sim | A01 | Texto | Nome do contato. |
A05 | document_number | Não | A01 | Número | CPF do contato. |
A06 | complement | Não | A01 | Número | Código interno do tipo de complemento de contato. |
A07 | Não | A01 | Texto | E-mail do contato. | |
A08 | phone_1 | Não | A01 | Texto | Telefone do contato com DDD, apenas números. |
A09 | phone_2 | Não | A01 | Texto | Telefone do contato com DDD, apenas números. |
A10 | phone_3 | Não | A01 | Texto | Telefone do contato com DDD, apenas números. |
A11 | birthday | Não | A01 | Data | Data de nascimento do contato no padrão AAAA-MM-DD |
A12 | type | Sim | A01 | Texto | Tipo de contato. Valores permitidos: |
A13 | status | Sim | A01 | Texto | Situação do contato. Valores permitidos: |
Exclusão de contatos
O objetivo deste serviço é excluir o contato de um cliente.
Request Example:
{
"contact_delete": {
"contact_id": 232
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Contato deletado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 9,
"error_description": "Não existe um contato com o contact_id informado!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contact_delete | Sim | Raiz | - | Dados do contato. |
A02 | contact_id | Sim | A01 | Número | Id do contato. |
Contratos
Alteração de contrato em degustação
O objetivo deste serviço é possibilitar a alteração de um plano de degustação para o contrato de um cliente. É possível alterar o plano que será utilizado bem como os períodos de início e fim, desde que a degustação não tenha sido iniciada.
Request Example:
{
"temporary_plan_update": {
"id": 110,
"temporary_plan_id": 16,
"start_period": "2023-04-01 00:00:00",
"finish_period": "2023-04-30 23:59:59"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Registry successfully updated"
}
Error Example:
{
"status": 0,
"error_code": 5,
"error_description": "The id does not exist!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | temporary_plan_update | Sim | Raiz | - | Dados do plano de degustação. |
A02 | id | Sim | A01 | Número | Id do registro retornado pelo serviço temporary_plan_insert. |
A03 | temporary_plan_id | Sim | A01 | Número | Código do plano de degustação. |
A04 | start_period | Sim | A01 | Data/Hora | Período de início. Para começar imediatamente, enviar nulo neste campo. |
A05 | finish_period | Sim | A01 | Data/Hora | Período de fim. |
Alteração do desconto promocional do contrato
O objetivo deste serviço é realizar a alteração do desconto promocional do contrato.
Request Example:
{
"promotional_contract_discount_update": {
"customer": 330624,
"contract_number": 9626,
"discount_period": 12,
"discount_value": 15.00,
"discount_description ": "Desconto de 12 Meses"
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Desconto promocional alterado com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 21,
"error_description": "Valor do desconto é maior do que o valor do contrato!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | promotional_contract_discount_update | Sim | Raiz | - | Dados do desconto promocional. |
A02 | customer | Sim | A01 | Número | Código do cliente. |
A03 | contract_number | Sim | A01 | Número | Número do contrato. |
A04 | discount_period | Sim | A01 | Número | Duração do desconto promocional. |
A05 | discount_value | Sim | A01 | Decimal(15.2) | Valor do desconto promocional. |
A06 | discount_description | Não | A01 | Texto | Descrição do desconto promocional. |
Assinatura de contrato
O objetivo deste serviço é realizar a assinatura de um contrato.
Request Example:
{
"contract_signature": {
"customer_id": 22563,
"contract_id": 65874,
"update_start_date": true
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Contract signed successfully"
}
Error Example:
{
"status": 0,
"error_code": 11,
"error_description": "Contract already signed!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_signature | Sim | Raiz | - | Dados da assinatura. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
A04 | update_start_date | Não | A01 | Booleano | Define se a data de início do contrato deve ser atualizada para a data atual: Quando o campo acima for informado como true, a data de início do contrato só poderá ser alterada caso a data de assinatura seja anterior ou igual a hoje. |
Ativação de contrato
O objetivo deste serviço é realizar a ativação de um contrato.
Request Example:
{
"contract_activate": {
"customer_id": 22563,
"contract_id": 65874
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Successfully activated contract"
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "Invalid contract_id status. Must be one of the following: Waiting for Installation, On Installation or Suspended!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_activate | Sim | Raiz | - | Dados da ativação. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. Aceita valores positivos maiores que zero. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. Aceita valores positivos maiores que zero. O contrato deverá estar em uma das situações a seguir: |
Bloqueio de contrato
O objetivo deste serviço é realizar o bloqueio de um contrato ativo.
Request Example:
{
"contract_block": {
"customer_id": 22563,
"contract_id": 65874
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Successfully blocked contract"
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "Invalid contract_id status. Must be Active!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_block | Sim | Raiz | - | Dados do bloqueio. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. Aceita valores positivos maiores que zero. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. Aceita valores positivos maiores que zero. |
Cadastro de contrato de degustação
O objetivo deste serviço é possibilitar o cadastro de um plano de degustação para o contrato de um cliente.
Request Example:
{
"temporary_plan_insert": {
"customer_id": 2563,
"contract_id": 26552,
"temporary_plan_id": 15,
"start_period": "2023-04-01 00:00:00",
"finish_period": "2023-04-30 23:59:59"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"id": "8"
}
}
Error Example:
{
"status": 0,
"error_code": 13,
"error_description": "There is already a temporary plan for this contract!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | temporary_plan_insert | Sim | Raiz | - | Dados do plano de degustação. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
A04 | temporary_plan_id | Sim | A01 | Número | Código do plano de degustação. |
A05 | start_period | Sim | A01 | Data/Hora | Período de início. Para começar imediatamente, enviar nulo neste campo. |
A06 | finish_period | Sim | A01 | Data/Hora | Período de fim. |
Cancelamento de contrato
O objetivo deste serviço é realizar o cancelamento de um contrato.
Request Example:
{
"contract_cancel": {
"customer_id": 330531,
"contract_id": 9009,
"reason_id": 1,
"cancel_competition_id": 1,
"billing": {
"future_cancel": true,
"cancellation_period_action": "block",
"reason_id": 3
},
"pre_billing": {
"cancel": true,
"cancellation_period_action": "cancel"
},
"fine": {
"account_id": 3,
"historic_id": 1
},
"os": {
"open": true,
"target_type": "topic",
"target_id": 5
}
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Successfully cancelled contract"
}
Error Example:
{
"status": 0,
"error_code": 38,
"error_description": "The current status of the contract does not allow it to be canceled!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_cancel | Sim | Raiz | - | Dados do cancelamento. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. Aceita valores inteiros positivos e maiores que zero. |
A03 | contract_id | Sim | A01 | Número | Número do contrato que será cancelado. Aceita valores inteiros positivos e maiores que zero. Para que um contrato possa ser cancelado ele deve estar em uma das situações a seguir: |
A04 | reason_id | Sim | A01 | Número | Código do motivo de cancelamento. Aceita valores inteiros positivos e maiores que zero. |
A05 | cancel_competition_id | Não | A01 | Número | Código da concorrência de cancelamento. Aceita valores inteiros positivos e maiores que zero. |
A06 | billing | Sim | A01 | - | Grupo de informações para estorno de faturamento. |
B01 | future_cancel | Sim | A06 | Booleano | Informa se os faturamentos futuros deverão ser cancelados: |
B02 | cancellation_period_action | Sim | A06 | Texto | Define qual ação deverá ser realizada para o faturamento referente ao período de cancelamento: |
B03 | reason_id | Sim | A06 | Número | Código do motivo de estorno dos documentos financeiros. Aceita valores inteiros positivos e maiores que zero. |
A07 | pre_billing | Sim | A01 | - | Grupo de informações para estorno de pré-faturamentos. |
C01 | cancel | Sim | A07 | Booleano | Informa se os pré-faturamentos deverão ser excluídos: |
C02 | cancellation_period_action | Sim | A07 | Texto | Informa se os pré-faturamentos referentes ao período de cancelamento deverão ser excluídos. Valores permitidos: |
A08 | fine | Sim | A01 | - | Grupo de informações para geração de multa de cancelamento. |
D01 | account_id | Sim | A08 | Número | Número da conta corrente para geração do boleto de multa contratual. Aceita valores inteiros positivos e maiores que zero. Deve ser uma conta: |
D02 | historic_id | Sim | A08 | Número | Número do histórico para geração do boleto de multa contratual. Aceita valores inteiros positivos e maiores que zero. Deve ser um histórico: |
A09 | os | Não | A01 | - | Grupo de informações para abertura de atendimento de retirada de equipamentos. Este grupo só é obrigatório se não houver locação transitória cadastrada no sistema. |
E01 | open | Sim | A09 | Booleano | Informa se deverá ser aberto atendimento para retirada de equipamento: |
E02 | target_type | Sim* | A09 | Texto | Informe o tipo do alvo para abertura do atendimento. Este campo é obrigatório se no campo A09 foi informado o valor true. Valores permitidos: |
E03 | target_id | Sim* | A09 | Número | Informa o código do alvo - tópico ou fluxo, conforme parametrizado no campo A09 - a ser utilizado para abertura do atendimento. Este campo é obrigatório se no campo A09 foi informado o valor true. |
Cancelamento de suspensão temporária de contrato
O objetivo deste serviço é realizar o cancelamento de um registro de suspensão temporária de um contrato que ainda não tenha sido efetivada. Se o contrato já foi suspenso é possível reativá-lo através do serviço contract_activate.
Request Example:
{
"contract_suspend_temporary_cancel": {
"customer_id": 5248,
"contract_id": 6254,
"user": "joao"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Temporary suspension successfully canceled"
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "No temporary suspension was found for this contract_id!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_suspend_temporary_cancel | Sim | Raiz | - | Dados da suspensão temporária. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. Aceita valores inteiros positivos e maiores que zero. |
A03 | contract_id | Sim | A01 | Número | Número do contrato do cliente que terá sua suspensão temporária cancelada. Aceita valores inteiros positivos e maiores que zero. É necessário informar um contrato que contenha um registro de suspensão temporária ativo. |
A04 | user | Não | A01 | Texto | Usuário responsável pelo cancelamento da suspensão temporária do contrato. Deve ser um usuário cadastrado no sistema e com a situação Ativo. Ao não informar este campo o registro da suspensão será realizado com o usuário configurado no cadastro do webservice. |
Desativação de contrato em degustação
O objetivo deste serviço é possibilitar a desativação de um plano de degustação agendado para o contrato de um cliente.
Request Example:
{
"temporary_plan_disable": {
"id": 110
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Registry successfully disabled"
}
Error Example:
{
"status": 0,
"error_code": 6,
"error_description": "The status of this record does not allow it to be disabled!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | temporary_plan_disable | Sim | Raiz | - | Dados do plano de degustação. |
A02 | id | Sim | A01 | Número | Id do registro retornado pelo serviço temporary_plan_insert. |
Desbloqueio de contrato
O objetivo deste serviço é realizar o desbloqueio de um contrato que esteja Bloqueado.
Request Example:
{
"contract_unblock": {
"customer_id": 330593,
"contract_id": 9121
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Successfully blocked uncontract"
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "Invalid contract_id status. Must be Blocked!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_unblock | Sim | Raiz | - | Dados do desbloqueio. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
Exclusão do desconto promocional do contrato
O objetivo deste serviço é realizar a exclusão do desconto promocional do contrato.
Request Example:
{
"promotional_contract_discount_delete": {
"customer": 330624,
"contract_number": 9626
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Desconto promocional excluído com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "Contrato não encontrado!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | promotional_contract_discount_delete | Sim | Raiz | - | Dados do desconto promocional. |
A02 | customer | Sim | A01 | Número | Código do cliente. |
A03 | contract_number | Sim | A01 | Número | Número do contrato. |
Geração de contrato em html
O objetivo deste serviço é gerar um contrato em html, com as palavras mágicas substituídas, conforme os modelos existentes. Cada modelo de contrato gerado será retornado em base 64.
Request Example:
{
"contract_generate_html": {
"customer_id": 330531,
"contract_id": 9009,
"contract_model_id": [
14,
17
],
"generate_link": true
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"contract_model_id": 14,
"contract_model_html": "PHA+PHN0cm9uZz5Gb3JtYXRh5+NvPC9zdHJvbmc+PGJyIC8+",
"contract_link_download": "https://meurbx.com/routerbox/tmp/ctr_330531_9009_14_01042023120000_T73XZ80A.pdf"
},
{
"contract_model_id": 17,
"contract_model_html": "PHA+PHN0cm9uZz5Gb3JtYXRh5+NvPC9zdHJvbmc+PGJyIC8+",
"contract_link_download": "https://meurbx.com/routerbox/tmp/ctr_330531_9009_17_01042023120000_T73XZ80F.pdf"
}
]
}
Error Example:
{
"status": 0,
"error_code": 14,
"error_description": "The contract_id does not exists or not belongs to the customer_id!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_generate_html | Sim | Raiz | - | Dados do contrato. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
A04 | type | Não* | A01 | Texto | Tipo do modelo de contrato. Valores permitidos: Este campo será obrigatório para realizar a integração com a Clicksign. |
A05 | contract_model_id | Não | A01 | Lista | Lista contendo os ids dos modelos de contrato para emissão. Deixando em branco, o sistema irá utilizar os modelos que já estiverem salvos no contrato. |
A06 | generate_link | Sim | A01 | Booleano | Indica se deverá gerar o contrato em PDF: |
A07 | resend_clicksign_contract | Não | A01 | Booleano | Indica se o contrato deverá ser reenviado para a Clicksign: |
Gestão de endereços dos contratos
O objetivo deste serviço é possibilitar a inclusão/alteração dos endereços dos contratos.
Request Example:
{
"contract_address": {
"customer_id": 330624,
"contract_id": 9626,
"address": "Rua Presidente Nereu Ramos",
"number": 102,
"neighborhood": "Centro",
"complement": "RBXSoft",
"city_id": 4114807,
"state": "PR",
"zip_code": 86990000
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Addresses successfully included!"
}
Error Example:
{
"status": 0,
"error_code": 27,
"error_description": "The contract_id does not exist or not belongs to the customer_id!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_address | Sim | Raiz | - | Dados do endereço. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim* | A01 | Número | Número do contrato do cliente. Este campo é obrigatório caso o campo package_id não seja informado. |
A04 | package_id | Sim* | A01 | Texto | ID do pacote do cliente. Este campo é obrigatório caso o campo contract_id não seja informado. |
A05 | type | Não | A01 | Texto | Tipo de endereço. Valores permitidos: Se este parâmetro não for informado, o serviço irá assumir o valor installation para o mesmo. |
A06 | dici_type | Não | A01 | Texto | Tipo de endereço para o DICI Anatel. Valores permitidos: Se este parâmetro não for informado, o serviço irá assumir o valor urban para o mesmo. |
A07 | billing | Não | A01 | Booleano | Indica se o endereço de instalação será utilizado como endereço de cobrança: |
A08 | address | Sim | A01 | Texto | Endereço do contrato. |
A09 | number | Sim | A01 | Número | Número do endereço. |
A10 | neighborhood | Sim | A01 | Texto | Bairro do endereço. |
A11 | complement | Não | A01 | Texto | Complemento do endereço. |
A12 | city_id | Sim | A01 | Número | Código do município do cliente de acordo com a tabela de municípios do IBGE. |
A13 | state | Sim | A01 | Texto | UF do endereço. |
A14 | zip_code | Sim | A01 | Número | CEP do endereço. |
A15 | latitude | Não | A01 | Decimal(16.13) | Latitude do endereço. Caso este campo não seja informado, o sistema irá buscar as coordenadas do endereço do contrato. Esta consulta é realizada através da API do Google Maps. Caso a integração com o Google Maps esteja desativada, a busca não será realizada. |
A16 | longitude | Não | A01 | Decimal(16.13) | Longitude do endereço. Caso este campo não seja informado, o sistema irá buscar as coordenadas do endereço do contrato. Esta consulta é realizada através da API do Google Maps. Caso a integração com o Google Maps esteja desativada, a busca não será realizada. |
Listagem de contratos em degustação
O objetivo deste serviço é possibilitar a listagem dos contratos que tenham degustação de planos agendados em determinado período ou os dados de um contrato em específico.
Request Example:
{
"temporary_plan_list": {
"start_period": "2023-04-01 12:00:00"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"id": "8",
"customer_id": "330531",
"contract_id": "9009",
"temporary_plan_id": "1",
"start_period": "2023-04-01 12:00:00",
"finish_period": "2023-04-30 23:59:59",
"status": "scheduled"
}
]
}
Error Example:
{
"status": 0,
"error_code": 5,
"error_description": "You must inform one of the following fields: id or start_period!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | temporary_plan_list | Sim | Raiz | - | Dados do plano de degustação. |
A02 | id | Não | A01 | Número | Id do registro retornado pelo serviço temporary_plan_insert. |
A03 | start_period | Não | A01 | Data/Hora | Data e hora de início da degustação. Se o campo acima for informado, este campo será ignorado. |
Motivos de transferência de contratos
O objetivo deste serviço é consultar os motivos de transferência de contratos.
Request Example:
{
"reasons_for_transfer": {}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"id": "1",
"name": "Atualização do Contrato",
"description": "Contrato será atualizado",
"status": "A"
},
{
"id": "2",
"name": "Troca por Pacote",
"description": "Cliente quer trocar um plano por um pacote",
"status": "A"
},
{
"id": "3",
"name": "Redução de Custo",
"description": "Cliente quer um plano mais barato",
"status": "I"
}
]
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "Internal Server Error!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | reasons_for_transfer | Sim | Raiz | - | Motivos de transferência. |
Suspensão temporária de contrato
O objetivo deste serviço é realizar a inclusão de uma suspensão temporária para um contrato.
Request Example:
{
"contract_suspend_temporary": {
"customer_id": 5248,
"contract_id": 6254,
"duration": 30,
"start_date": "2023-04-01",
"user": "usuario",
"ticket_id": 3265
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "The contract will be suspended on the date informed!"
}
Error Example:
{
"status": 0,
"error_code": 20,
"error_description": "This contract_id already has a temporary suspension scheduled!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_suspend_temporary | Sim | Raiz | - | Dados da suspensão temporária. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. Aceita valores inteiros positivos e maiores que zero. |
A03 | contract_id | Sim | A01 | Número | Número do contrato do cliente que será suspenso. Aceita valores inteiros positivos e maiores que zero. É necessário informar um contrato na situação Ativo. |
A04 | duration | Sim | A01 | Número | Duração, em dias, da suspensão temporária. Aceita valores inteiros positivos e maiores que zero. |
A05 | start_date | Sim | A01 | Data | Data inicial da suspensão no formato AAAA-MM-DD. Aceita valores maiores ou iguais à data atual. Informando a data atual o contrato será suspenso imediatamente. |
A06 | user | Não | A01 | Texto | Usuário responsável pelo registro da suspensão. Deve ser um usuário cadastrado no sistema e com a situação Ativo. Quando este campo não for informado, o registro da suspensão será realizado com o usuário configurado no cadastro do Web Service. |
A07 | ticket_id | Não | A01 | Número | Número do atendimento ao qual a suspensão está vinculada. |
Transferência de contratos
O objetivo deste serviço é realizar a transferência de um plano/pacote para outro plano/pacote no RBX.
Request Example (plan to plan):
{
"contract_transfer": {
"customer_id": "330593",
"contract_id": "9141",
"type": "plan",
"new": {
"seller_name": "João da Silva",
"type": "plan",
"plan_data": {
"id": "1000946",
"status": "active",
"qos_id": "1",
"sla_id": "1",
"due_date_id": "1",
"discount_vale": 9.99,
"duration": 12,
"promotional_discount_option": "keep",
"online_signature": {
"option": "required",
"templates": [
"14"
]
},
"billing": {
"keep": false,
"future_cancel": true,
"cancellation_period_action": "cancel"
},
"by_dealer_id": "10",
"from_dealer_id": "10"
}
},
"fine": {
"account_id": "3",
"historic_id": "1",
"due_date": "2023-04-30"
}
}
}
Request Example (plan to package):
{
"contract_transfer": {
"customer_id": "330593",
"contract_id": "9142",
"type": "plan",
"new": {
"seller_name": "João da Silva",
"type": "package",
"package_data": {
"id": "2071",
"qos_id": "1",
"due_date_id": "1",
"discount_vale": 10.99,
"duration": 6,
"promotional_discount_option": "new",
"billing": {
"keep": false,
"future_cancel": true,
"cancellation_period_action": "cancel"
}
}
},
"fine": {
"account_id": "3",
"historic_id": "1",
"due_date": "2023-04-30"
}
}
}
Request Example (package to plan):
{
"contract_transfer": {
"customer_id": "330593",
"contract_id": "9121",
"type": "package",
"new": {
"seller_name": "João da Silva",
"type": "plan",
"plan_data": {
"id": "1000946",
"qos_id": "1",
"sla_id": "1",
"due_date_id": "1",
"discount_vale": 9.99,
"duration": 12,
"promotional_discount_option": "cancel",
"billing": {
"keep": false,
"future_cancel": true,
"cancellation_period_action": "cancel"
}
}
},
"fine": {
"account_id": "3",
"historic_id": "1",
"due_date": "2023-04-30"
}
}
}
Request Example (package to package):
{
"contract_transfer": {
"customer_id": "330593",
"contract_id": "9144",
"type": "package",
"new": {
"seller_name": "João da Silva",
"type": "package",
"package_data": {
"id": "2071",
"due_date_id": "5",
"discount_vale": 9.99,
"duration": 6,
"promotional_discount_option": "new",
"billing": {
"keep": false,
"future_cancel": true,
"cancellation_period_action": "cancel"
},
"plan_correlation": [
{
"contract_id": "9144",
"new_plan_id": "1001004"
},
{
"contract_id": "9145",
"new_plan_id": "1001005"
}
]
}
},
"fine": {
"account_id": "3",
"historic_id": "1"
}
}
}
Response Example (plan to plan):
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"new_contracts": [
"9142"
],
"package_id": null,
"messages": [
"Transfer successful!"
]
}
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "The contract start date is greater than today",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | contract_transfer | Sim | Raiz | - | Dados do contrato/pacote que será transferido. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato que será transferido. |
A04 | type | Sim | A01 | Texto | Tipo de transferência. Valores permitidos: |
A05 | user | Não | A01 | Texto | Usuário a ser utilizado para registrar o desbloqueio do contrato (Quando aplicável). Este usuário não será utilizado para registrar a transferência do plano. |
A06 | new | Sim | A01 | - | Grupo de informações do novo plano/pacote. |
B01 | seller_name | Não* | A06 | Texto | Nome do vendedor para registro do(s) novo(s) contrato(s). Quando não informado, será utilizado o nome do vendedor do contrato que está sendo transferido. Caso esteja sendo transferido um pacote, será utilizado o nome do vendedor do primeiro contrato do pacote. |
B02 | type | Sim | A06 | Texto | Tipo de transferência. Valores permitidos: |
B03 | plan_data | Sim* | A06 | - | Grupo de informações quando a transferência está sendo feita para um novo plano. Este campo só deverá ser informado quando for informado o valor plan no campo B02. |
B04 | package_data | Sim* | A06 | - | Grupo de informações quando a transferência está sendo feita para um novo pacote. Este campo só deverá ser informado quando for informado o valor package no campo B02. |
C01 | id | Sim | B03/B04 | Texto | Código do novo plano/pacote |
C02 | status | Não | B03 | Texto | Situação do novo plano gerado na transferência. Este campo poderá conter apenas as situações disponíveis de acordo com a situação atual do contrato que está sendo transferido e do novo plano de destino. Este campo só pode ser informado em transferências de plano para plano. Quando não informado o novo plano sempre será gerado com a situação igual ao do plano que está sendo transferido. |
C03 | qos_id | Sim | B03 | Texto | Código do QoS para o novo plano. |
C04 | sla_id | Sim | B03 | Texto | Código do Grupo de SLA para o novo plano. |
C05 | due_date_id | Sim | B03/B04 | Texto | Código do novo Ciclo de Faturamento |
C06 | discount_vale | Não | B03/B04 | Decimal(15.2) | Valor do desconto fixo para o novo plano/pacote |
C07 | duration | Sim | B03/B04 | Número | Vigência do novo plano/pacote. |
C08 | promotional_discount_option | Sim | B03/B04 | Texto | Opção para desconto promocional do novo plano/pacote. Valores permitidos: |
C09 | online_signature | Sim | B03 | - | Grupo de informações para aceite eletrônico de contratos. |
D01 | option | Sim | C09 | Texto | Tipo de aceite eletrônico. Valores permitidos: |
D02 | templates | Sim | C09 | Texto | Lista de modelos de contrato para aceite eletrônico. Indicar os códigos dos modelos. |
C10 | billing | Sim | B03/B04 | - | Grupo de informações para tratar faturamentos do plano/pacote que está sendo transferido. |
E01 | keep | Sim | C10 | Booleano | Indica a ação para o faturamento referente ao plano/pacote que está sendo transferido: |
E02 | future_cancel | Não | C10 | Booleano | Indica a ação para faturamentos futuros referentes ao plano/pacote que está sendo transferido: Este campo só pode ser informado se for informado false no campo E01. |
E03 | cancellation_period_action | Não | C10 | Texto | Indica a ação para faturamentos do mês de cancelamento referentes ao plano/pacote que está sendo transferido. Valores permitidos: Este campo só pode ser informado se for informado true no campo E02. |
C11 | by_dealer_id | Sim* | B03/B04 | Texto | Código do Terceiro para Cobrança por Terceiros. É obrigatório informar quando o plano exigir esta informação. |
C12 | from_dealer_id | Sim* | B03/B04 | Texto | Código do Terceiro para Cobrança de Terceiros. É obrigatório informar quando o plano exigir esta informação. |
C13 | plan_correlation | Sim | B04 | - | Grupo de informações para correlação de planos, em transferência de pacotes para pacotes. |
F01 | contract_id | Sim | C13 | Texto | Código do contrato do pacote que está sendo transferido. É necessário correlacionar todos os contratos do pacote que está sendo transferido. |
F02 | new_plan_id | Sim | C13 | Texto | Código do plano existente no novo pacote. |
A07 | fine | Sim | A01 | - | Grupo de informações para geração da multa de cancelamento. |
G01 | account_id | Sim | A07 | Texto | Número da conta corrente para geração do lançamento da multa. Características da conta: |
G02 | historic_id | Sim | A07 | Texto | Número do histórico para geração do lançamento da multa. Características do histórico: |
G03 | due_date | Não | A07 | Data | Data de vencimento da multa. Se não informada será considerado o próximo dia útil. |
A08 | reason_id | Não | A01 | Número | Código do motivo de transferência. Aceita valores inteiros positivos e maiores que zero. |
Estoque
Alocação de equipamento em comodato
O objetivo deste serviço é alocar um equipamento em comodato em um cliente.
Request Example:
{
"equipment_lending": {
"product_id": 122,
"customer_id": 658,
"contract_id": 1548,
"activation_date": "2023-04-01",
"quantity": 1,
"location_id": 5,
"serial_number": "XTS5487",
"complementary_fields": [
{
"name": "modelo",
"value": "21"
},
{
"name": "cor",
"value": "preto"
}
],
"provisioning": {
"controller_id": 17,
"controller_port_id": 18,
"onu_id": 8,
"scripts": [
12,
15,
17
],
"authentication_id": 2,
"ip_id": 7
}
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"equipament_id": 1254,
"produt_movement_id": 62457
}
}
Error Example:
{
"status": 0,
"error_code": 15,
"error_description": "There is no balance available on the informed lease",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | equipment_lending | Sim | Raiz | - | Dados do equipamento. |
A02 | product_id | Sim | A01 | Número | Código interno do produto (id). |
A03 | customer_id | Sim | A01 | Número | Código do cliente. |
A04 | contract_id | Sim | A01 | Número | Número do contrato do cliente. |
A05 | activation_date | Sim | A01 | Data | Data de ativação do equipamento no formato AAAA-MM-DD |
A06 | quantity | Sim | A01 | Decimal(15.2) | Quantidade do produto que será alocado em comodato. Para itens controlados por serial, este campo deverá ser informado sempre com o valor igual a 1. |
A07 | location_id | Não* | A01 | Número | Para itens não controlados por serial: código da locação de estoque de onde ocorrerá a saída do produto. Para itens controlados por serial: Não informar. |
A08 | serial_number | Não* | A01 | Texto | Para itens controlados por serial: número do serial que será alocado ao cliente. Para itens não controlados por serial: Não informar. |
A09 | complementary_fields | Não* | A01 | Lista | Campo do tipo lista contendo um ou mais dados de campos complementares do equipamento. Os campos complementares de equipamento poderão estar definidos como obrigatórios no sistema. |
B01 | name | Sim | A09 | Texto | Nome do campo complementar, conforme cadastrado no sistema. |
B02 | value | Sim | A09 | Texto | Valor do campo complementar. |
A10 | provisioning | Não | A01 | - | Grupo de informações para o provisionamento do equipamento. |
C01 | controller_id | Sim | A10 | Número | Id do controlador do equipamento. |
C02 | controller_port_id | Sim | A10 | Número | Id da porta do controlador do equipamento. |
C03 | onu_id | Não | A10 | Número | ONU ID do equipamento. |
C04 | scripts | Sim | A10 | Lista | Lista contendo os ids dos scripts e grupos de scripts para provisionamento. |
C05 | authentication_id | Não | A10 | Texto | Id da autenticação do cliente. |
C06 | ip_id | Não | A10 | Número | Id do IP do cliente. |
Cadastro de produtos
O objetivo deste serviço é realizar a inclusão de um produto no estoque.
Request Example:
{
"inventory_insert": {
"company_id": 5,
"code": 1,
"description": "Monitor LED",
"model_id": 10,
"serial_controlled": true,
"unit_id": 5,
"sale_price": 500.25,
"text": "",
"allow_discount": true,
"accounting_number": "",
"minimum_quantity": 10.5,
"quantity_per_lot": 100.25,
"operation_type_workforce": "consumption",
"ncm": 85282100,
"ean": "",
"ean_trib": "",
"ex_tipi": "",
"efd_icms_ipi_item": "",
"allows_movement": true,
"status": "A",
"tax_group_id": null,
"invoice": {
"nfe_oper_venda": {
"id_nat_oper": 3,
"cod_benef_fiscal": "PR000001",
"cest": "",
"cfop": 5949,
"tipo_valor_item": "B",
"informacoes_adicionais": "",
"icms": {
"cst": "00",
"csosn": "100",
"origem": "0",
"mod_base_calc": "0",
"perc_red_base_calc": 10.21,
"valor_base_calc": 100,
"aliquota": 10.15,
"valor": 10,
"aliquota_calculo_credito": 1.25,
"valor_credito": 100.25,
"st": {
"mod_base_calc": "0",
"perc_margem_valor_adic": 15.15,
"perc_reducao_base_calc": 10.21,
"valor_base_calc": 100,
"aliquota": 10.15,
"valor": 10.15
}
},
"ipi": {
"sit_trib": "00",
"cod_enq": "aaa",
"cod_selo": "",
"qtde_selo": 1,
"tipo_calculo": "P",
"valor_base_calc": 100,
"aliquota": 10.15,
"quantidade": null,
"valor_unitario": null
},
"pis": {
"sit_trib": "01",
"tipo_calculo": "P",
"valor_base_calc": 100,
"aliquota": 10.15,
"quantidade": null,
"valor": null,
"st": {
"tipo_calculo": "P",
"valor_base_calc": 100,
"aliquota": 10.15,
"quantidade": null,
"valor": null
}
},
"cofins": {
"sit_trib": "01",
"tipo_calculo": "P",
"valor_base_calc": 100,
"aliquota": 10.15,
"quantidade": null,
"valor": null,
"st": {
"tipo_calculo": "P",
"valor_base_calc": 100,
"aliquota": 10.15,
"quantidade": null,
"valor": null
}
}
}
}
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"id": 280
}
}
Error Example:
{
"status": 0,
"error_code": 90,
"error_description": "There is already a inventory registered with this code!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | inventory_insert | Sim | Raiz | - | Dados do produto. |
A02 | company_id | Não | A01 | Número | Código fiscal da empresa. Quando não informado, este campo assume o valor 1. |
A03 | code | Sim | A01 | Texto | Código do produto. Este código não pode se repetir em mais de um produto. |
A04 | description | Sim | A01 | Texto | Descrição do produto. |
A05 | model_id | Sim | A01 | Número | Código do modelo de produto. |
A06 | serial_controlled | Sim | A01 | Booleano | Indica se o produto é controlado por serial: |
A07 | unit_id | Sim | A01 | Número | Código da unidade do produto. |
A08 | sale_price | Sim | A01 | Decimal(15.2) | Preço de venda. |
A09 | text | Não | A01 | Texto | Campo livre para cadastro de observações. |
A10 | allow_discount | Não | A01 | Booleano | Indica se o produto permite desconto: |
A11 | accounting_number | Não | A01 | Texto | Conta contábil. |
A12 | minimum_quantity | Não | A01 | Decimal(15.2) | Quantidade mínima do produto. |
A13 | quantity_per_lot | Não | A01 | Decimal(15.2) | Quantidade por lote de compra. |
A14 | operation_type_workforce | Sim | A01 | Texto | Tipo de operação para inclusão do item em atendimentos via Workforce. Valores permitidos: |
A15 | ncm | Não* | A01 | Número | Código NCM do produto com 8 dígitos. Este campo é obrigatório se for informado o campo A23. |
A16 | ean | Não | A01 | Texto | Código EAN do produto. |
A17 | ean_trib | Não | A01 | Texto | Código EAN da quantidade tributável do produto. |
A18 | ex_tipi | Não | A01 | Texto | Código EX da TIPI do produto. |
A19 | efd_icms_ipi_item | Sim | A01 | Texto | Código do tipo do item para geração do arquivo sped fiscal edf icms ipi. Valores permitidos: |
A20 | allows_movement | Não | A01 | Booleano | Indica se o produto pode ser movimentado, no caso do campo A18 conter um dos valores 07 ou 08: Para qualquer outro valor no campo A18, este campo não deve ser informado ou deve ser informado com o valor true. |
A21 | status | Sim | A01 | Texto | Situação do produto. Valores permitidos: |
A22 | tax_group_id | Não | A01 | Número | Código do grupo de cobrança. Este campo só pode ser utilizado nos países que utilizam este grupo (No momento, apenas Argentina). |
A23 | invoice | Não | A01 | - | Grupo de informações para NF-e. São permitidos 3 campos neste grupo: Os 3 grupos possuem a mesma estrutura e os mesmos campos. Dessa forma, a seguir, será exibido apenas o primeiro. Todas as regras dos demais são as mesmas. |
B01 | nfe_oper_venda | Não | A23 | - | Grupo de informações para emissão de NF-e na operação Venda. |
C01 | id_nat_oper | Sim | B01 | Número | Código da natureza de operação. Deve ser uma natureza de operação Ativa, de NF-e e de tipo 1-Saída. |
C02 | cod_benef_fiscal | Não | B01 | Texto | Código de Benefício Fiscal na UF. Este campo deve conter 8 ou 10 dígitos. |
C03 | cest | Não | B01 | Texto | Código Especificador da Substituição Tributária. |
C04 | cfop | Sim | B01 | Número | Código Fiscal de Operações e Prestações. Deve ser informado um dos códigos permitidos para a natureza de informação informada. |
C05 | tipo_valor_item | Sim | B01 | Texto | Indica como o valor do item será composto. Valores permitidos: |
C06 | informacoes_adicionais | Não | B01 | Texto | Campo livre. |
C07 | icms | Sim | B01 | - | Grupo de informações do ICMS. |
D01 | cst | Sim* | C01 | Texto | Código de Situação Tributária. Deve ser informado apenas para contribuintes no Regime Tributário Normal. Valores permitidos: |
D02 | csosn | Sim* | C01 | Texto | Código de Situação da Operação no Simples Nacional. Deve ser informado apenas para contribuintes no Regime Tributário Simples Nacional. Valores permitidos: |
D03 | origem | Não* | C01 | Texto | Origem da mercadoria. Valores permitidos: |
D04 | mod_base_calc | Não* | C01 | Texto | Modalidade de determinação da Base de Cálculo do ICMS. Valores permitidos: |
D05 | perc_red_base_calc | Não* | C01 | Decimal(5.2) | Percentual da Redução da Base de Cálculo do ICMS. |
D06 | valor_base_calc | Não* | C01 | Decimal(15.2) | Valor da Base de Cálculo do ICMS. |
D07 | aliquota | Não* | C01 | Decimal(5.2) | Alíquota do ICMS. |
D08 | valor | Não* | C01 | Decimal(15.2) | Valor do ICMS. O valor do ICMS sempre será calculado pelo sistema - quando aplicável - através da multiplicação dos campos D06 e D07. |
D09 | aliquota_calculo_credito | Não* | C01 | Decimal(5.2) | Alíquota aplicável de cálculo do crédito. Este campo deve ser informado apenas para os códigos de CSOSN (Campo D02): 101, 201, 900. |
D10 | valor_credito | Não* | C01 | Decimal(15.2) | Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123. Este campo deve ser informado apenas para os códigos de CSOSN (Campo D02): 101, 201, 900. |
D11 | st | Não* | C01 | - | Grupo de informações de Substituição Tributária. |
E01 | mod_base_calc | Não* | D11 | Texto | Modalidade de determinação da Base de Cálculo do ICMS ST. Valores permitidos: |
E02 | perc_margem_valor_adic | Não* | D11 | Decimal(5.2) | Percentual da margem de valor Adicionado do ICMS ST. |
E03 | perc_reducao_base_calc | Não* | D11 | Decimal(5.2) | Percentual da Redução de Base de Cálculo do ICMS ST. |
E04 | valor_base_calc | Não* | D11 | Decimal(15.2) | Valor da Base de Cálculo do ICMS ST. |
E05 | aliquota | Não* | D11 | Decimal(5.2) | Alíquota do ICMS ST. |
E06 | valor | Não* | D11 | Decimal(15.2) | Valor do ICMS ST. O valor do ICMS ST sempre será calculado pelo sistema - quando aplicável - através da multiplicação dos campos E04 e E05. Exceções: CST = 60 ou CSOSN = 500. Para estes, o valor deverá ser informado neste campo. |
C08 | ipi | Não | B01 | - | Grupo de informações do IPI. |
F01 | sit_trib | Sim | C08 | Texto | Código da situação tributária do IPI. Valores permitidos: |
F02 | cod_enq | Não* | C08 | Texto | Código de Enquadramento Legal do IPI. |
F03 | cod_selo | Não* | C08 | Texto | Código do selo de controle IPI. |
F04 | qtde_selo | Não* | C08 | Decimal(16.4) | Quantidade de selo de controle. |
F05 | tipo_calculo | Não* | C08 | Texto | Tipo de cálculo. Valores permitidos: |
F06 | valor_base_calc | Não* | C08 | Decimal(15.2) | Valor da base de cálculo do IPI. Informar apenas se for informado o valor P no campo F05. |
F07 | aliquota | Não* | C08 | Decimal(5.2) | Alíquota do IPI. Informar apenas se for informado o valor P no campo F05. |
F08 | quantidade | Não* | C08 | Decimal(16.4) | Quantidade total na unidade padrão para tributação. Informar apenas se for informado o valor V no campo F05. |
F09 | valor_unitario | Não* | C08 | Decimal(15.4) | Valor por unidade. Informar apenas se for informado o valor V no campo F05. |
C09 | pis | Sim | B01 | - | Grupo de informações do PIS. |
G01 | sit_trib | Sim | C09 | Texto | Código de Situação Tributária do PIS. Valores permitidos: |
G02 | tipo_calculo | Não* | C09 | Texto | Tipo de cálculo. Valores permitidos: Este campo não pode ser informado para os códigos de situação tributária (Campo G01): 01, 02, 03, 04, 06, 07, 08, 09. |
G03 | valor_base_calc | Não* | C09 | Decimal(15.2) | Valor da base de cálculo do PIS. Informar apenas se for informado o valor P no campo G02. |
G04 | aliquota | Não* | C09 | Decimal(15.4) | Alíquota do PIS. Informar em reais quando for informado o valor V no campo G02. |
G05 | quantidade | Não* | C09 | Decimal(16.4) | Quantidade vendida. Informar apenas se for informado o valor V no campo G02. |
G06 | valor | Não* | C09 | Decimal(15.2) | Valor do PIS. Informar apenas se for informado o valor V no campo G02. O valor do PIS será calculado pelo sistema - quando aplicável - através da multiplicação dos campos G03 e G04 para: |
G07 | st | Não* | C09 | - | Grupo de informações do PIS Substituição Tributária. |
H01 | tipo_calculo | Não* | G07 | Texto | Tipo de cálculo. Valores permitidos: |
H02 | valor_base_calc | Não* | G07 | Decimal(15.2) | Valor da base de cálculo do PIS ST. Informar apenas se for informado o valor P no campo H01. |
H03 | aliquota | Não* | G07 | Decimal(15.4) | Alíquota do PIS ST. Informar apenas se foi informado um valor no campo H01. Informar em reais quando for informado o valor V no campo H01. |
H04 | quantidade | Não* | G07 | Decimal(16.4) | Quantidade vendida. Informar apenas se for informado o valor V no campo H01. |
H05 | valor | Não* | G07 | Decimal(15.2) | Valor do PIS ST. Informar apenas se for informado o valor V no campo H01. O valor do PIS ST será calculado pelo sistema através da multiplicação dos campos H02 e H03 quando for informado o valor P no campo H01. |
C10 | cofins | Sim | B01 | - | Grupo de informações da COFINS. |
I01 | sit_trib | Sim | C10 | Texto | Código de Situação Tributária da COFINS. Valores permitidos: |
I02 | tipo_calculo | Não* | C10 | Texto | Tipo de cálculo. Valores permitidos: Este campo não pode ser informado para os códigos de situação tributária (Campo I01): 01, 02, 03, 04, 06, 07, 08, 09. |
I03 | valor_base_calc | Não* | C10 | Decimal(15.2) | Valor da base de cálculo da COFINS. Informar apenas se for informado o valor P no campo I02. |
I04 | aliquota | Não* | C10 | Decimal(15.4) | Alíquota da COFINS. Informar em reais quando for informado o valor V no campo I02. |
I05 | quantidade | Não* | C10 | Decimal(16.4) | Quantidade vendida. Informar apenas se for informado o valor V no campo I02. |
I06 | valor | Não* | C10 | Decimal(15.2) | Valor da COFINS. Informar apenas se for informado o valor V no campo I02. O valor da COFINS será calculado pelo sistema - quando aplicável - através da multiplicação dos campos I03 e I04 para: |
I07 | st | Não* | C10 | - | Grupo de informações da COFINS Substituição Tributária. |
J01 | tipo_calculo | Não* | I07 | Texto | Tipo de cálculo. Valores permitidos: |
J02 | valor_base_calc | Não* | I07 | Decimal(15.2) | Valor da base de cálculo do COFINS ST. Informar apenas se for informado o valor P no campo J01. |
J03 | aliquota | Não* | I07 | Decimal(15.4) | Alíquota do COFINS ST. Informar apenas se foi informado um valor no campo J01. Informar em reais quando for informado o valor V no campo J01. |
J04 | quantidade | Não* | I07 | Decimal(16.4) | Quantidade vendida. Informar apenas se for informado o valor V no campo J01. |
J05 | valor | Não* | I07 | Decimal(15.2) | Valor da COFINS ST. Informar apenas se for informado o valor V no campo J01. O valor da COFINS ST será calculado pelo sistema através da multiplicação dos campos J02 e J03 quando for informado o valor P no campo J01. |
Cadastro de locações de estoque
O objetivo deste serviço é realizar a inclusão de uma locação de estoque.
Request Example:
{
"inventory_location_insert": {
"id": 1,
"description": "Prédio Azul",
"linked_person": {
"type": "customer",
"id": 1
},
"status": "A",
"linked_user": "joaosilva"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"id": 999
}
}
Error Example:
{
"status": 0,
"error_code": 23,
"error_description": "This user has already been linked to another location. Only one is allowed per user!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | inventory_location_insert | Sim | Raiz | - | Dados da locação. |
A02 | id | Não | A01 | Número | Código da locação. Se não for informado, será gerado automaticamente pelo sistema. Não pode ser enviado o id 1 neste campo. Campo chave primária da locação, ou seja, não pode se repetir. |
A03 | description | Sim | A01 | Texto | Descrição da locação. |
A04 | linked_person | Não | A01 | - | Grupo de informações de cliente/fornecedor vinculado à locação. |
B01 | type | Sim | A04 | Texto | Valores permitidos: |
B02 | id | Sim | A04 | Número | Código do cliente/fornecedor (conforme informado no campo anterior). |
A05 | status | Sim | A01 | Texto | Situação da locação. Valores permitidos: |
A06 | linked_user | Não | A01 | Texto | Usuário vinculado à locação. Não é permitido vincular um mesmo usuário a mais de uma locação. |
Cadastro de modelos de produto
O objetivo deste serviço é realizar a inclusão de um modelo de produto.
Request Example:
{
"inventory_product_model_insert": {
"description": "Monitor LCD",
"type_id": 1,
"brand": "LG",
"image": {
"name": "imagem.png",
"content": "RXhlbXBsbyBkZSBjb250ZcO6ZG8gY29udmVydGlkbyBlbSBiYXNlNjQ="
}
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"model_id": 275,
"created_file_name": ""
}
}
Error Example:
{
"status": 0,
"error_code": 18,
"error_description": "There is already a model of product registered with this description!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | inventory_product_model_insert | Sim | Raiz | - | Dados do modelo de produto. |
A02 | description | Sim | A01 | Texto | Descrição do modelo. Não pode haver dois modelos com a mesma descrição. |
A03 | type_id | Sim | A01 | Número | Id do tipo de produto. |
A04 | brand | Não | A01 | Texto | Descrição da marca do produto. |
A05 | image | Não | A01 | - | Grupo de informações da imagem do modelo. |
B01 | name | Sim | A05 | Texto | Nome do arquivo de imagem com a extensão. Extensões permitidas: Exemplo: modelo.jpg |
B02 | content | Sim | A05 | Texto | Arquivo de imagem codificado em base64. |
Cadastro de tipos de produto
O objetivo deste serviço é realizar a inclusão de um tipo de produto.
Request Example:
{
"inventory_product_type_insert": {
"description": "monitores",
"accept_provisioning_scripts": true,
"complementary_fields": [
{
"name": "cor",
"required": true
},
{
"name": "tamanho",
"required": true
}
]
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"type_id": 8
}
}
Error Example:
{
"status": 0,
"error_code": 14,
"error_description": "There is already a type of product registered with this description!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | inventory_product_type_insert | Sim | Raiz | - | Dados do tipo de produto. |
A02 | description | Sim | A01 | Texto | Descrição do tipo. Não é permitido informar uma descrição já existente na base de dados. |
A03 | accept_provisioning_scripts | Não | A01 | Booleano | Indica se o tipo informado aceita scripts de provisonamento de equipamentos: |
A04 | complementary_fields | Não | A01 | - | Grupo de informações de complementos do tipo. |
B01 | name | Sim | A04 | Texto | Nome do complemento. Não é permitido informar mais de um complemento com o mesmo nome para um mesmo tipo. |
B02 | required | Não | A04 | Booleano | Indica se o campo complementar informado será obrigatório no momento de vincular um produto a um cliente: |
Consulta equipamentos cadastrados nos clientes
O objetivo deste serviço é retornar os equipamentos cadastros nos clientes.
Request Example:
{
"get_equipment_customer": {
"customer_id": 330531,
"equipment_status": "active"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"id": "1021",
"customer_id": "330593",
"customer_name": "João da Silva",
"contract_id": "9122",
"source": "C",
"serial": "2020",
"product_code": "010101",
"activate_date": "2023-04-17",
"deactivation_date": "",
"deactivation_reason": "",
"quantity": 1,
"unit_price": 200,
"total_price": 200,
"controller_ip": "",
"controller_port": "",
"status": "active",
"additional_data": []
}
]
}
Error Example:
{
"status": 0,
"error_code": 8,
"error_description": "The field equipment_status is invalid!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_equipment_customer | Sim | Raiz | - | Dados do cliente. |
A02 | customer_id | Não | A01 | Número | Código do cliente. Quando não informado, será retornado todos os equipamentos cadastrados nos clientes. |
A03 | equipment_status | Não | A01 | Texto | Situação do equipamento. Valores permitidos: |
Desativação de equipamento em comodato
O objetivo deste serviço é desativar um equipamento que está alocado em comodato em um cliente.
Request Example:
{
"equipment_lending_disable": {
"equipment_id": 1254,
"customer_id": 658,
"contract_id": 1548,
"disable_date": "2023-04-01",
"reason": "cancellation",
"location_id": 5,
"open_ticket_to_remove_from_network": false,
"user_stock_request": "usuario"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Equipment successfully disabled!"
}
Error Example:
{
"status": 0,
"error_code": 24,
"error_description": "Required field not informed: Stock Requisition User",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | equipment_lending_disable | Sim | Raiz | - | Dados do equipamento. |
A02 | equipment_id | Sim | A01 | Número | Código interno do equipamento alocado em comodato (id). |
A03 | customer_id | Sim | A01 | Número | Código do cliente. |
A04 | contract_id | Sim | A01 | Número | Número do contrato do cliente. |
A05 | disable_date | Sim | A01 | Data | Data de desativação do equipamento no formato AAAA-MM-DD |
A06 | reason | Sim | A01 | Texto | Motivo da desativação do equipamento. Valores permitidos: |
A07 | location_id | Sim | A01 | Número | Código da locação de estoque para onde o produto irá retornar. |
A08 | open_ticket_to_remove_from_network | Não | A01 | Booleano | Define se deverá ser aberto um atendimento para retirada do equipamento da rede, quando o equipamento estiver cadastrado na rede: |
A09 | user_stock_request | Não* | A01 | Texto | Usuário de geração da requisição de estoque. Este campo é obrigatório quando o sistema estiver configurado para utilizar a requisição de estoque. |
Movimentação avulsa de estoque
O objetivo deste serviço é desativar um equipamento que está alocado em comodato em um cliente.
Request Example:
{
"inventory_movement": {
"product_id": 1254,
"operation_type": "input",
"location_id_source": 10,
"quantity": 2,
"unit_cost": 10.5,
"invoice_series": 157,
"invoice_number": 12546587,
"serial": [
{
"value": "CFD21458",
"complementary_fields": [
{
"name": "modelo",
"value": "B1"
},
{
"name": "cor",
"value": "azul"
}
]
},
{
"value": "CFD31648",
"complementary_fields": [
{
"name": "modelo",
"value": "B1"
},
{
"name": "cor",
"value": "preto"
}
]
}
],
"datetime": "2023-04-01 12:00:00"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
"Successfully included move"
]
}
Error Example:
{
"status": 0,
"error_code": 3,
"error_description": "The reported product does not exist or is not active",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | inventory_movement | Sim | Raiz | - | Dados do produto. |
A02 | product_id | Sim | A01 | Número | Código interno do produto (id). |
A03 | operation_type | Sim | A01 | Texto | Tipo de operação de estoque. Valores permitidos: |
A04 | location_id_source | Sim* | A01 | Número | Para movimentações de entrada: código da locação de estoque onde o produto irá entrar. Para movimentações de saída: código da locação de estoque de onde o produto está saindo. Este campo é obrigatório nos seguintes casos: |
A05 | location_id_destination | Não* | A01 | Número | Código da locação de estoque onde o produto irá entrar. Este campo só deve ser informado nas operações de estoque de transferência de locação. |
A06 | quantity | Sim | A01 | Decimal(15.2) | Quantidade do produto que será movimentado. Valores aceitos: |
A07 | unit_cost | Sim* | A01 | Decimal(15.2) | Este campo é obrigatório nas operações abaixo e possui o seguinte conteúdo: |
A08 | invoice_series | Não | A01 | Número | Número da série referente à nota fiscal da movimentação. Não pode ser informado nas operações abaixo: |
A09 | invoice_number | Não | A01 | Número | Número da nota referente à nota fiscal da movimentação. Não pode ser informado nas operações abaixo: |
A10 | reason | Não* | A01 | Texto | Contém o motivo do descarte do produto. É obrigatório na operação discard. |
A11 | serial | Sim* | A01 | - | Grupo de informações dos seriais que estão sendo movimentados. |
B01 | value | Sim | A11 | Texto | Serial do produto. |
B02 | complementary_fields | Não | A11 | - | Grupo de informações contendo um ou mais dados de campos complementares do serial. |
C01 | name | Sim | B02 | Texto | Nome do campo complementar, conforme cadastrado no sistema. |
C02 | value | Sim | B02 | Texto | Valor do campo complementar. |
A12 | datetime | Sim | A01 | Data | Data e hora da movimentação do produto no formato AAAA-MM-DD HH:MM:SS. Atenção: não são permitidas movimentações de estoque com data e hora anteriores a alguma movimentação já existente para o produto. |
A13 | assign_equipment | Não | A01 | - | Grupo de informações que conterá dados do cliente para alocação do equipamento. Este elemento só pode ser informado na operação sale. |
D01 | customer_id | Sim | A13 | Número | Código do cliente. |
D02 | contract_id | Sim | A13 | Número | Número do contrato. |
Financeiro
Baixa de documento
O objetivo deste serviço é realizar a baixa de um documento financeiro por motivo de Pagamento.
Request Example (money):
{
"document_payment": {
"payment_type": "money",
"document_id": 22563,
"document_historic_id": 65874,
"payment_account_id": 1,
"payment_historic_id": 20,
"payment_date": "2023-04-01",
"payment_credit_date": "2023-04-01",
"payment_discount_type": "V",
"payment_discount_amount": 10.5,
"payment_interest_type": "P",
"payment_interest_amount": 0,
"payment_fine_type": "P",
"payment_fine_amount": 0,
"rate_amount": 1.25,
"rate_historic_id": 13,
"rate_currency_id": 1,
"payment_comment": "Baixa avulsa",
"unblock_customer": true
}
}
Request Example (credit_card_machine):
{
"document_payment": {
"payment_type": "credit_card_machine",
"document_id": 22563,
"document_historic_id": 65874,
"payment_date": "2023-04-01",
"payment_discount_type": "V",
"payment_discount_amount": 10.5,
"payment_interest_type": "P",
"payment_interest_amount": 0,
"payment_fine_type": "P",
"payment_fine_amount": 0,
"payment_comment": "Baixa com cartão de crédito",
"unblock_customer": true,
"payment_installments": 3,
"card_brand": "visa",
"payment_receipt": {
"document_number": 123456,
"authorization_number": "ABCDE123"
}
}
}
Request Example (debit_card_machine):
{
"document_payment": {
"payment_type": "debit_card_machine",
"document_id": 22563,
"document_historic_id": 65874,
"payment_date": "2023-04-01",
"payment_discount_type": "V",
"payment_discount_amount": 10.5,
"payment_interest_type": "P",
"payment_interest_amount": 0,
"payment_fine_type": "P",
"payment_fine_amount": 0,
"payment_comment": "Baixa com cartão de débito",
"unblock_customer": true,
"card_brand": "master",
"payment_receipt": {
"document_number": 123456,
"authorization_number": "ABCDE123"
}
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"receipt_id": 145887
}
}
Error Example:
{
"status": 0,
"error_code": 17,
"error_description": "No document was found with the document_id informed!",
"result": {
"receipt_id": 0
}
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | document_payment | Sim | Raiz | - | Dados do pagamento. |
A02 | document_id | Sim | A01 | Número | Código interno do documento no sistema (Sequência). |
A03 | document_historic_id | Sim | A01 | Número | Número do histórico de baixa. |
A04 | payment_account_id | Sim* | A01 | Número | Número da conta corrente da contrapartida do pagamento. Este campo não deve ser informado para os tipos de pagamento "credit_card_machine" e "debit_card_machine". |
A05 | payment_historic_id | Sim* | A01 | Número | Número do histórico da contrapartida do pagamento. Este campo não deve ser informado para os tipos de pagamento "credit_card_machine" e "debit_card_machine". |
A06 | payment_date | Sim | A01 | Data | Data de baixa no formato AAAA-MM-DD |
A07 | payment_credit_date | Não | A01 | Data | Data do crédito em conta no formato AAAA-MM-DD. Caso seja igual à data de baixa, informar conteúdo nulo. Este campo não deve ser informado para os tipos de pagamento "credit_card_machine" e "debit_card_machine". |
A08 | payment_discount_type | Sim | A01 | Texto | Tipo de desconto a ser concedido na baixa. Valores possíveis: |
A09 | payment_discount_amount | Não | A01 | Decimal(15.2) | Valor ou percentual do desconto conforme parametrizado no campo A08. |
A10 | payment_interest_type | Sim | A01 | Texto | Tipo de juros a ser concedido na baixa. Valores possíveis: |
A11 | payment_interest_amount | Não | A01 | Decimal(15.2) | Valor ou percentual dos juros conforme parametrizado no campo A10. |
A12 | payment_fine_type | Sim | A01 | Texto | Tipo de multa a ser concedida na baixa. Valores possíveis: |
A13 | payment_fine_amount | Não | A01 | Decimal(15.2) | Valor ou percentual dos juros conforme parametrizado no campo A12. |
A14 | rate_amount | Não | A01 | Decimal(15.2) | Valor da tarifa cobrada na baixa. |
A15 | rate_historic_id | Não | A01 | Número | Número do histórico de tarifas. Este campo sempre deverá ser informado quando o campo A14 for informado. |
A16 | rate_currency_id | Não | A01 | Número | Código da moeda para contabilização da tarifa. Este campo sempre deverá ser informado quando o campo A14 for informado. |
A17 | payment_comment | Não | A01 | Texto | Texto livre para complemento da baixa. |
A18 | unblock_customer | Sim | A01 | Booleano | Campo para indicar se o cliente deverá ser desbloqueado na baixa (caso o documento que esteja sendo baixado tenha sido o responsável pelo bloqueio do cliente): |
A19 | payment_type | Não | A01 | Texto | Tipo de pagamento. Valores permitidos: Quando não informado, este campo assume o valor "money". Para os tipos "credit_card_machine" e "debit_card_machine" é necessário existir um convênio de cartão ativo cadastrado no sistema. |
A20 | payment_installments | Não* | A01 | Número | Neste campo deve ser informada a quantidade de parcelas para pagamentos com cartão de crédito (payment type = credit_card_machine). São aceitos valores inteiros positivos maiores do que zero. Para pagamentos do tipo "money", este campo não precisa ser informado. Para pagamentos do tipo "debit_card_machine", este campo não precisa ser informado. Se for informado, o seu valor deve ser igual a 1. |
A21 | card_brand | Não* | A01 | Texto | Bandeira do cartão utilizada para pagamento dos tipos "credit_card_machine" e "debit_card_machine". Bandeiras aceitas atualmente: É necessário que a bandeira esteja cadastrada no convênio de cartão para que a mesma seja permitida. |
A22 | payment_receipt | Não | A01 | - | Campo que contém campos para indicar informações do recibo de pagamento gerado nos pagamentos dos tipos "credit_card_machine" e "debit_card_machine". |
B01 | document_number | Não | A22 | Número | Número do documento do recibo. Aceita valores inteiros positivos. |
B02 | authorization_number | Não | A22 | Texto | Código de autorização do recibo. |
Cadastro de cartão de crédito/débito
O objetivo deste serviço é realizar a inclusão de um cartão de crédito/débito para um cliente ou mercado.
Request Example:
{
"payment_card_insert": {
"person": {
"type": "customer",
"id": 15
},
"card": {
"number": "6548654825149256",
"holder": "Jose Bonifacio da Silva",
"expiration_date": "12/2024",
"brand": "visa",
"type": "credit",
"default": true,
"generate_token": true,
"security_code": "123"
}
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"card_id": 477,
"generated_token": true
}
}
Error Example:
{
"status": 0,
"error_code": 21,
"error_description": "The field card/expiration_date is invalid! This card is expired!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | payment_card_insert | Sim | Raiz | - | Dados do cartão. |
A02 | person | Sim | A01 | - | Grupo de informações da pessoa. |
B01 | type | Sim | A02 | Texto | Define o alvo, podendo ser: |
B02 | id | Sim | A02 | Número | Código do cliente/mercado (conforme o campo anterior). Aceita valores positivos maiores que zero. |
A03 | card | Sim | A01 | - | Grupo de informações do cartão. |
C01 | number | Sim | A03 | Texto | Número do cartão sem pontuação. Aceita números entre 13 e 19 dígitos. |
C02 | holder | Sim | A03 | Texto | Nome do portador do cartão. Aceita no máximo 30 dígitos. Informar sem caracteres especiais ou acentuações. |
C03 | expiration_date | Sim | A03 | Data | Data de expiração do cartão no formato MM/AAAA. Aceita períodos maiores ou iguais à data atual. |
C04 | brand | Sim | A03 | Texto | Bandeira do cartão. Valores válidos (até 08/2020 para Administradora de cartões Cielo): |
C05 | type | Sim | A03 | Texto | Tipo do cartão. Valores válidos: |
C06 | default | Não | A03 | Booleano | Define se o cartão informado será definido como o cartão padrão do cliente utilizado para cobranças recorrentes. Atenção: requer um cartão com a função débito: |
C07 | generate_token | Não | A03 | Booleano | Define se deverá ser gerado o token do cartão para cobranças periódicas: |
C08 | security_code | Não* | A03 | Texto | Código de segurança do cartão. Este campo aceita apenas números. Este campo é obrigatório se o campo generate_token foi definido como true. |
Cadastro de pré-faturamento
O objetivo deste serviço é possibilitar o cadastro de um pré-faturamento.
Request Example:
{
"pre_billing_insert": {
"customer_id": 2563,
"contract_id": 26552,
"period": "202304",
"type": "increase",
"description": "Adicional",
"value": 100.2
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"id": "69049",
"comments": ""
}
}
Error Example:
{
"status": 0,
"error_code": 16,
"error_description": "Customer or contract does not exist!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | pre_billing_insert | Sim | Raiz | - | Dados do pré-faturamento. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
A04 | period | Não | A01 | Texto | Período do pré-faturamento no padrão "AAAAMM": |
A05 | type | Sim | A01 | Texto | Tipo do pré-faturamentos. Valores permitidos: |
A06 | description | Sim | A01 | Texto | Descrição do pré-faturamento. |
A07 | value | Sim | A01 | Decimal(15.2) | Valor do pré-faturamento. O valor deve ser maior que zero. |
Consulta documentos em aberto de clientes
O objetivo deste serviço é retornar todos os documentos em aberto de um cliente que estejam lançados em determinada conta no sistema.
Request Example:
{
"get_unpaid_document": {
"customer_id": 330531,
"account_list": [
3,
6,
9
]
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": [
{
"id": 11313347,
"account_number": 3,
"due_date": "2023-03-13",
"document_number": 22934,
"bank_number": 2255878,
"charge_type": "with registry",
"historic": "Documento a Receber",
"comments": "",
"source": "Billing",
"bank": 1,
"value_init": 110.86,
"value_interest": 1.56,
"value_fine": 2.21,
"value_discount": 0,
"value_up": 114.63,
"address": {
"street": "Rua Presidente Nereu Ramos",
"number": 1001,
"complement": "",
"neighborhood": "Centro",
"city": "Marialva",
"state": "PR",
"district": "",
"zipcode": "86990000",
"country": "Brasil"
},
"contracts": [
12345
]
}
]
}
Error Example:
{
"status": 0,
"error_code": 3,
"error_description": "The field customer_id is required!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_unpaid_document | Sim | Raiz | - | Dados dos documentos. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | account_number | Sim* | A01 | Número | Número da conta corrente onde será realizada a consulta. Atenção: é permitido informar apenas um dos campos: account_number ou account_list. |
A04 | account_list | Sim* | A01 | Lista | Lista contendo todos os números de conta para realização da consulta. Atenção: é permitido informar apenas um dos campos: account_number ou account_list. |
A05 | registered_in_the_bank | Não | A01 | Booleano | Define se deverá ser retornado apenas documentos registrados no banco: Se este parâmetro não for enviado, o serviço irá assumir o valor false. |
Consulta link de notas fiscais emitidas
O objetivo deste serviço é gerar um link para download de uma nota fiscal emitida em PDF.
Request Example:
{
"invoices_issued_pdf": {
"id": [
300
]
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"id": "300",
"url": "https://meurbx.com/routerbox/tmp/notafiscal_x_xxxxxxx.pdf",
"error_code": 0,
"error_description": ""
}
]
}
Error Example:
{
"status": 0,
"error_code": 0,
"error_description": "",
"result": [
{
"id": 100,
"url": "",
"error_code": 9,
"error_description": "Nota não existe ou não está nas situações (Digitada, Autorizada, Emitida)"
}
]
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | invoices_issued_pdf | Sim | Raiz | - | Dados das notas fiscais. |
A02 | id | Sim | A01 | Número | ID das notas fiscais. |
Consulta notas fiscais emitidas
O objetivo deste serviço é retornar todas as notas fiscais emitidas para clientes.
Request Example:
{
"invoices_issued": {
"model": "21",
"issue": "2023-04-01",
"customer_id": 330570
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"id": "272324",
"model": "21",
"serial": "1",
"number": "123",
"access_key": "0927a2aed75c4a6c858avbf772ee1e5d",
"issue": "2023-04-01",
"customer_id": "330570",
"nature_of_operation": "Nota Fiscal Modelo 21",
"value": "5.00",
"status": "0",
"items": [
{
"item": "1",
"code": "PLA-1",
"description": "Item 1",
"cfop": "5301",
"unit": "1",
"quantity": "1.00",
"unit_value": "5.00",
"gross_value": "5.00",
"discount": "0.00",
"other_expenses": "0.00",
"net_value": "5.00"
}
],
"document": [
{
"document_number": "23016",
"due_date": "2023-04-15",
"document_value": "5.00",
"document_status": "A"
}
]
}
]
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "O campo issue é inválido!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | invoices_issued | Sim | Raiz | - | Dados das notas fiscais. |
A02 | model | Sim | A01 | Texto | Modelo da nota fiscal. Valores permitidos: |
A03 | issue | Sim | A01 | Data | Data de emissão. Informar no formato AAAA-MM-DD |
A04 | customer_id | Não | A01 | Número | Código do cliente. |
A05 | number | Não | A01 | Número | Número da nota fiscal. |
A06 | serial | Não | A01 | Número | Série da nota fiscal. |
A07 | access_key | Não | A01 | Texto | Chave de acesso. |
A08 | cfop | Não | A01 | Número | CFOP. |
A09 | nature_of_operation | Não | A01 | Texto | Natureza de operação fiscal. |
A10 | value | Não | A01 | Decimal(15.2) | Valor da nota fiscal. |
A11 | status | Não | A01 | Texto | Situação da nota fiscal. Valores permitidos: |
Envio de aviso de pagamento
O objetivo deste serviço é possibilitar a comunicação de pagamentos de títulos em aberto.
Request Example:
{
"send_payment_notification": {
"document_id": 11313439,
"payment_date": "2023-04-01",
"customer_id": 330570,
"file": {
"name": "comprovante.pdf",
"data": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=="
}
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": {
"message": "Payment notification sent succesfuly!",
"ticket_id": "2381860"
}
}
Error Example:
{
"status": 0,
"error_code": 21,
"error_description": "Payment notification already informed",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | send_payment_notification | Sim | Raiz | - | Dados do documento. |
A02 | document_id | Sim | A01 | Número | Id interno do documento. |
A03 | payment_date | Não | A01 | Data | Data de pagamento do documento. Informar no formato AAAA-MM-DD |
A04 | customer_id | Sim | A01 | Número | Código do cliente. |
A05 | file | Não | A01 | - | Grupo de contém as informações do anexo. |
B01 | name | Sim | A05 | Texto | Nome do anexo com a extensão (Exemplo: meu_comprovante.pdf). Não pode ter tamanho maior que 200 caracteres. |
B02 | data | Sim | A05 | Texto | Conteúdo do arquivo codificado em base64. |
A06 | ticket_open | Não | A01 | Booleano | Define se deverá ser realizada a abertura do atendimento de aviso de pagamento: Se este parâmetro não for enviado, o serviço irá assumir o valor true. |
Envio de boleto por e-mail
O objetivo deste serviço é possibilitar o envio de boletos para os clientes por e-mail.
Request Example:
{
"send_banking_billet": {
"document_id": 11313439,
"due_date": "2023-04-01",
"customer_id": 330570,
"customer_email": "cliente@provedor.com.br",
"email_subject": "Solicitação de segunda via do boleto",
"email_body": "Caro cliente, conforme solicitado, segue a segunda via do seu boleto com vencimento em 01/04/2023.",
"email_gateway_id": 1
}
}
Response Example:
{
"status": 1,
"error_code": "0",
"error_description": "",
"result": "Banking billet sent successfully"
}
Error Example:
{
"status": 0,
"error_code": 25,
"error_description": "The due date must be greater than or equal to today",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | send_banking_billet | Sim | Raiz | - | Dados do e-mail. |
A02 | document_id | Sim | A01 | Número | Id interno do boleto bancário. |
A03 | due_date | Não | A01 | Data | Data de vencimento atualizada do boleto, no formato AAAA-MM-DD. Considerações: |
A04 | customer_id | Sim | A01 | Número | Código do cliente. |
A05 | customer_email | Sim | A01 | Texto | E-mail do cliente para envio do boleto. |
A06 | email_subject | Sim | A01 | Texto | Assunto do e-mail. |
A07 | email_body | Sim | A01 | Texto | Corpo do e-mail. |
A08 | email_gateway_id | Não | A01 | Número | Id do Gateway de e-mail. |
Estorno de documentos em aberto
O objetivo deste serviço é realizar o estorno de um documento em aberto.
Request Example:
{
"document_delete": {
"document_id": 9136,
"reason_id": 1,
"comments": "Documento estornado via Web Service!",
"user": "usuario",
"invoices_typed": "cancel",
"invoices_issued": "cancel",
"invoices_pre_typed": "delete",
"service_invoice_generated": "cancel",
"service_invoice_issued": "cancel"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
"Documento estornado com sucesso!"
]
}
Error Example:
{
"status": 0,
"error_code": 29,
"error_description": "O documento informado já se encontra estornado!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | document_delete | Sim | Raiz | - | Dados do estorno. |
A02 | document_id | Sim | A01 | Número | Código interno do documento no sistema (Sequência). |
A03 | reason_id | Sim | A01 | Número | Código do motivo de estorno. |
A04 | comments | Não | A01 | Texto | Justificativa do estorno. |
A05 | user | Sim | A01 | Texto | Usuário do estorno. |
A06 | invoices_typed | Não | A01 | Texto | Ação para notas fiscais (21/22) com a situação digitada vinculadas ao documento. Valores permitidos: |
A07 | invoices_issued | Não | A01 | Texto | Ação para notas fiscais (21/22) com a situação emitida vinculadas ao documento. Valores permitidos: |
A08 | invoices_pre_typed | Não | A01 | Texto | Ação para notas fiscais (21/22) com a situação pré-digitada vinculadas ao documento. Valores permitidos: |
A09 | service_invoice_generated | Não | A01 | Texto | Ação para as faturas de serviço com a situação gerada vinculadas ao documento. Valores permitidos: |
A10 | service_invoice_issued | Não | A01 | Texto | Ação para as faturas de serviço com a situação emitida vinculadas ao documento. Valores permitidos: |
Geração de linha digitável de boleto
O objetivo deste serviço é possibilitar a geração da linha digitável de um boleto bancário em aberto.
Request Example:
{
"get_barcode": {
"banking_billet_id": 254875,
"banking_billet_due_date": "2023-04-01",
"send_barcode": true,
"cell_phone_number": "44999887766",
"send_content": "Sua linha digitável para pagamento é: |BARCODE|"
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "00000.00000 00000.000000 00000.000000 0 00000000000000"
}
Error Example:
{
"status": 0,
"error_code": 6,
"error_description": "The field banking_billet_due_date can not be past due!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_barcode | Sim | Raiz | - | Dados do boleto. |
A02 | banking_billet_id | Sim | A01 | Número | Id interno do boleto bancário. |
A03 | banking_billet_due_date | Não | A01 | Data | Data de vencimento atualizada para o boleto bancário: |
A04 | send_barcode | Sim | A01 | Booleano | Define se a linha digitável será enviada, via SMS, para um número de celular definido: O SMS será enviado a partir do gateway cadastrado nos parâmetros da central do assinante. |
A05 | return_type | Não | A01 | Texto | Tipo de retorno do serviço. Valores permitidos: Se este parâmetro não for informado, o serviço irá assumir o valor "line" para o mesmo. |
A06 | cell_phone_number | Não* | A01 | Número | Número do celular - com DDD - para envio da linha digitável por SMS. O número informado neste campo deve conter 11 dígitos. Este campo deverá ser informado se o campo send_barcode for enviado com true. |
A07 | send_content | Não | A01 | Texto | Conteúdo do SMS a ser enviado. Este campo é opcional, mas se não for informado, o SMS será enviado com um texto padrão. Quando informado, este campo deverá conter a palavra mágica BARCODE, que será substituída pela linha digitável do boleto. |
Geração de link para download da fatura de serviços em PDF
O objetivo deste serviço é gerar um link para download de uma fatura de serviços em PDF.
Request Example:
{
"get_service_invoice": {
"service_invoice_id": 1052,
"document_id": null
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"service_invoice_link": "https://meurbx.com/routerbox/tmp/fatura_xxxxxxx.pdf",
"service_invoice_available": 15
}
}
Error Example:
{
"status": 0,
"error_code": 7,
"error_description": "Service invoice not found!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_service_invoice | Sim | Raiz | - | Dados da fatura de serviço. |
A02 | service_invoice_id | Sim* | A01 | Número | Código interno da fatura de serviços. Ao informar este campo, o campo document_id não deve ser informado. |
A03 | document_id | Sim* | A01 | Número | Código interno do documento financeiro vinculado à fatura de serviços. Ao informar este campo, o campo service_invoice_id não deve ser informado. |
Geração de link para download do boleto em PDF
O objetivo deste serviço é gerar um link para download de um boleto em PDF.
Request Example:
{
"get_banking_billet": {
"document_id": 22563
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"banking_billet_link": "https://meurbx.com/routerbox/tmp/boleto_xxxxxxx.pdf",
"banking_billet_available": 15,
"banking_billet_base64": "JVBERi0xLjcKJeLjz9..."
}
}
Error Example:
{
"status": 0,
"error_code": 5,
"error_description": "Não foi encontrado um documento em aberto com o document_id informado!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_banking_billet | Sim | Raiz | - | Dados do boleto. |
A02 | document_id | Sim | A01 | Número | Sequência do boleto bancário (Deve ser um boleto válido). |
A03 | due_date | Não | A01 | Data | Data de vencimento atualizada do boleto, no formato AAAA-MM-DD. Considerações: |
Inclusão de lançamento financeiro
O objetivo deste serviço é realizar a inclusão de um lançamento financeiro.
Request Example:
{
"document_insert": {
"type": "customer",
"id": 1,
"account_id": 3,
"historic_id": 1,
"origin": "others",
"bank": 1,
"bank_agreement": 123,
"billing_type": "registered",
"days_of_protest": 10,
"classifier": 1,
"contract_id": [
1,
3,
4
],
"installments": [
{
"complement": "Adesão 01/03",
"due_date": "2024-10-10",
"punctuality_discount": {
"discount_type": "value",
"discount_value": 10
},
"items": [
{
"description": "Adesão Parcela 01/03",
"value": 100
},
{
"description": "Roteador Parcela 01/03",
"value": 100
}
]
},
{
"complement": "Adesão 02/03",
"due_date": "2024-11-10",
"punctuality_discount": {
"discount_type": "percentage",
"discount_value": 10
},
"items": [
{
"description": "Adesão Parcela 02/03",
"value": 100
},
{
"description": "Roteador Parcela 02/03",
"value": 100
}
]
},
{
"complement": "Adesão 03/03",
"due_date": "2024-12-10",
"items": [
{
"description": "Adesão Parcela 03/03",
"value": 100
},
{
"description": "Roteador Parcela 03/03",
"value": 100
}
]
}
]
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Documento incluído com sucesso!"
}
Error Example:
{
"status": 0,
"error_code": 7,
"error_description": "O cliente informado não foi encontrado!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | document_insert | Sim | Raiz | - | Dados do documento. |
A02 | type | Sim | A01 | Texto | Tipo do cadastro. Valores permitidos: |
A03 | id | Sim | A01 | Número | Código do cliente/fornecedor. |
A04 | account_id | Sim | A01 | Número | Número da conta corrente. |
A05 | historic_id | Sim | A01 | Número | Número do histórico. |
A06 | origin | Sim | A01 | Texto | Origem do documento. Valores permitidos: |
A07 | bank | Sim | A01 | Número | Local de cobrança (Código do Banco). |
A08 | bank_agreement | Sim | A01 | Número | Convênio de cobrança. |
A09 | billing_type | Sim | A01 | Texto | Tipo de cobrança. Valores permitidos: |
A10 | days_of_protest | Não | A01 | Número | Dias de protesto. |
A11 | classifier | Não | A01 | Número | Código do classificador. |
A12 | contract_id | Não | A01 | Lista | Lista contendo o número dos contratos vinculados ao documento. |
A13 | installments | Sim | A01 | Lista | Lista contendo as parcelas do documento. |
B01 | complement | Não | A13 | Texto | Complemento da parcela. |
B02 | due_date | Sim | A13 | Data | Data de vencimento da parcela, no formato AAAA-MM-DD. |
B03 | punctuality_discount | Não | A13 | - | Grupo de informações do desconto pontualidade. |
C01 | discount_type | Sim | B03 | Texto | Tipo do desconto pontualidade. Valores permitidos: |
C02 | discount_value | Sim | B03 | Decimal (15.2) | Valor do desconto pontualidade. |
B04 | items | Sim | A13 | Lista | Lista contendo os itens do boleto. |
D01 | description | Sim | B04 | Texto | Descrição do item do boleto. |
D02 | value | Sim | B04 | Decimal (15.2) | Valor do item do boleto. |
Obter informação do Pix Copia e Cola
O objetivo deste serviço é retornar o Pix Copia e Cola de um boleto bancário.
Request Example:
{
"get_pix_copia_cola": {
"banking_billet_id": 254875,
"send_pix_copia_cola": true,
"cell_phone_number": "44999999999",
"send_content": "Seu codigo Pix para pagamento é: |PIX_COPIA_E_COLA|"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "000000000000000000banco.gov.bcb.pix0000qrcodepix-h.banco.com.br/pix/v2/cobv/b940a0c6-c41c-4d6a-bd0d-a32655cb65c25204000053039865802BR5925XXX XXXXXXX 6008XXXXXXXX2070503***630417E5"
}
Error Example:
{
"status": 0,
"error_code": 16,
"error_description": "O boleto bancário não tem a informação Pix Copia e Cola!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_pix_copia_cola | Sim | Raiz | - | Dados do boleto. |
A02 | banking_billet_id | Sim | A01 | Número | Id interno do boleto bancário. |
A03 | send_pix_copia_cola | Sim | A01 | Booleano | Define se o Pix Copia e Cola será enviado por SMS: O SMS será enviado a partir do Gateway de SMS cadastrado nos parâmetros da Central do Assinante. |
A04 | cell_phone_number | Não* | A01 | Número | Número do celular com DDD para o envio do Pix e Cola por SMS. O número informado neste campo deve conter 11 caracteres (Apenas números). Este campo é obrigatório quando for informado o valor true no campo send_pix_copia_cola. |
A05 | send_content | Não | A01 | Texto | Conteúdo que será enviado por SMS. Quando informado, este campo deverá conter a palavra mágica PIX_COPIA_E_COLA, pois ela será substituída pelo Pix Copia e Cola do documento. |
Obter informação do QR Code do Pix
O objetivo deste serviço é retornar o QR Code do Pix de um boleto bancário, codificado em base64.
Request Example:
{
"get_pix_qrcode": {
"banking_billet_id": 254875
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "iVBORw0KGgoAAAANSUhEUgAAA/8AAAP/AQAAAAC+eUH7AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAAAGAAAABgAPBrQs8AAAAHdElNRQfmDA8MNDrlZnxJAAAERElEQVR42u3dQXLaMBQGYGWy6JIjcBSOBkfjKByBJYtMXNyg8CQ/mSRtJ53p929IeNbTl2VkyS7T9+a1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/CuAlzLMU1LeXb87XD+70Zuu/bhp2QMAAAAAAAAAAAAAAAAAACSAH9MyA0Dim0efr5/b6+fxNsOt3OcIAAAAAAAAAAAAAAAAAACwAjiH1vslYHP9+VQW6wM1FbDC3wIAAAAAAAAAAAAAAAAAAHwNEBMBtzxff72U++37Y84HAAAAAAAAAAAAAAAAAAD4TUCdoQKmabF9vpYLAAAAAAAAAAAAAAAAAADA1wF9uhY9IIyu5WR0HwAAAAAAAAAAAAAAAAAAgBFgkA+cbl8pjwIAAAAAAAAAAAAAAAAAANADHqRfPjje2vxqsczuY10BAAAAAAAAAAAAAAAAAAAywDm02U/p/vg4Q2nXB2IO96ufB80BAAAAAAAAAAAAAAAAAAB6QHa6fZBjWaS/fZ9kE0YDAAAAAAAAAAAAAAAAAAD0gLg/vku2AFBbJDNU/uH+dVwf2LZ/CQAAAAAAAAAAAAAAAAAAwMNn04Vcbu22y9JLWU188Vv1AQAAAAAAAAAAAAAAAAAA9IApXDPnWJoFgOcAqNnXFm+JqwvzDIfyfjZ+dTQAAAAAAAAAAAAAAAAAAEAHmLOd7vvjuxnmnMri8HvMqZ0oey8cAAAAAAAAAAAAAAAAAADAI0AJ15R2d/15WZ7zPOV5UAYAAAAAAAAAAAAAAAAAAIiAuD9+O91v34fy4PB7tj6wa7+K6wNT2xwAAAAAAAAAAAAAAAAAACA9/F5bHN6G1RlWdtfH0+11hjkBccn/OgAAAAAAAAAAAAAAAAAAgHR9oJTmP/w6w5T4utGbcNmt/Bqabqbx7noAAAAAAAAAAAAAAAAAAIDs/nxIXAA4jX3n0i4AhNGDAAAAAAAAAAAAAAAAAAAAPASEcs22LWeAmrL+2nYAAAAAAAAAAAAAAAAAAIAMcO5muCXbPv/eok0yuoTmc3Z3CwAAAAAAAAAAAAAAAAAAQPPo+JXU9YEeUNpn053DjPt89KktAwAAAAAAAAAAAAAAAAAADA+/hzwNUIeSHn6PM5T89n0IAAAAAAAAAAAAAAAAAADAcHd9zQqgy6WkCwC9b86x5OsDAAAAAAAAAAAAAAAAAAAAcQN8bVGW/+Gf2nLNypPt+uzuVwIAAAAAAAAAAAAAAAAAAHwGMGzRPpsuJpTji9cnAAAAAAAAAAAAAAAAAACAPwqYknKSzzwcDwAAAAAAAAAAAAAAAADg/wb0KeuH37ts8tFxd/0JAAAAAAAAAAAAAAAAAABgBTBIBVy6GQ73cj9DNzouPmxbIgAAAAAAAAAAAAAAAAAAwEff7PbXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8P2Any2QZOot87dDAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTEyLTE1VDEyOjUyOjU4KzAwOjAwPR7s0QAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0xMi0xNVQxMjo1Mjo1OCswMDowMExDVG0AAAAASUVORK5CYII="
}
Error Example:
{
"status": 0,
"error_code": 16,
"error_description": "O boleto bancário não tem a informação Pix QRcode!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_pix_qrcode | Sim | Raiz | - | Dados do boleto. |
A02 | banking_billet_id | Sim | A01 | Número | Id interno do boleto bancário. |
Reversão de baixa
O objetivo deste serviço é reverter a baixa de um documento financeiro.
Request Example:
{
"document_payment_reversal": {
"document_id": 32658,
"reason_id": 10,
"user": "usuario",
"comments": "Baixa indevida"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
"Payment successfully reversed"
]
}
Error Example:
{
"status": 0,
"error_code": 15,
"error_description": "The document_id is unpaid!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | document_payment_reversal | Sim | Raiz | - | Dados do documento. |
A02 | document_id | Sim | A01 | Número | Código interno do documento no sistema (sequência). Considerações: |
A03 | reason_id | Não* | A01 | Número | Código do motivo de estorno cadastrado no sistema. Conforme regras do sistema, se houver pelo menos um motivo de estorno cadastrado, o mesmo deverá ser informado. |
A04 | user | Sim | A01 | Texto | Usuário do sistema responsável pela reversão da baixa. O usuário deve estar ativo. |
A05 | comments | Não | A01 | Texto | Texto livre para observações. Tamanho máximo permitido: 100. |
Pedidos
Encerramento de pedido
O objetivo deste serviço é encerrar um pedido avulso.
Request Example:
{
"order_finish": {
"order_id": 1091
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Order successfully finished!"
}
Error Example:
{
"status": 0,
"error_code": 6,
"error_description": "This order is already finished!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | order_finish | Sim | Raiz | - | Dados do pedido. |
A02 | order_id | Sim | A01 | Número | Número do pedido a ser encerrado. |
Geração de contratos de pedido
O objetivo deste serviço é possibilitar a geração de contratos/pacotes de pedidos avulsos já encerrados.
Request Example:
{
"order_generate_contracts": {
"order_id": 1091
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Contracts generated successfully"
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "",
"result": "Order was not found or contract is already generated!"
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | order_generate_contracts | Sim | Raiz | - | Dados do pedido. |
A02 | order_id | Sim | A01 | Número | Número do pedido já encerrado. |
Variados
Alteração de campo complementar
O objetivo deste serviço é alterar os dados dos campos complementares. Apenas o campo content será alterado.
Request Example:
{
"additional_data_update": {
"additional_data_id": 1374,
"code": 21,
"target_type": "contract",
"target_id": 9121,
"content": "02468"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Additional data changed successfully"
}
Error Example:
{
"status": 0,
"error_code": 16,
"error_description": "Additional data not found!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | additional_data_update | Sim | Raiz | - | Dados do campo complementar. |
A02 | additional_data_id | Sim | A01 | Número | Id do valor do campo complementar. |
A03 | code | Sim | A01 | Número | Id do campo complementar. |
A04 | target_type | Sim | A01 | Texto | Tabela no qual será realizada a operação. Valores permitidos: |
A05 | target_id | Sim | A01 | Número | Código do cliente, mercado, atendimento, contrato ou contato, conforme definido no campo anterior. Aceita valores positivos maiores que zero. |
A06 | content | Sim | A01 | Texto | Valor do dado adicional. Embora o campo seja do tipo string, ele deve ser validado conforme o tipo de conteúdo que o dado adicional armazena. |
A07 | user | Sim* | A01 | Texto | Usuário de alteração. Este campo é obrigatório quando for informado o valor ticket no campo target_type. |
Cadastro de IP
O objetivo deste serviço é realizar a inclusão de um IP em um cliente.
Request Example:
{
"ip_insert": {
"customer_id": 330593,
"contract_id": 9121,
"ipv4": {
"ip_address": "10.10.10.20",
"mask": "255.255.255.0",
"gateway": "10.10.10.1"
},
"ipv6": {
"ip_address_wan": "2023:2023:0:4::/64",
"ip_address_delegated": "2023:db9:0:4::/64"
},
"mac": "1D:1D:1D:1D:1D:1D",
"remote_mac": "1D:1D:1D:1D:1D:1D",
"comments": "Texto livre",
"status": "A"
}
}
Response Example:
{
"status": "1",
"error_code": "",
"error_description": "",
"result": {
"ip_id": "433"
}
}
Error Example:
{
"status": "0",
"error_code": 16,
"error_description": "O IP informado já existe para este contrato!",
"result": {
"ip_id": ""
}
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | ip_insert | Sim | Raiz | - | Dados do IP. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato do cliente. |
A04 | ipv4 | Sim | A01 | - | Grupo de informações do IPV4. |
B01 | pool_id | Não | A04 | Texto | Nome da pool (IP Dinâmico) no formato [nome_da_pool]. Ao informar este campo, os campos ip_address, mask e gateway não devem ser informados. |
B02 | ip_address | Não | A04 | Texto | Endereço IP/Rede (IP Fixo). |
B03 | mask | Não | A04 | Texto | Máscara do IPv4 (IP Fixo). Este campo é obrigatório se for informado o campo ip_address. |
B04 | gateway | Não | A04 | Texto | Gateway do IPv4 (IP Fixo). Este campo é obrigatório se for informado o campo ip_address. |
A05 | ipv6 | Não | A01 | - | Grupo de informações do IPV6. |
C01 | ip_address_wan | Não | A05 | Texto | Endereço IPV6 WAN (IPV6 Fixo). Ao informar este campo, o campo wan_pool_id não deve ser enviado. |
C02 | ip_address_delegated | Não | A05 | Texto | Endereço IPV6 Delegado (IPV6 Fixo). Este campo é obrigatório se for informado o campo ip_address_wan. |
C03 | wan_pool_id | Não | A05 | Texto | Id da pool WAN do IPV6 (IPV6 Dinâmico). Ao informar este campo, o campo ip_address_wan não deve ser enviado. |
C04 | delegated_pool_id | Não | A05 | Texto | Id da pool Delegado do IPV6 (IP Dinâmico). Este campo é obrigatório se for informado o campo wan_pool_id. |
A06 | mac | Não | A01 | Texto | MAC. |
A07 | remote_mac | Não | A01 | Texto | MAC Remoto. |
A08 | comments | Não | A01 | Texto | Observações. |
A09 | status | Não | A01 | Texto | Situação. Valores permitidos: |
Consulta clientes enquadrados no Cobrador Virtual
O objetivo deste serviço é retornar uma lista com os clientes enquadrados nas regras do Cobrador Virtual.
Request Example:
{
"virtual_collector_costumer_list": {
"regra": [
58
]
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"Regra": "58",
"Prioridade": "3",
"Atraso_Max": "155",
"Atraso_Min": "1",
"Clientes": [
{
"Codigo": 1,
"Nome": "João da Silva",
"Endereco": "Rua Presidente Nereu Ramos",
"Numero": 102,
"Bairro": "Centro",
"Complemento": "",
"Distrito": "",
"Cidade": "Marialva",
"UF": "PR",
"TelComercial": "",
"TelResidencial": "",
"TelCelular": "",
"Bloqueavel": "N",
"Acessos": 44,
"ContratoNumero": 75285,
"Contrato": "75285-Plano 500MB"
}
]
}
]
}
Error Example:
{
"status": 0,
"error_code": 8,
"error_description": "A regra informada não existe!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | virtual_collector_costumer_list | Sim | Raiz | - | Dados do Cobrador Virtual. |
A02 | regra | Sim | A01 | Número | Código da regra. |
Consulta clientes on-line
O objetivo deste serviço é retornar os clientes on-line.
Request Example:
{
"get_online_customer": {
"customer_id": 330074
}
}
Response Example:
{
"status": 1,
"error_code": "0",
"error_description": "",
"result": [
{
"session_id": "0106ab3f71AAABe7",
"customer_id": "330074",
"customer_name": "João da Silva",
"contract_id": "5767",
"plan_id": "1000942",
"plan_description": "Ativo",
"authentication_username": "joao.silva",
"framed_ipv4_address": "100.76.32.32",
"framed_ipv6_address": "2804:66ac:a1e6::/64",
"delegated_ipv6_prefix": "2804:66ac:a169:4900::/56",
"session_start_time": "2023-04-01 12:00:00",
"session_up_time": "12:00:00",
"nas_port_id": "3179109",
"calling_station_id": "10:72:23:91:e1:19",
"input_octets": 0,
"output_octets": 0
}
]
}
Error Example:
{
"status": 0,
"error_code": 3,
"error_description": "The field customer_id is invalid!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | get_online_customer | Sim | Raiz | - | Dados do cliente. |
A02 | customer_id | Não | A01 | Número | Código do cliente. |
A03 | customer_name | Não | A01 | Texto | Nome do cliente. |
A04 | contract_id | Não | A01 | Número | Número do contrato do cliente. |
A05 | plan_id | Não | A01 | Número | Código do plano. |
A06 | framed_ipv4_address | Não | A01 | Texto | IPV4 do cliente. |
A07 | authentication_username | Não | A01 | Texto | Usuário de autenticação. |
A08 | session_start_time | Não | A01 | Data/Hora | Início da sessão no padrão AAAA-MM-DD HH:MM:SS. |
Consulta dados adicionais
O objetivo deste serviço é retornar uma lista com os dados adicionais de clientes, contratos e atendimentos.
Request Example:
{
"consult_additional_data": {
"type": [
"customer_market"
]
}
}
Response Example:
{
"status": 1,
"error_code": "0",
"error_description": "",
"result": [
{
"id": "3",
"table": "Clientes",
"complement": "Clientes_Filial",
"complement_value": "201",
"market_id": "1",
"customer": "João da Silva"
}
]
}
Error Example:
{
"status": 0,
"error_code": 4,
"error_description": "type error - valores válidos de type são: customer_market, contracts, services, verifique o valor do campo",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | consult_additional_data | Sim | Raiz | - | Dados do campo complementar. |
A02 | type | Sim | A01 | Texto | Tipo do campo complementar. Valores permitidos: |
Consulta extrato de radius
O objetivo deste serviço é retornar uma lista com as informações do extrato de Radius.
Request Example:
{
"radius_extract": {
"customer_id": 5
}
}
Response Example:
{
"status": 1,
"error_code": "0",
"error_description": "",
"result": [
{
"customer_id": "5",
"username": "joao.silva",
"start_time": "2023-03-04 13:00:00",
"stop_time": "2023-03-05 12:59:19",
"session_time": "86400",
"octets_input": "1024000000000",
"octets_output": "1024000000000",
"nas": "(100.0.0.1)",
"ipaddress": "100.0.0.2",
"ipv6address": "2804:66ac:a1e6::/64",
"delegatedipv6prefix": "2804:66ac:a169:4900::/56",
"mac": "10:72:23:91:e1:19",
"terminatecause": ""
}
]
}
Error Example:
{
"status": 0,
"error_code": 4,
"error_description": "Cliente inexistente no sistema",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | radius_extract | Sim | Raiz | - | Dados do extrato. |
A02 | customer_id | Não | A01 | Número | Código do cliente. |
A03 | username | Não | A01 | Texto | Usuário da autenticação. |
A04 | start_time | Não | A01 | Data/Hora | Início da sessão. |
A05 | stop_time | Não | A01 | Data/Hora | Término da sessão. |
A06 | session_time | Não | A01 | Número | Tempo da sessão. |
A07 | octets_input | Não | A01 | Número | Octetos do INPUT. |
A08 | octets_output | Não | A01 | Número | Octetos do OUTPUT. |
A09 | nas | Não | A01 | Texto | IP do NAS. |
A10 | ipaddress | Não | A01 | Texto | IP do cliente. |
A11 | ipv6address | Não | A01 | Texto | IPv6 do cliente. |
A12 | delegatedipv6prefix | Não | A01 | Texto | IPv6 delegado. |
A13 | mac | Não | A01 | Texto | MAC. |
A14 | terminatecause | Não | A01 | Texto | Causa do término. |
Consulta provisionamento
O objetivo deste serviço é retornar uma lista com as informações do provisionamento.
Request Example:
{
"provisioning_check": {
"nas": "192.168.0.13"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"NAS": "192.168.0.13",
"Slot": [
{
"Porta": {
"1": {
"OnuID": [
"R",
"R"
]
},
"2": {
"OnuID": [
"I",
"I"
]
}
}
}
]
}
]
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "Não foram encontrados dados de provisionamento com os dados informados!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | provisioning_check | Sim | Raiz | - | Dados do provisionamento. |
A02 | nas | Sim | A01 | Texto | NAS. |
A03 | slot | Não | A01 | Número | Slot. |
A04 | porta | Não | A01 | Número | Porta. |
A05 | status | Não | A01 | Texto | Situação. Valores permitidos: |
Envio de SMS avulso
O objetivo deste serviço é possibilitar o envio de SMS avulso para clientes.
Request Example:
{
"send_sms": {
"gateway_sms_id": 2,
"customer_id": 2658,
"cellphone_number": "44999887766",
"sms_content": "Olá, venha participar da nossa promoção!"
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": {
"message": "SMS sent successfully!",
"message_id": 55159
}
}
Error Example:
{
"status": 0,
"error_code": 9,
"error_description": "The cellphone number is invalid!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | send_sms | Sim | Raiz | - | Dados do SMS. |
A02 | gateway_sms_id | Sim | A01 | Número | Id interno do gateway de envio de SMS. |
A03 | customer_id | Sim | A01 | Número | Código do cliente. |
A04 | cellphone_number | Sim | A01 | Número | Número do celular que irá receber o SMS. |
A05 | sms_content | Sim | A01 | Texto | Conteúdo do SMS. |
Exclusão de campo complementar
O objetivo deste serviço é excluir campos complementares do sistema.
Request Example:
{
"additional_data_delete": {
"additional_data_id": 1374,
"code": 21,
"target_type": "contract",
"target_id": 9121
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": "Additional data deleted successfully"
}
Error Example:
{
"status": 0,
"error_code": 15,
"error_description": "Additional data not found!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | additional_data_delete | Sim | Raiz | - | Dados do campo complementar. |
A02 | additional_data_id | Sim | A01 | Número | Id do valor do campo complementar. |
A03 | code | Sim | A01 | Número | Id do campo complementar. |
A04 | target_type | Sim | A01 | Texto | Tabela no qual será realizada a operação. Valores permitidos: |
A05 | target_id | Sim | A01 | Número | Código do cliente, mercado, atendimento, contrato ou contato, conforme definido no campo anterior. Aceita valores positivos maiores que zero. |
A06 | user | Sim* | A01 | Texto | Usuário de exclusão. Este campo é obrigatório quando for informado o valor ticket no campo target_type. |
Inclusão de campo complementar
O objetivo deste serviço é incluir os dados dos campos complementares.
Request Example:
{
"additional_data_insert": {
"code": 21,
"target_type": "contract",
"target_id": 9121,
"content": "13579"
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"additional_data_id": "1374"
}
}
Error Example:
{
"status": 0,
"error_code": 24,
"error_description": "This field already exists in this register and cannot be added again!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | additional_data_insert | Sim | Raiz | - | Dados do campo complementar. |
A02 | code | Sim | A01 | Número | Id do campo complementar. |
A03 | target_type | Sim | A01 | Texto | Tabela no qual será realizada a operação. Valores permitidos: |
A04 | target_id | Sim | A01 | Número | Código do cliente, mercado, atendimento, contrato ou contato, conforme definido no campo anterior. Aceita valores positivos maiores que zero. |
A05 | content | Sim | A01 | Texto | Valor do dado adicional. Embora o campo seja do tipo string, ele deve ser validado conforme o tipo de conteúdo que o dado adicional armazena. |
A06 | user | Sim* | A01 | Texto | Usuário de inclusão. Este campo é obrigatório quando for informado o valor ticket no campo target_type. |
TIP - Alteração de conta
O objetivo deste serviço é realizar a atualização de uma conta existente na TIP. É necessário informar apenas os campos que serão alterados.
Request Example:
{
"tip_account_update": {
"customer_id": 123,
"contract_id": 165,
"password": "x6s52c1s6",
"email": "email@provedor.com",
"activate_date": "2020-10-25",
"credit_limit": 125.99,
"due_date": 10,
"tech_prefix": "44",
"block_collect_call": true,
"block_vc1": true,
"block_ldn": true,
"block_ldi": true,
"do_not_disturb": true,
"transfer_busy": true,
"transfer_always": true,
"transfer_no_answer": true
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
"Subscriber updated successfully!",
"Subscriber profile updated successfully!"
]
}
Error Example:
{
"status": 0,
"error_code": 27,
"error_description": "Customer_id/Contract_id not found!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | tip_account_update | Sim | Raiz | - | Dados da conta TIP. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. Deve estar em uma das seguintes situações: |
A04 | password | Sim | A01 | Texto | Senha da conta. |
A05 | Não | A01 | Texto | E-mail da conta. | |
A06 | activate_date | Não | A01 | Data | Data de ativação no formato AAAA-MM-DD. |
A07 | credit_limit | Não | A01 | Decimal(15.2) | Limite de crédito da conta. Aceita valores positivos. |
A08 | due_date | Não | A01 | Número | Dia de vencimento da conta. Aceita valores entre 1 e 31. |
A09 | tech_prefix | Não | A01 | Texto | Tech prefix da conta. Aceita apenas caracteres numéricos. |
A10 | block_collect_call | Não | A01 | Booleano | Configuração do bloqueio de chamadas a cobrar: |
A11 | block_vc1 | Não | A01 | Booleano | Configuração do bloqueio de chamadas para celular: |
A12 | block_ldn | Não | A01 | Booleano | Configuração do bloqueio de chamadas LDN: |
A13 | block_ldi | Não | A01 | Booleano | Configuração do bloqueio de chamadas LDI: |
A14 | do_not_disturb | Não | A01 | Booleano | Configuração do recurso Não Perturbe: |
A15 | transfer_busy | Não | A01 | Booleano | Configuração do recurso Transferência em ocupado: |
A16 | transfer_always | Não | A01 | Booleano | Configuração do recurso Transferência sempre: |
A17 | transfer_no_answer | Não | A01 | Booleano | Configuração do recurso Transferência em não responde: |
TIP - Exclusão de conta
O objetivo deste serviço é realizar a exclusão de uma conta existente na TIP.
Request Example:
{
"tip_account_delete": {
"customer_id": 123,
"contract_id": 165
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": "Account deleted successfully!"
}
Error Example:
{
"status": 0,
"error_code": 12,
"error_description": "Customer_id/Contract_id not found!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | tip_account_delete | Sim | Raiz | - | Dados da conta TIP. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. |
TIP - Inclusão de conta
O objetivo deste serviço é realizar a inclusão de uma nova conta na TIP.
Request Example:
{
"tip_account_insert": {
"customer_id": 123,
"contract_id": 165,
"username": 2731910101,
"password": "x6s52c1s6",
"email": "email@provedor.com",
"activate_date": "2024-04-01",
"credit_limit": 125.99,
"due_date": 10,
"tech_prefix": "44",
"block_collect_call": true,
"block_vc1": true,
"block_ldn": true,
"block_ldi": true,
"do_not_disturb": true,
"transfer_busy": true,
"transfer_always": true,
"transfer_no_answer": true
}
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": {
"tip_customer_id": 1526,
"tip_profile_id": 100202
}
}
Error Example:
{
"status": 0,
"error_code": 31,
"error_description": "Customer_id/Contract_id not found!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | tip_account_insert | Sim | Raiz | - | Dados da conta TIP. |
A02 | customer_id | Sim | A01 | Número | Código do cliente. |
A03 | contract_id | Sim | A01 | Número | Número do contrato. Deve estar em uma das seguintes situações: |
A04 | username | Sim | A01 | Número | Número NAP para vincular o cliente. Deve estar disponível ou reservado para o cliente. |
A05 | password | Sim | A01 | Texto | Senha da conta. |
A06 | Não | A01 | Texto | E-mail da conta. | |
A07 | activate_date | Não | A01 | Data | Data de ativação no formato AAAA-MM-DD. Se não informada, será considerada a data atual. |
A08 | credit_limit | Não | A01 | Decimal(15.2) | Limite de crédito da conta. Aceita valores positivos. |
A09 | due_date | Sim | A01 | Número | Dia de vencimento da conta. Aceita valores entre 1 e 31. |
A10 | tech_prefix | Não | A01 | Texto | Tech prefix da conta. Aceita apenas caracteres numéricos. |
A11 | block_collect_call | Não | A01 | Booleano | Configuração do bloqueio de chamadas a cobrar: Ao não informar este campo será considerado o valor false. |
A12 | block_vc1 | Não | A01 | Booleano | Configuração do bloqueio de chamadas para celular: Ao não informar este campo será considerado o valor false. |
A13 | block_ldn | Não | A01 | Booleano | Configuração do bloqueio de chamadas LDN: Ao não informar este campo será considerado o valor false. |
A14 | block_ldi | Não | A01 | Booleano | Configuração do bloqueio de chamadas LDI: Ao não informar este campo será considerado o valor false. |
A15 | do_not_disturb | Não | A01 | Booleano | Configuração do recurso Não Perturbe: Ao não informar este campo será considerado o valor false. |
A16 | transfer_busy | Não | A01 | Booleano | Configuração do recurso Transferência em ocupado: Ao não informar este campo será considerado o valor false. |
A17 | transfer_always | Não | A01 | Booleano | Configuração do recurso Transferência sempre: Ao não informar este campo será considerado o valor false. |
A18 | transfer_no_answer | Não | A01 | Booleano | Configuração do recurso Transferência em não responde: Ao não informar este campo será considerado o valor false. |
Upload de arquivos
O objetivo deste serviço é possibilitar o envio de arquivos para os cadastros, atendimentos e usuários do sistema. Podem ser enviados vários arquivos em uma mensagem.
Request Example:
{
"files_upload": [
{
"type": "customer",
"code": 1,
"filename": "meu_arquivo.pdf",
"file": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=",
"visible": "no",
"description": "Planilha de ações"
},
{
"type": "user",
"user": "usuario",
"filename": "meu_arquivo2.pdf",
"file": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4",
"visible": "no",
"description": "Planilha de ações"
}
]
}
Response Example:
{
"status": 1,
"error_code": 0,
"error_description": "",
"result": [
{
"id": 1244,
"type": "customer",
"code": 1,
"filename": "meu_arquivo.pdf",
"description": "Planilha de ações",
"file": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=",
"visible": "no"
},
{
"id": 1245,
"type": "user",
"user": "usuario",
"filename": "meu_arquivo2.pdf",
"description": "Planilha de ações",
"file": "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4",
"visible": "no"
}
]
}
Error Example:
{
"status": 0,
"error_code": 7,
"error_description": "The user: usuario informed does not exist!",
"result": ""
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | files_upload | Sim | Raiz | - | Dados do arquivo. |
A02 | type | Sim | A01 | Texto | Tipo do arquivo a ser enviado. Valores permitidos: |
A03 | code | Sim | A01 | Número | Código do cadastro ou número/protocolo do atendimento. Não deve ser informado quando type = user. |
A04 | user | Sim | A01 | Texto | Usuário do sistema. Só deve ser informado quando type = user. |
A05 | filename | Sim | A01 | Texto | Nome do arquivo com extensão. Não pode ultrapassar 200 caracteres. |
A06 | file | Sim | A01 | Texto | Conteúdo do arquivo codificado em base64. |
A07 | visible | Sim | A01 | Texto | Define se o arquivo estará visível para o cliente. Valores permitidos: |
A08 | description | Sim | A01 | Texto | Descrição do arquivo no sistema. |
Validação de acesso à Central do Assinante
O objetivo deste serviço é realizar a validação de um usuário/senha de acesso à Central do Assinante.
Request Example:
{
"authentication_validation": {
"user": "joao",
"password": "xs8f5s4x7s8"
}
}
Response Example:
{
"status": 1,
"error_code": "",
"error_description": "",
"result": {
"customer_id": 65487,
"customer_name": "João da Silva",
"contract_status": "active"
}
}
Error Example:
{
"status": 0,
"error_code": 10,
"error_description": "User/Password incorrect!",
"result": []
}
HTTP Request
POST https://[minha_url]/routerbox/ws_json/ws_json.php
Parâmetros
ID | Campo | Obrigatório | Pai | Tipo | Descrição |
---|---|---|---|---|---|
A01 | authentication_validation | Sim | Raiz | - | Dados da autenticação. |
A02 | user | Sim | A01 | Texto | Usuário de acesso à Central do Assinante. |
A03 | password | Sim | A01 | Texto | Senha de acesso à Central do Assinante. |