Fazendo chamadas API no Order Hub
É recomendado que você use os diferentes serviços auxiliares que são fornecidos pelas bibliotecas do Order Hub para se comunicar com o ambiente do OMS, os locatários IV e SIP. Ao usar esses auxiliares, não será necessário lidar com a autenticação e outros aspectos de comunicação necessários se você tiver usado a interface Angular HttpClient básica. Order Hub foi projetado para chamar APIs REST usando a notação JSON.
Chamando APIs do OMS
BucCommOmsRestAPIService usando a função a seguir:invokeOMSRESTApi(api, data, params): Observable<any>- API
- O nome da API. Por exemplo,
getOrderList,getItemList, etc.. - dados
- O JSON de entrada esperado pela API (interface de programação de aplicativos)
- params
- Outros parâmetros suportados pelo Order Hub, como parâmetros de cache.
BucCommOmsRestAPIService.invokeOMSRESTApi('getItemPrice', payLoad, null);Como uma referência, o tutorial a seguir chama APIs do OMS: Tutorial: Customizando a ação de pedido de Planejamento.
Chamando serviços do OMS
BucCommOmsRestAPIService usando outra função:invokeOMSCustomService(api, data, params, customHeaders?: any): Observable<any>- API
- O nome da API. Por exemplo,
getOrderList,getItemList, etc.. - dados
- O JSON de entrada esperado pela API (interface de programação de aplicativos)
- params
- Outros parâmetros suportados pelo Order Hub, como parâmetros de cache.
- customHeaders
- Qualquer cabeçalho customizado extra que precisa ser incluído no cabeçalho da solicitação.
BucCommOmsRestAPIService.invokeOMSCustomService('RequestForReassignOrderRelease', orderReleaseInput, null, customHeaders);Chamando APIs IV e SIP
Para fazer chamadas REST para IV e SIP, é possível verificar se o Order Hub já possui serviços auxiliares para o serviço específico. Caso contrário, é possível criar um novo serviço Angular com uma função simples para chamar a API..
public getNodeTypes(): Observable<any> {
const resourceDomain = 'promising';
const domain = BucCommBEHttpWrapperService.getPathPrefix(resourceDomain);
const options = BucCommBEHttpWrapperService.getRequestOptions(resourceDomain);
const tenantId = BucSvcAngularStaticAppInfoFacadeUtil.getPromisingTenantId();
let path = '/{tenantId}/v1/nodeTypes';
const queryParameters: any = {}
path = path.replace('{tenantId}', tenantId);
if (tenantId === undefined) {
return throwError(new Error('Missing required parameter: tenantId'));
}
const url = domain + path;
const p: HttpParams = RestServicesHelper.getSupplyDemandParameters(queryParameters);
const obsToReturn$ = this.http.get(url, resourceDomain, p, options);
return obsToReturn$;
}- As bibliotecas do Order Hub podem configurar os cabeçalhos de domínio e de autenticação adequados para fazer solicitações http para os respectivos microsserviços SIP usando o domínio de recurso.Os valores do domínio de recurso aceitos são:
- CAS
- Obtém os cabeçalhos de autenticação do locatário para comunicação com microsserviços da transportadora SIP.
- catálogo
- Obtém os cabeçalhos de autenticação do locatário para comunicação com microsserviços do catálogo SIP.
- configuração
- Obtém os cabeçalhos de autenticação do locatário para comunicação com microsserviços de configuração do SIP.
- inventário
- Obtém os cabeçalho de autenticação de locatário para comunicação com microsserviços IV.
- inventário_buc
- Obtém os cabeçalhos de autenticação do locatário para comunicação com microsserviços IV que são destinados a telas específicas do Order Hub .
- promessa
- Obtém os cabeçalhos de autenticação do locatário para se comunicar com microsserviços promissores SIP
- Configure o caminho para ser o caminho da API de REST relativo do microsserviço que você está tentando chamar
O restante da função do exemplo pode ser deixado como está.
Como referência, o tutorial a seguir chama as APIs IV e SIP: Tutorial: Customizando a página de resultados da procura de Inventário.