Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice
printablefalse

GET 
/api/bo-ba/v1/insights/stock/rupturealert

Retorna os dados do insight RuptureAlerts, filtrados pela Empresa/Filial que o usuário tem acesso. As filiais que o usuário tem acecsso são determinadas pelos grupos do usuário, e se o mesmo não pertencer a nenhum grupo, serão as que foram associadas no cadastro do usuário. Além disso, existem mais quatro campos opcionais de filtro, que se enviados no queryParam serão aplicados cumulativamente.

Parâmetros 

Os parâmetros são mandatórios, e devem ser passados via queryParams.

ParâmetroTipoDescriçãoObrigatorio
cUserIdstringId do usuário Protheus   (cUserId)x
cComGrpstringCódigo da empresa logada  (cEmpAnt)x
cBranchstringCódigo da fililal logada  (cFilAnt)x
nPagenumberPágina inicialx
nPageSizenumberRegistros por páginax
cPesqTxtstringTexto para pesquisar por código ou descrição
cTranIdstringId da transação do Insight usado
type_descriptionstringFiltro  do campo items.alerts.type_description
group_descriptionstringFiltro  do campo items.alerts.group_description
frequencystringFiltro  do campo items.alerts.frequency

CONTEÚDO

  1. Visão Geral
  2. GET Rota
    1. Descrição do Método:

    2. Parâmetros

    3. Códigos de Resposta

    4. Tratamento de Erros

    5. Segurança

    6. Exemplos 

    7. Recomendações de Uso

    8. Referências e Links Relacionados

  3. POST Rota
    1. Parametros
    2. Retorno
    3. Exemplo de utilizacao
  4. PUT Rota
    1. Parametros
    2. Retorno
    3. Exemplo de utilizacao
  5. DELETE Rota
    1. Parametros
    2. Retorno
    3. Exemplo de utilizacao

...

GET /rota/assets/{asset}/{item}

Retorna os detalhes de um ativo identificado pelos parâmetros asset e item na url.

Parâmetros 

Os parâmetros serão passados por queryParams e poderão ser utilizados em conjunto. Caso haja mais de um parâmetro enviado, a lógica utilizada dever ser "E".

...

Retorno

O serviço deve retornar as propriedades informadas, de acordo com os parâmetros passados na consulta, e com o código http 200.

PropriedadeTipoDescrição
AdicionallocationObjectObjeto indicando a localização do ativo

Caso o ativo esteja sem localização cadastrada, retornar null.

location.latnumberLatitude da localização do ativolocation.lngnumberLongitude da localização do ativolocation.local.codestringLocalização do ativo no sistema (código do N1_LOCAL)location.local.descriptionstringDescrição da localização do ativo no sistema (NL_DESCRIC)imagebooleanoindicador se o ativo possui ou não uma imagem cadastrada no sistemafieldsArrayLista com os campos disponíveis para este ativofields[].identifierstringIdentificador do campo no Protheus

branchs

stringCódigo da filial

company

stringCódigo da empresa
coduserstringCódigo do usuário

sessionId

stringId da sessão ativa

type_description

arrayArray com os tipos de produtos do insigth.  Será alimentado se o queryParam nPage = 1

group_description

arrayArray com os grupos de produtos do insigth.  Será alimentado se o queryParam nPage = 1

frequency

