Documentação da API.NET do idrake Service

Documentos relacionados
MANUAL DE INTEGRAÇÃO. Plataforma Simplus

Passo a passo Cotação e Emissão

REEMBOLSO ONLINE ALLIANZ SAÚDE REEMBOLSO ONLINE

MANUAL SIGISS MÓDULO ORGÃOS PÚBLICOS

Como Gerar Instruções de Boletos? - FS133.2

Manual Portal TISS. Solicitação de Procedimento

Assinatura Eletrônica Proposta de Vida

Manifesto Destinatário

Carregar Documentos Fiscais Fornecedor (Modelo 93) Fatura de Conhecimento de Transporte. Última Atualização 11/01/2019

Sub-rogação de Proponente

Carregar Documentos Fiscais - Fornecedor (Modelo 57) - Conhecimento de Transporte Eletrônico. Última Atualização 11/01/2019

Manual Sistema de Gerenciamento dos Auxiliares da Justiça

MANUAL DO SERVIÇO TÉCNICO REFERENCIADO CARDIF

Quadrem International Ltd. Manual de Cotação Votorantim

Portal MGS No Portal MGS, o usuário fará o login na Área Cliente, usando o seu CPF e a senha fornecida pela MGS.

Pesquisa Atende Manual do Sistema 2017

1º passo) Acesse o Portal Estrela Guia no caminho: Menu Completo > Consulta > Status do contrato.

Manual - ITM Hospedagem e Locação Off Line. Todos os Direitos desta Apresentação Pertence a Tour House Viagens e Turismo Ltda.

Portal de Cotação da FCC S.A.

Prefeitura Municipal De Morro Redondo/RS. Manual Contribuinte Nota Fiscal de Serviços Eletrônica NFS-e

Manual de Utilização do Sistema de Controle de BM da Priner

REGRAS E ORIENTAÇÕES PARA O REEMBOLSO

Manual do Usuário (Módulo Prestador) Nota Fiscal Eletrônica de Serviço

INTERNAL ACESSO AO PORTAL

Manual Sistema de Gerenciamento dos Auxiliares da Justiça

Manual AR&B Versão NEXT GEN

GPROTECH. Gestor4_PAF-ECF

MILLENNIUM NETWORK. Millennium ECO Documentação Técnica 05/2017

Manual de Integração DOCUMENTAÇÃO TÉCNICA. Especificação para integração via API, Webservices e SMPP.

AUTORIZADOR ELETRÔNICO ELOSAÚDE

POLÍTICA DE ENTREGA. Condições gerais. Situações em que pode ocorrer atraso na entrega. Quando recusar a entrega

APOSENTADORIAS - CONTAGEM DE TEMPO DO TEMPO DE CONTRIBUIÇÃO E CÁLCULO DE

PROCESSO ÁREA DE ATUAÇÃO POP Nº Emitir Notas Fiscais Carteira de Faturamento 28 - CFI/Fat

Manual de Integração Cartórios

e-garantia Manual da Assistência Técnica

Como criar uma fatura ou uma nota de credito. Copyright Tungsten Corporation plc 2018

Bem-vindo ao Manual de Navegação do Portal do Fornecedor Vale.

Tutorial de navegação do Portal Clinica Fazenda

Sumário. tyller. Manual Configuração Corporate

Para Conveniados. O cadastro da solicitação do estágio deve ser realizado pela Empresa/Profissional Liberal/Agente de Integração e não pelo aluno.

Manual ecliente Empresa. Allianz. Saúde

Manual de Pedido Para todos os Compradores Albrás Alcoa Alumínio Anglo American Anglo Gold Masisa Nestlé Samarco Vale Valesul Votorantim

Portal de Cotação da FCC S.A.

O que é DDFe? DDF-e é um acrônimo para Distribuidor de Documentos Fiscais Eletrônicos.

CUIDAR DE VOCÊ. ESSE É O PLANO

