Árvore de páginas

Versões comparadas

Chave

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

...

Índice

  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

01. VISÃO GERAL

...

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 de usuáriodo 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
cUserId
String
stringId do usuário Protheus   (cUserId)x
cComGrp
String
stringCódigo da empresa logada  (cEmpAnt)x
cBranch
String
stringCó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

Retorno

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

PropriedadeTipoDescrição
Adicionalitems.

branchs

stringCódigo da filial

company

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

sessionId

stringId da sessão ativa

items

ObjectObjeto container dos alerts

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.
items
.alertsArrayArray com os dados do insight, por item
items.
alerts.accuracynumberPercentual de acurácia do insight
items.
alerts.branchstringCódigo da Filial
items.
alerts.codestringCódigo do produto
items.items.alerts.
alerts.company_groupstring
Código Grupo de Empresa
items.alerts.
desc_especstring
Descrição Especifica
descriptionstringDescrição do produto.
items.
alerts.forecast_valuenumberValor da predição
items.
alerts.frequencystringD-Diário M-Mensal S-Semanal
items.
alerts.graphPointsarrayArray com os pontos do gráfico.
items.
alerts.graphPoints.codestringCódigo do produto
items.
alerts.graphPoints.final_reference_datedatetime
items.
Data final do ponto de gráfico
alerts.graphPoints.frequencystringD-Diário M-Mensal S-Semanal
items.items.
alerts.graphPoints.idstring
Id do ponto do gráfico
alerts.graphPoints.initial_reference_datestring
items.items.
Data final do ponto de gráfico
alerts.graphPoints.lower_boundnumber
Limite inferior da predição do ponto
items.
alerts.graphPoints.pb_valuenumber
Valor de predição do ponto
alerts.graphPoints.predictionbooleanPredição ou histórico
items.
alerts.graphPoints.tenantidstringTenantId do cliente
items.
alerts.graphPoints.upper_boundnumber
items.
Limite superior da predição do ponto
alerts.group_codestring
items.
Código do grupo de produto
alerts.group_descriptionstring
items.
Descrição do grupo de produto
alerts.idstringId do alerta
items.
alerts.inventory_periodicitystring
items.items.
D-Diário M-Mensal S-Semanal
alerts.last_revision_datedatetime
Data de revisão de preço
alerts.max_stocknumberEstoque máximo do produto
items.items.
alerts.mdmLastUpdateddatetime
Data de geração da previsão
alerts.minimum_lotnumberEstoque minimo
items.
alerts.originstring
items.
Armazém de origem
alerts.pb_calculatebooleanAcurácia calculada ou não
items.
alerts.replenishmentnumber
items.
Ponto de reposição
alerts.safety_stocknumber
items.items.
Estoque de segurança
alerts.stock_out_datedatetime
Data prevista para ruptura de estoque
alerts.stock_quantitynumberQuantidade de estoque
items.
alerts.storagestringArmazém do produto
items.
alerts.storestring
items.
Loja
alerts.supplierstringCódigo do fornecedor
items.
alerts.suppliernamestringDescrição do fornecedor
items.

alerts.tenantId

stringTenantId do cliente
items.

alerts.type

stringSigla da embalagem
items.

alerts.type_description

stringDescrição da embalagem
items.

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 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
{
	"PermissionInsight":    "false",
	"InsightIA": "false",
	"branchs": "D MG 01",
    	"company": "T1",
	"coduser": "000000",
    "company	"sessionId": "T149746338f28c10042FCFB7C04F344632",
	"type_description": [],
	"group_description":   "items[],
	"frequency": [],
	"tenantid": {
        null,
	"alerts": [
            {
                		{
			"accuracy": 8785.69,
                03,
			"branch": "D MG 01",
                			"code": "000102004213",
                			"company_group": "T1",
                			"desc_espec": "",
                			"description": "EMBALAGEM - ARROZREEMBALAGEM PARBOILIZADOENFARDADEIRA SABOR SUL 6X5KG TP1 LF",
                FEIJAO 82X0,05",
			"forecast_value": 518,
                38,
			"frequency": "D",
                			"graphPoints": [
                    {
                        				{
					"code": "000102004213",
                        					"final_reference_date": "2023-12-10T03:00:00-03:00",
                        					"frequency": "D",
                        					"id": "2b86ef8a63f702aaa59dc397817908b6724ac5ec9ece4a68b69e29dbea716279",
                        					"initial_reference_date": "2023-12-10T03:00:00-03:00",
                        					"lower_bound": 61761903.721,
                        835,
					"pb_value": 64071940.721,
                        835,
					"prediction": true,
                        					"tenantid": "20938a01-1e6d-4041-80c5-f4d980603e37",
                        					"upper_bound": 66371978.721
                    }
                ],
                835
				}
			],
			"group_code": "0191",
                			"group_description": "EMBALAGEM",
                			"id": "2b86ef8a63f702aaa59dc397817908b6724ac5ec9ece4a68b69e29dbea716279",
                			"inventory_periodicity": "0",
                			"last_revision_date": "20222021-0208-04T0005T00:00:00-03:00",
                			"max_stock": 0,
                			"mdmLastUpdated": "2023-12-05T16:53:26-03:00",
                			"minimum_lot": 0,
                500,
			"origin": "0",
                			"pb_calculate": true,
                			"replenishment": 11322,
                3448,
			"safety_stock": 5627,
                1860,
			"stock_out_date": "2023-12-02T03:00:00-03:00",
                			"stock_quantity": 7475,
                2166,
			"storage": "01",
                			"store": "    ",
                			"supplier": "      ",
                			"suppliername": "",
                			"tenantId": "a066b32a-9565-463b-863d-1cb65562546e",
                "type": "EM",
                "type_description": "EMBALAGEM",
                "unity": "KG"
            }
        ],
        "tenantId": null
    },
    "sessionId": "a16d8a68f2701004480BB7C04F344632"
 }

Tratamento de erros

Caso n

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

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": "0EM",
    "status" : 0,    
	"reason" : "teste",
	"value" : 100,
	"quantity" : 1,
    "balance": {
		"typetype_description": "10EMBALAGEM",
			"balance_typeunity": "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

...

KG"
		}
	]
}


Recomendações de Uso

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