arrayArray com as frequência de produtos do insigth.  Será alimentado se o queryParam nPage = 1
tenantidstringTenant Id da Filial.
.alertsArrayArray com os dados do insight, por item
alerts.accuracynumberPercentual de acurácia do insight
alerts.branchstringCódigo da Filial
alerts.codestringCódigo do produto
alerts.company_groupstringCódigo Grupo de Empresa
desc_especstringDescrição Especifica
descriptionstringDescrição do produto.
alerts.forecast_valuenumberValor da predição
alerts.frequencystringD-Diário M-Mensal S-Semanal
alerts.graphPointsarrayArray com os pontos do gráfico.
alerts.graphPoints.codestringCódigo do produto
alerts.graphPoints.final_reference_datedatetimeData final do ponto de gráfico
alerts.graphPoints.frequencystringD-Diário M-Mensal S-Semanal
alerts.graphPoints.idstringId do ponto do gráfico
alerts.graphPoints.initial_reference_datestringData final do ponto de gráfico
alerts.graphPoints.lower_boundnumberLimite inferior da predição do ponto
alerts.graphPoints.pb_valuenumberValor de predição do ponto
alerts.graphPoints.predictionbooleanPredição ou histórico
alerts.graphPoints.tenantidstringTenantId do cliente
alerts.graphPoints.upper_boundnumberLimite superior da predição do ponto
alerts.group_codestringCódigo do grupo de produto
alerts.group_descriptionstringDescrição do grupo de produto
alerts.idstringId do alerta
alerts.inventory_periodicitystringD-Diário M-Mensal S-Semanal
alerts.last_revision_datedatetimeData de revisão de preço
alerts.max_stocknumberEstoque máximo do produto
alerts.mdmLastUpdateddatetimeData de geração da previsão
alerts.minimum_lotnumberEstoque minimo
alerts.originstringArmazém de origem
alerts.pb_calculatebooleanAcurácia calculada ou não
alerts.replenishmentnumberPonto de reposição
alerts.safety_stocknumberEstoque de segurança
alerts.stock_out_datedatetimeData prevista para ruptura de estoque
alerts.stock_quantitynumberQuantidade de estoque
alerts.storagestringArmazém do produto
alerts.storestringLoja
alerts.supplierstringCódigo do fornecedor
alerts.suppliernamestringDescrição do fornecedor

alerts.tenantId

stringTenantId do cliente

alerts.type

stringSigla da embalagem

alerts.type_description

stringDescrição da embalagem

alerts.unity

stringTipo de Unidade do produto

hasNext

booleanSe foi enviado o último registro, retorna false, senão, true

Tratamento de Erros

A API efetua a verificação do envio dos queryParams, caso não seja enviado algum é retornado um a mensagem de erro com o código HTTP 412

Exemplo da mensagem de retorno

Exemplo de retorno da requisição:

GET /wsatf001/assets/00001/00001?language=pt&fields=name,description,quantity http://<ip:port>/api/bo-ba/v1/insights/stock/rupturealert?cUserId=000001&cBranch=D%20MG%2001&cComGrp=T1&nPage=1&nPageSize=10

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
	"locationPermissionInsight": {"false",
		"latInsightIA": -23.5084952, "false",
		"lngbranchs": -46.6536569"D MG 01",
		"localcompany": {"T1",
			"codecoduser": "0000001000000".,
			"descriptionsessionId": "BRAZ LEME49746338f28c10042FCFB7C04F344632",
		}
	}"type_description": [],
	"group_description": [],
	"frequency": [],
	"imagetenantid": truenull,
	"fieldsalerts": [
		{
			"identifieraccuracy": "N1_NOME"85.03,
			"typebranch": "stringD MG 01",
			"valuecode": "Grua004213",
			"labelcompany_group": "NomeT1"
		},
		{
			"identifierdesc_espec": "N1_DESC",
			"typedescription": "stringEMBALAGEM - REEMBALAGEM ENFARDADEIRA FEIJAO 82X0,05",
			"forecast_value": "Grua 20 metros amarela38,
			"frequency": "D",
			"labelgraphPoints": "Descrição"[
		},
		{
					"identifiercode": "N1_QTDE004213",
					"typefinal_reference_date": "number2023-12-10T03:00:00-03:00",
					"valuefrequency": "2D",
					"labelid": "Quantidade724ac5ec9ece4a68b69e29dbea716279",
		},
	],
			"invoicesinitial_reference_date": : ["2023-12-10T03:00:00-03:00",
		{
			   "name"lower_bound": "Grupo JLima"1903.835,
					"supplierpb_value": "000001"1940.835,
					"unitprediction": "000001"true,
					"invoicetenantid": "000000120938a01-1e6d-4041-80c5-f4d980603e37",
					"seriesupper_bound": "01"1978.835
				}
			],
			"balancesgroup_code": ["0191",
		{
			"assetgroup_typedescription": "0001EMBALAGEM",
			"balance_typeid": "00001724ac5ec9ece4a68b69e29dbea716279",
			"historyinventory_periodicity": ''"0",
			"writelast_revision_offdate": false"2021-08-05T00:00:00-03:00",
			"sequencemax_stock": "00001"0,
		}
	]
}