Primeiro enviar o SMS para configurar o IP da plataforma 1818

Instruções de Acesso: Eventos Científicos. Departamento de TI da FACTHUS (Atualizado: 22/09/2016)

Tutorial Dispensa de Disciplinas - Aluno

Manual de Usuário GLPI

SRM SISTEMA DE CADASTRO DE FORNECEDORES EDP

Curitiba DOCUMENTAÇÃO WebService PGSMS e PG Versão 1.0

Sistema de Solicitação de Certidões

WOOBA SISTEMAS DE INFORMÁTICA MANUAL. Corporate

Changelog 25/01/2019. Importante: é necessário limpar o cache do seu navegador antes de acessar a interface web do sistema.

A marca que mais respeita você. Primeiro ACESSO

ABVTEX. Programa de Certificação de Fornecedores para o Varejo. Fornecedores

Agendamento de Entregas

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PRÓ-REITORIA DE ASSUNTOS ESTUDANTIS E CIDADANIA MANUAL DO PORTAL DO CANDIDATO

Carregar Documentos Fiscais - Fornecedor

A marca que mais respeita você. Primeiro ACESSO

MANUAL OPERACIONAL ANTISPAM CLOUD

4. É necessário estar conectado à Internet?

Manual ecliente. Allianz. Saúde

Manual de Utilização - FacGTO

Manual do Usuário. Requisição de Veículos

1. INTRODUÇÃO... pág DESCRIÇÃO DAS FILAS...pág EXIBIR CONTAGEM DE UMA FILA... pág VISUALIZAR O CONTEÚDO DE UMA FILA... pág.

Passo a Passo para Alterações Cadastrais. 1ª Etapa: Encaminhamento da solicitação de alteração de dados cadastrais

DOCUMENTAÇÃO DTIC

MOODLE MANUAL DE UTILIZAÇÃO - ALUNO. Elaborado por: Tecnologia da Informação 2019/1 Versão 1.0

MANUAL MÓDULO CHECKOUT CIELO (VERSÃO 1.0.0) QUERY COMMERCE

Reemissão Automática - Rapid Reprice Versão Referência Galileo

Manual do Usua rio - OAB Serviços

REGRAS E ORIENTAÇÕES PARA O REEMBOLSO

Transcrição:

Documentação da API.NET do idrake Service Pré-requisitos Framework.NET 4 Preparação Via FTP Obter as seguintes DLLs e referenciar em seu projeto: idrake.client.dll (versão 1.0.3.X) Constant.Utils.dll Constant.Web.Utils.dll AutoMapper.dll (versão 3.2.1.0) Castle.Core (versão 3.3.0) Newtonsoft.Json.dll (versão 6.0.3) Caminho para download: ftp://api.drake.bz/idrake Configuração Adicione as seguintes entradas no Web.config ou App.config: <appsettings> <add key="senderid" value="<<código da entidade>>" /> <add key="privatekey" value="<<chave privada>>" /> <add key="drakeintegrationserviceurl" value="https://i.drake.bz/messageservice" /> </appsettings>

Changelog Versão 1.0.2.63 Suporte a mensagem de envio de aprovação de fatura Suporte a mensagem de recusa de fatura Suporte a mensagem de aprovação de fatura Suporte a reuso de atendimentos não concluídos Suporte a aviso de leitura de mensagens Alteração na mensagem de confirmação de atendimento Inclusão da propriedade Provider Substituição da propriedade Price por Value, Fees e Comission Inclusão da propriedade RebatesByReuse Inclusão da propriedade ReservationNumberReused Inclusão da propriedade TreatmentId Alteração na mensagem de solicitação de mudança de serviço Inclusão da propriedade ServiceOrder Inclusão da propriedade TreatmentIdToTryReuse Alteração na classe Participant Substituição da propriedade CPF por Cpf Substituição da propriedade Passport por Passports Substituição da propriedade Tels por PhoneNumbers Substituição da propriedade CostCenter por CostCenterCode e CostCenterName Substituição da propriedade Email por Emails Alteração na classe LogisticNeed Inclusão da propriedade CostCenterCode Inclusão da propriedade CostCenterName Alteração na mensagem de leitura de mensagens Possibilidade para ler mensagens específicas, bastando informar o código das mensagens. Versão 1.0.3.7 Alteração do namespace de todas as classes. Suporte a mensagem para obtenção de informações sobre relatório de custos atuais

