open-index/open-npm huggingface dataset:
npm package: @oderco/sap-b1s-sdk
Description: ## Instalação
Latest version: 1.0.5

# Documentação do SDK B1S para Node.js

## Instalação

Para utilizar o sdk, siga os passos de instalação a seguir:

### Instalação via npm

```bash
npm install @oderco/sap-b1s-sdk
```

### Importando o SDK

```javascript
import request from "@oderco/sap-b1s-sdk";

// Configuração da URL base do Service Layer
const baseUrl: any = "https://localhost:50000/b1s/v1/";

// Configuração das credenciais
const api = request.default({
  baseUrl,
  CompanyDB: "XXX",
  Password: "XXX",
  UserName: "XXX",
});
```

## Autenticação

Para se autenticar no Service Layer, utilize a função `login()` do SDK ODERCO. Veja o exemplo abaixo:

```javascript
(async () => {
  try {
    const response = await api.login();

    if (response.status === 200) {
      // Autenticação bem-sucedida
    }
  } catch (error) {
    console.error(error);
  }
})();
```

## Operações Básicas

O SDK permite realizar operações CRUD no Service Layer. Abaixo estão alguns exemplos de operações básicas.

### Para passar parametros

```javascript
const queryParams = {
  $select: "CardCode,CardName,CardType",
  $top: 10,
  $skip: 1,
};

api
  .call("GET", "BusinessPartners", "'C12845'", queryParams)
  .then((response: any) => console.log(response.data))
  .catch((error) => console.error(error));

// result url
// https://192.168.0.163:50000/b1s/v1/BusinessPartners('C12845')?$select=CardCode%2CCardName%2CCardType&$top=10&$skip=1
```

### Criar um novo recurso

```javascript
const itemData = {
  ItemCode: "item001",
  ItemName: "Item 001",
  ItemType: "S",
};

api
  .call("POST", "Items", false, false, itemData)
  .then((response: AxiosResponse<any>) => console.log(response))
  .catch((error) => console.error(error));
```

### Atualizar um recurso existente

```javascript
const updatedItemData = {
  ItemName: "Novo Nome do Item 001",
};

api
  .call("PATCH", "Items", 1, false, updatedItemData)
  .then((response: AxiosResponse<any>) => console.log(response))
  .catch((error) => console.error(error));
```

### Buscar um recurso

```javascript
api
  .call("GET", "Items", 1, false, false)
  .then((response: AxiosResponse<any>) => console.log(response))
  .catch((error) => console.error(error));
```

### Excluir um recurso

```javascript
api
  .call("DELETE", "Items", 1, false, false)
  .then((response: AxiosResponse<any>) => console.log(response))
  .catch((error) => console.error(error));
```

Esses são exemplos de operações básicas que podem ser realizadas com o SDK ODERCO. Você pode adaptar esses exemplos para atender às suas necessidades específicas de integração com o SAP Business One Service Layer.

### Tipos

```javascript
// Tipos

const request: ({ CompanyDB, Password, UserName }: Params) => {
    login: () => Promise<any>;
    call: <T>(baseUrl: string, method: "GET" | "POST" | "PUT" | "DELETE", resource: string, id?: number | any, params?: Record<string, any> | unknown, data?: any, customConfig?: AxiosRequestConfig) => Promise<AxiosResponse<T, any>>;
}

```