> For the complete documentation index, see [llms.txt](https://docs.wave.pt/mobile-logistic-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wave.pt/mobile-logistic-manual/integracoes-externas/redicom.md).

# Redicom

## Bluebird

Foi desenvolvido um novo módulo no PDA, criado exclusivamente para a **Bluebird**, denominado “**Encomendas Site**”. Este módulo opera de forma independente em relação ao restante da aplicação, possuindo interfaces próprias e métodos específicos.

Ao aceder a este módulo, são exibidas todas as encomendas pendentes da **Bluebird**. Diferentemente de outros processos do sistema, este módulo não consulta os dados a partir de **views** que retornam dados do ERP , mas sim diretamente das tabelas **ENCOMENDASBLUEBIRD** e **ENCOMENDASBLUEBIRDITEMS**.

Essas tabelas são alimentadas através de um endpoint dedicado, desenvolvido no **WebService**, cuja função é receber as encomendas enviadas pela **Bluebird**. O endpoint processa os dados recebidos e armazena tanto o cabeçalho quanto as linhas da encomenda nas tabelas referidas.

As encomendas são transmitidas pela **Redicom** seguindo a estrutura apresentada abaixo:

```json
curl -g '{{API_URL}}/bluebird/receberEncomendas' \
--header 'x-api-key: {{API_KEY}}' \
--data '{
  "StoreId": "1",
  "ExternalOrderKey": "BBPT9857",
  "DeliveryMethod": "TRANSFER",
  "Items": [
    "QJ01",
    "T001",
    "QJ01",
    "T003"
  ]
}'
```

{% hint style="info" %}
Quando a **Redicom** envia **artigos com a mesma referência mais de uma vez**, o sistema **agrupa essas linhas pela quantidade** ao armazenar nas tabelas. No entanto, **ao devolver a encomenda** para a **Redicom**, **cada linha é enviada separadamente**, **mantendo o formato original do envio**.
{% endhint %}

## Encomendas Site

Este módulo foi desenvolvido a partir do módulo “**Expedições**”, mantendo praticamente as mesmas funcionalidades, com apenas algumas adaptações específicas.

No ecrã **Encomendas Site**, são exibidos os cabeçalhos das encomendas, contendo o **ExternalOrderKey**, o **DeliveryMethod** e a **data de receção**.

Na parte superior do ecrã, está disponível uma funcionalidade de pesquisa, que permite **localizar uma encomenda específica** através da introdução do **ExternalOrderKey.**

Ao fazer swipe aparece um botão para **eliminar a encomenda**, para ser possível eliminar a encomenda **é necessária uma password que deve ser definida pelo cliente**, podendo ser **alterada a qualquer momento pelo mesmo,** para manter a segurança, basta carregar em "**Alterar password**" e colocar a password antiga e a nova.

Os restantes ecrãs funcionam de forma idêntica aos do módulo “**Expedições**”.

<div><figure><img src="/files/o1jN9piGJ0sFtHj8WKb9" alt=""><figcaption></figcaption></figure> <figure><img src="/files/cvOjEpKKn8c2x77sFNnV" alt=""><figcaption></figcaption></figure> <figure><img src="/files/rer1IBmHGvszOd7L79Et" alt=""><figcaption></figcaption></figure></div>

### Guardar Encomenda

Após a satisfação das linhas da encomenda, o tratamento a realizar depende do **DeliveryMethod** associado:

* **STORE** – indica que **a encomenda será entregue diretamente na loja**. Neste caso, ao gravar, em vez de registar os dados da encomenda numa tabela (como acontece no módulo “Expedições”), o sistema devolve a informação da encomenda à **Redicom** através de um **endpoint disponibilizado pelos mesmos**, especificando se a encomenda foi ou não separada. Dessa forma, a **Redicom** pode atualizar o estado da encomenda no seu sistema.
* **TRANSFER** – indica que **a** **encomenda não será entregue na loja**. Neste cenário, é criada uma **transferência de stock** para o **PHC**. Após esta etapa, o sistema executa o mesmo procedimento descrito para **STORE**, devolvendo a informação da encomenda ao endpoint da **Redicom**.

## Configurações BackOffice&#x20;

A configuração destas encomendas no **BackOffice** é baseada nas mesmas definições utilizadas no módulo “**Expedições**”. É fundamental que exista **apenas uma configuração ativa**, caso contrário o funcionamento do módulo poderá ser comprometido.

No contexto da **Bluebird**, apenas alguns campos da configuração têm relevância:

* Atribui código de barras
* Permite imprimir etiquetas
* Valida stock por armazém

{% hint style="warning" %}
A opção “**Permite imprimir etiquetas**” **deve permanecer desativada**, uma vez que a **Bluebird** ainda **não possui o módulo de impressão de etiquetas**.
{% endhint %}

Ainda no **BackOffice**, na área de **Parâmetros Gerais**, existem alguns parâmetros específicos para a **Bluebird**, estando disponíveis selecionado a opção "Bluebird" na ***combobox*** no **canto superior direito** do ecrã de **Parâmetros Gerais.**

## Tabelas

### ENCOMENDASBLUEBIRD

| Campo             | Tipo de dados | Descrição                                                |
| ----------------- | ------------- | -------------------------------------------------------- |
| id                | int           | Representa o id do cabeçalho auto incrementável.         |
| ExternalOrderKey  | nvarchar(25)  | Identificador completo da encomenda.                     |
| StoreId           | nvarchar(25)  | Identificador da loja que receberá a encomenda.          |
| DeliveryMethod    | nvarchar(25)  | Método de entrega "TRANSFER" ou "STORE".                 |
| DateOrder         | nvarchar(25)  | Data em que a encomenda foi recebida.                    |
| ExternalOrderID   | nvarchar(50)  | Identificador númerico da encomenda.                     |
| StoreExternalCode | nvarchar(50)  | Nome da loja que recebe a encomenda.                     |
| ArmazemPHC        | nvarchar(20)  | Numero do armazem no PHC da loja que recebe a encomenda. |

### ENCOMENDASBLUEBIRD

| Campo            | Tipo de dados | Descrição                                       |
| ---------------- | ------------- | ----------------------------------------------- |
| id               | int           | Representa o id da linha auto incrementável.    |
| ExternalOrderKey | nvarchar(25)  | Identificador completo da encomenda.            |
| Sku              | nvarchar(25)  | Referência do artigo.                           |
| Qtd              | float         | Quantidade pedida na encomenda.                 |
| Qtd2             | float         | Quantidade picada.                              |
| StoreId          | nvarchar(25)  | Identificador da loja que receberá a encomenda. |
| SemStock         | bit           | Identificador se a linha está sem stock.        |