Usando a API Como obter as mensagens não confirmadas Toda mensagem enviada para um destinatário fica na caixa de saída do mesmo até ser confirmada sua leitura. Para ler as mensagens que estão nesta caixa de saída, basta utilizar o código a seguir: var operacao = new ReadOperation(); var mensagens = operacao.readmessages(); Esta operação irá retornar uma lista de mensagens que podem ser de vários tipos. A seguir os possíveis tipos de mensagens retornadas: ServiceRequestMessage Mensagem enviada pelo cliente quando o mesmo deseja um serviço. Possui as seguintes informações: Código da mensagem Código DRAKE Código do remetente Código do destinatário Necessidade de logística referente ao serviço solicitado ChangeRequestMessage Mensagem enviada pelo cliente quando o mesmo deseja alterar as informações de um serviço solicitado anteriormente. Possui as seguintes informações: Código da mensagem Código DRAKE Código usado pelo fornecedor Código do remetente Código do destinatário Novas informações sobre a necessidade de logística do serviço solicitado CancelationRequestMessage Mensagem enviada pelo cliente quando o mesmo deseja solicitar o cancelamento de uma solicitação de serviço. Possui as seguintes informações: Código da mensagem (Id) Código usado pelo fornecedor (ExternalId) Código do remetente (SenderId)

RefuseInvoiceMessage Mensagem enviada pelo cliente quando o mesmo deseja recusar uma fatura enviada pelo fornecedor. Possui as seguintes informações: Código da mensagem (Id) Código DRAKE da fatura (DrakeId) Código usado pelo fornecedor que representa o código da fatura (ExternalId) Código do remetente (SenderId) Itens da fatura (Items) Código DRAKE da necessidade referenciada no item da fatura (DrakeId) Total cobrado (Total) Descontos (Rabate) Parecer do cliente sobre o item da fatura cobrado (Appraisal) Estado do item da fatura (Status) Aprovação solicitada (ApprovalRequested) Aprovado (Approved) Recusado (Refused) Valores adicionais (ExtraValues) Valor (Value) Comentários sobre o valor adicional (Comments) Trabalhador (Participant) Código DRAKE do trabalhador (DrakeId) Nome do trabalhador (Name) ApproveInvoiceMessage Mensagem enviada pelo cliente quando o mesmo deseja aprovar uma fatura enviada pelo fornecedor. Possui as seguintes informações: Código da mensagem (Id) Código DRAKE da fatura (DrakeId) Código usado pelo fornecedor que representa o código da fatura (ExternalId) Código do remetente (SenderId)

Como confirmar as mensagens lidas Após serem lidas, é preciso tratá-las e informar ao serviço de integração que elas podem ser removidas da caixa de saída. Para removê-las da caixa de saída basta chamar o método ConfirmReadedMessages() na mesma instância de ReadOperation onde as mensagens foram lidas: var operacao = new ReadOperation(); var mensagens = operacao.readmessages(); // ( Faz alguma coisa com as mensagens lidas ) operacao.confirmreadedmessages();