POST /rota/assets/request/

Envia requisição para tranferência / baixa e ampliação do ativo.

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.

Payload

O payload que será enviado na requisição conterá as seguintes propriedades:

...

0: Baixa

1: Transferência

2: Ampliação

...

0: Pendente

1: Finalizada

2: Cancelada

...

Se operation=0 -> Motivo

Se operation=1 -> Detalhes

Se operation=2 -> Observação

...

0: Física

1: Contábil

"mdmLastUpdated": "2023-12-05T16:53:26-03:00",
			"minimum_lot": 500,
			"origin": "0",
			"pb_calculate": true,
			"replenishment": 3448,
			"safety_stock": 1860,
			"stock_out_date": "2023-12-02T03:00:00-03:00",
			"stock_quantity": 2166,
			"storage": "01",
			"store": "    ",
			"supplier": "      ",
			"suppliername": "",
			"tenantId": "a066b32a-9565-463b-863d-1cb65562546e",
			"type": "EM",
			"type_description": "EMBALAGEM",
			"unity": "KG"
		}
	]
}


Recomendações de Uso

Esta API funciona corretamente após as devidas configurações da funcionalidade Protheus Insights.

Exemplo de retorno da requisição:

- item: Código do item (mostrar sempre junto)  

- status: Status da solicitação (0-Pendente, 1-Finalizada, 2-cancelada)

- date: Data da solicitação, formato data Protheus YYYYMMDD

- reason: Motivo

    Se operation=0 -> Motivo

    Se operation=1 -> Detalhes

    Se operation=2 -> Observação

- value:  (só não existe se operation=1)

- quantity: (só existe se operation=0)

- balances: Tipos de saldo disponíveis no bem (ver GET /assets) (só existe se operation=0)

- type: Tipo de transferência (0-física, 1-contábil) (só existe se for operation=1)

Post /wsatf001/assets/request

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
{
	"operation": 1,
	"asset": "000001",
	"item": "0001",
	"type": "0",
    "status" : 0,    
	"reason" : "teste",
	"value" : 100,
	"quantity" : 1,
    "balance": {
		"type": "10",
		"balance_type": "3"}
}

PUT /rota/assets/{asset}/{item}

Grava a localização de um ativo identificado pelos parâmetros asset e item na url. Este serviço pode ser usado de duas formas: enviando lat e lng para atualizar a geolocalização, ou enviando o local para atualizar o N1_LOCAL.

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.

Payload

O payload que será enviado na requisição conterá as seguintes propriedades:

...

Exemplo de retorno da requisição:

- location: Array com a localização.

- lat: Latitude da localização do ativo.

- lng: Longitude da localização do ativo

- local: Código do local cadastrado no Protheus.

Put /wsatf001/assets/{assets}/{item}

Bloco de código
languagejs
themeRDark
titleresponse.json
collapsetrue
Exemplo 1: Atualizando a geolocalização


{
 "type": "latlng",
 "location": {
 	"lat": -93.5084952,
 	"lng": -96.6536569
 }
}


Exemplo 2: Atualizando o N1_LOCAL:
{
 "type": "local",
 "location": {
 	"local": "000001"
 }
}

DELETE /rota/assets/{asset}/{item}/image

  1. Método HTTP: DELETE

    • Este é o método HTTP usado para solicitar a exclusão de um recurso.
  2. Rota: /users/{id}

    • Aqui, /users/{id} é a rota específica da API para excluir um usuário pelo seu ID. O {id} é um espaço reservado que será substituído pelo ID real do usuário que queremos excluir.

Neste exemplo:

  • Estamos enviando uma solicitação DELETE para a rota /users/123.
  • Isso indicaria à API que queremos excluir o usuário com o ID 123.

Portanto, ao enviar essa solicitação DELETE para a API, o usuário com o ID 123 seria excluído do sistema, se ele existir.

Parâmetros aceitos

Não são aceitos parâmetros de URL para esta requisição.

Payload

O payload que será enviado na requisição conterá as seguintes propriedades:

...

Exemplo de retorno da requisição:

- location: Array com a localização.

Put /wsatf001/assets/{assets}/{item}

...

languagejs
themeRDark
titleresponse.json
collapsetrue

...