# 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.        |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wave.pt/mobile-logistic-manual/integracoes-externas/redicom.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