Como confirmar a solicitação de atendimento a um serviço Para confirmar a solicitação de atendimento para um cliente, é preciso informar os seguintes dados: Número da reserva (ReservationNumber) Início do serviço (Start) Término do serviço (End) Endereço de origem (Origin) Endereço de destino (Destination) Ordem em que o serviço será atendido (ServiceOrder) A seguir um exemplo de código para realizar esta operação: var ordem = new List<ServiceOrder>(); ordem.add(new ServiceOrder() Participant = new Participant() Name = "João", Identity = "111222333" }, DeliveryOrder = 1, PickupOrder = 2 ordem.add(new ServiceOrder() Participant = new Participant() Name = "Maria", Identity = "XX1234" }, DeliveryOrder = 2, PickupOrder = 1 operacao.confirmservice(new ConfirmServiceMessage()

Start = new DateTime(2000, 1, 1), End = new DateTime(2010, 1, 1), Value = 120, Fees = 10, Comission = 20, Acknowledgment = true, ReservationNumber = "RN10000", DrakeId = 1000000, ExternalId = "EXT200000", Origin = new Address() Street = "Rua das Bromélias", Complement = "Número 2000", District = "Centro", City = "Macaé", State = "RJ", Country = "Brasil" }, ServiceOrder = ordem

Como recusar uma solicitação de atendimento Para recusar uma solicitação de atendimento de um cliente, é preciso informar os seguintes dados: Motivo da recusa (Details) A seguir um exemplo de código para realizar esta operação: operacao.refuserequest(new RefuseRequestMessage() Details = "Não tenho condições de atendê-lo.", DrakeId = 200000

Como cancelar um serviço Para cancelar um serviço, é preciso informar os seguintes dados: Motivo da recusa (Details) A seguir um exemplo de código para realizar esta operação: operacao.refuserequest(new RefuseRequestMessage() Details = "Carro quebrou.", DrakeId = 200000 Como recusar uma solicitação de cancelamento Para recusar uma solicitação de cancelamento de um serviço, é preciso informar os seguintes dados: A seguir um exemplo de código para realizar esta operação: operacao.refuserequest(new RefuseCancelationMessage() DrakeId = 200000

Como confirmar um cancelamento solicitado pelo cliente Existem duas formas para confirmar um cancelamento solicitado pelo cliente: sem reembolso e com reembolso. Para cancelar sem reembolso é preciso informar os seguintes dados: A seguir um exemplo de código para realizar esta operação: operacao.cancelconfirmation(new CancelationConfirmationMessage() DrakeId = 200000 Para cancelar com reembolso é preciso informar os seguintes dados: Valor do reembolso (RefundValue) A seguir um exemplo de código para realizar esta operação: operacao.cancelconfirmationwithrefund(new CancelationConfirmationWithRefundMessage() DrakeId = 200000, RefundValue = 50 Como notificar o uso de um serviço Para notificar o uso de um serviço, é preciso informar os seguintes dados:

A seguir um exemplo de código para realizar esta operação: operacao.notifyuse(new NotifyUseMessage() DrakeId = 200000 Como notificar o não uso do serviço Para notificar a não utilização de um serviço, é preciso informar os seguintes dados: A seguir um exemplo de código para realizar esta operação: operacao.notifynoshow(new NotifyNoShowMessage() DrakeId = 200000

Como solicitar a aprovação de uma fatura Após um ciclo de atendimento, é preciso solicitar enviar para o cliente a fatura que será cobrada. Esta tarefa pode ser feita através do idrake. A seguir um exemplo de código que envia uma fatura com dois itens, onde um deles possui um valor adicional referente ao consumo de frigobar de um funcionário: var codigofaturanofornecedor = FAT-00001 ; var mensagem = new InvoiceApprovalRequestMessage() ExternalId = codigofaturanofornecedor }; var itemfatura01 = new InvoiceItem DrakeId = 1000, Comments =, Total = 200, Rebate = 10 }; var itemfatura02 = new InvoiceItem DrakeId = 1001, Comments =, Total = 250, Rebate = 5 }; var itemfatura02.extravalues.add(new InvoiceItemExtraValue Comments = Funcionário consumiu frigobar, Value = 120, Participant = new Participant DrakeId = 100, Name = JOÃO DA SILVA } mensagem.additem(itemfatura01); mensagem.additem(itemfatura02); operacao.invoiceapprovalrequest(mensagem);

Como realizar várias operações de uma única vez A classe ProviderOperation implementa o padrão Unit of Work, dessa forma é possível adicionar várias suboperações antes de chamar a função Execute. A seguir um exemplo de código: operacao.refuserequest(new RefuseRequestMessage() Details = "Não tenho condições...", DrakeId = 2000000 operacao.cancelservice(new CancelServiceMessage() DrakeId = 300000, Details = "Carro quebrou." operacao.notifyuse(new NotifyUseMessage() DrakeId = 60000 operacao.notifynoshow(new NotifyNoShowMessage() DrakeId = 7000

Como definir um código de destinatário padrão em uma operação Para o código não ficar repetitivo, é possível definir o código do destinatário ao instanciar a operação. A seguir um exemplo de código: var operacao = new ProviderOperation(2); // Valor padrão do código do destinatário. operacao.refuserequest(new RefuseRequestMessage() // Como não foi informado um RecipientId aqui, será usado o valor 2. Details = "Não tenho condições...", DrakeId = 2000000 operacao.cancelservice(new CancelServiceMessage() // Como não foi informado um RecipientId aqui, será usado o valor 2. DrakeId = 300000, Details = "Carro quebrou." operacao.notifynoshow(new NotifyNoShowMessage() RecipientId = 3, // Como foi informado um RecipientId aqui, ele irá ignorar o padrão DrakeId = 7000

Como definir várias mensagens do mesmo tipo de uma só vez Caso tenha mais de uma mensagem do mesmo tipo para ser enviada em uma mesma operação, basta usar um dos métodos que recebem uma lista de mensagens. A seguir alguns exemplos de código: var operacao = new ProviderOperation(2); var mensagens_de_recusa = List<RefuseRequestMessage>(); mensagens_de_recusa.add(...); mensagens_de_recusa.add(...); mensagens_de_recusa.add(...); operacao.refuserequests(mensagens_de_recusa); Todas as operações descritas nesse documento possuem um método que recebe uma lista de mensagens. Como obter os dados para geração do relatório de custos atuais A API possui uma operação de consulta que permite obter informações para geração do relatório de custos atuais. Esta operação retorna todas as entradas de faturamento relacionados à conta do cliente que está se conectando ao serviço do idrake. A seguir um exemplo de código que mostra como obter essas informações: var operacao = new ReportOperation(2); // obtém o relatório com as entradas da fatura do momento. var relatorio = operacao.getbillentriesreport(datetime.now); // Início do período da fatura var inicio = relatorio.start; var termino = relatorio.end; // Valor da fatura sem desconto. var custo_total = relatorio.totalcost;

// Valor da fatura com desconto. var custo_total_com_desconto = relatorio.totalcostwithdiscount; // Descontos obtidos na fatura. var desconto = relatorio.discount; // Momentos do relatório. Representa cada dia do período do relatório. var momentos = relatorio.moments; // Períodos disponíveis para serem consultados. var períodos = relatorio.periods; Os gráficos abaixo são exemplos do que pode ser feito com as informações retornadas por este método:

Como receber uma mensagem de confirmação de leitura Em alguns casos é necessário saber quando uma mensagem enviada para um cliente foi processada. Para fazer isto, basta alterar o valor da propriedade Acknowledgment da mensagem enviada para true. Conforme exemplo abaixo: var minhamensagem = new ConfirmServiceMessage Acknowledgment = true, }; Ao enviar esta mensagem com sucesso, a propriedade Id será carregada com um valor único para controle (minhamensagem.id). Quando esta mensagem for processada pelo cliente, uma mensagem do tipo MessageType.Acknowledgment será colocada na sua caixa de leitura. Esta mensagem possui duas propriedades importantes: o ReceivedMessageId Código da mensagem que foi processada o Sent Data em que mensagem foi processada.