Introdução
Esta é a documentação dos serviços de comunicação para smartphones da solução MultiClubes. Este manual tem como objetivo ajudar no entendimento e na implementação de uso dos serviços que compõem a API.
Comunicação
A comunicação suportada é SOAP 1.1 sobre HTTPS com o uso do protocolo TLS 1.0 e SSL 3.0. O certificado fornecido pelo servidor deve ser inspecionado a cada nova conexão, para confirmar que se trata de um certificado confiável. A URL do servidor contida no certificado deve corresponder ao endereço correto do MultiClubes (multiclubes.com.br). Os dados devem estar codificados no formato UTF8.
Autenticação
O acesso à API é restrito aos parceiros cadastrados, sendo necessário informar, em cada conexão, a chave de autenticação fornecida pela nossa equipe de suporte técnico ao parceiro. A duração da chave é indeterminada, somente perdendo a validade caso a conta de acesso seja desativada.
A chave de autenticação deve ser informada pelo cabeçalho da chamada pelo header com nome _AuthenticationKey com namespace ns.
Glossário
- Cliente: é o clube ou parque que contratou o serviço do aplicativo para seus usuários.
- Usuário: é a pessoa que usa o aplicativo, compra convites e adquire produtos e serviços nos pontos de venda do cliente.
- Conta de consumo: é o cartão ou pulseira onde são apontados os serviços e produtos adquiridos pelo usuário.
- Conta de consumo pré-paga: são contas de consumo onde valor é pago antecipadamente ao consumo nos pontos de venda através de recargas de crédito.
- Conta de consumo pós-paga: são contas de consumo onde valor é pago após o consumo nos pontos de venda. Neste cenário o usuário possui um limite de crédito que define até qual valor o saldo da sua conta poderá ficar negativo. Ao atingir o valor limite, um pagamento é necessário para realizas novos consumos.
- Conta de acesso: é um cadastro que o usuário deve fazer para uso do aplicativo.
- Pontos de venda: são pontos de prestação de serviços ou venda de produtos onde o meio de pagamento aceito é um cartão ou pulseira de consumo. Tais pontos são normalmente bares, restaurantes e quiosques.
- Movimento de consumo: são movimentos financeiro que afetam o saldo do cartão de consumo. Dentre eles: venda, estorno, recarga, pagamento, etc.
- Crédito: valor positivo do saldo da conta de consumo. Os créditos são utilizados para consumo nos pontos de venda do cliente.
- Pagamento: pagamento para quitar ou reduzir um saldo devedor. Esta operação é realizada em conta de consumo pós-pagas.
- Recarga: pagamento antecipado para inclusão de créditos na conta de consumo. Normalmente, esta operação é realizada em conta de consumo pré-paga, mas também pode ser realizada em contas de consumo pós-pagas.
- Valor faturado: é o valor a pagar de consumos que foi enviado para o cliente, normalmente via cobrança bancária.
- Cartão verificado: é quando o cartão de crédito teve ao menos uma transação de pagamento aprovada.
- Cartão autorizado para uso futuro: é quando o usuário autoriza que o cartão fique disponível para uso futuro afim de não precisar digitar os dados novamente.
- Turma: é o espaço em que o sócio será matriculado para realizar a modalidade que deseja.
- Modalidade: é a atividade que será realizada na turma em que o sócio for matriculado.
- Matrícula: é o registro efetivo de um sócio em uma turma.
- Capacidade: é a quantidade máxima de alunos que uma turma suporta.
- Taxa de matrícula: é o valor a ser pago por um sócio ao se matricular em uma turma.
- Manutenção: é o valor mensal que um sócio deve pagar ao estar matrículado em uma turma.
- Manutenção proporcional: é o valor cobrado referênte à mensalidade da turma em proporção ao número de dias do mês que serão contabilizados desde que matrícula foi efetuada.
- Fila de espera: fila para realizar a matrícula em uma turma. Caso o sócio deseje fazer matrícula em uma turma cuja capacidade máxima fora alcançada, o mesmo deverá ser inserido na fila de espera.
Funcionamento
A API foi idealizada para que o aplicativo seja usado parcialmente sem conectividade com o servidor. Este comportamento tem como principais objetivos:
- Aumentar a responsividade do aplicativo.
- Reduzir o uso de dados do usuário.
- Permitir o uso do aplicativo sem conexão à internet.
Com esse funcionamento as funcionalidades básicas que devem ser oferecidas no aplicativo são:
Operações com conectividade:
- Autenticação de usuário.
- Recepção de atualizações das contas de consumo. É esperado que a atualização dos dados possa ser realizada manualmente pelo usuário e em segundo plano pelo aplicação quando o usuário acionar as funções de consultas ou entrar no aplicativo.
- Pagamento de conta de consumo pós-paga.
- Pagamento de estacionamento.
- Recarga de conta de consumo pré-paga.
- Consulta de extrato de consumo.
- Compra de convites.
- Consulta disponibilidade de convites.
- Consulta convites comprados.
- Cancelamento de compras de convites.
- Consulta de turmas disponíveis para matrícula.
- Matrícula de sócios em turmas.
- Cancelamento de matrícula de sócios.
- Inclusão de sócios na fila de espera de uma turma.
- Remoção de sócios da fila de espera de uma turma.
Operações sem conectividade:
- Entrada no aplicativo de usuário previamente autenticado.
- Consulta de saldo de consumo.
Para permitir as operações sem conectividade, o aplicativo deve armazenar localmente os dados previamente recebidos e atualizá-los a medida que novos dados de atualizações forem recebidos. Veja aqui uma estrutura de banco de dados em SQL Lite para servir como ponto de partida.
Como começar
- Obtenha o endereço do serviço e chave de autenticação de homologação.
- Abra o endereço do serviço no navegador e obtenha a documentação WSDL.
- Realize chamadas em homologação para testes de reconhecimento.
- Integre as chamadas com seu software em homologação.
- Obtenha o endereço do serviço e chave de autenticação de produção.
- Realize chamadas em produção para testes de finalização.
Notas de versão
1.0.0
25/04/2018
- Criada esta documentação para auxiliar no entendimento e implementação.
1.0.1
16/05/2018
- Alterada a versão SOAP utilizada.
- Alterada a versão do TLS e SSL utilizadas.
- Chave de segurança
AuthenticationKeyrenomeada para_AuthenticationKeye inserida necessidade de ser enviada no namespacens. - Removido o código de erro
InvalidIntegrationUserdos códigos de erros do serviço Consumption.
1.0.2
24/07/2018
Banco de dados
- Alterada a tabela
ConsumptionAccountspara conter os camposTypeeOpenInvoiceValue.
Serviço Account
- Alterado o campo
EmaildeLoginDataparaCredential. - Alterado o código de erro
InvalidEmailOrPasswordparaInvalidCredentialOrPassword. - Incluído o código de erro
TitleNotActive. - Incluído o código de erro
TitleHasNotAccount.
Serviço Consumption
- Alterado o método
Refreshpara retornar as contas de consumo de sócio. - Incluído o campo
Typeno retornoAccountResultpara identificar o tipo da conta de consumo. - Incluído o campo
OpenInvoiceValueno retornoAccountResultpara identificar o valor faturado. - Incluído o método
LoadLimit. - Incluído o método
EditLimit. - Alterado o código de erro
InvalidAccountparaInvalidConsumptionAccount. - Alterado o código de erro
AccountNotFoundparaConsumptionAccountNotFound. - Incluído o código de erro
MaxCreditLimitExceeded. - Incluído o código de erro
UnauthorizedCreditLimit. - Incluído o código de erro
InvalidCloudAccount. - Incluído o código de erro
UnauthorizedCloudAccount.
1.0.3
08/08/2018
- O elemento
AppFaultdisparado em exceções teve as seguintes alterações:- Renomeado para
SecuredFault. - Namespace alterado para
http://multiclubes.com.br.
- Renomeado para
1.0.4
25/09/2018
Foram realizadas modificações que tiveram o objetivo de alterar a consulta do extrato de movimentos de consumo para exigir conectividade. Desta forma, foram simplificados os mecanismos de atualização de dados necessários para operações sem conectividade com o servidor. Os dados para operações sem conectividade ficaram restritos a autenticação e a visão geral das contas de consumo.
Banco de dados
- Removida tabela
ConsumptionMovements. - Removida tabela
ConsumptionMovementDetails. - Removido o campo
CloudAccounts.LastRefreshDate. - Removido o campo
ConsumptionAccounts.LastRefreshDate. - Removido a chave estrangeira
IX_ConsumptionMovements_AccountNumber.
Serviço Consumption
- Incluído o método
LoadMovements. - Alteração do retorno do método
AddAccountcom a remoção do campoAddAccountResult.Movements. - Alteração do parâmetro do método
LoadPaymentcom a remoção do campoLoadPaymentData.LastRefreshDatee renomeação do campoLoadPaymentResult.ChangesparaLoadPaymentResult.Refresh. - Alteração do parâmetro do método
PerformPaymentcom a remoção do campoPerformPaymentData.LastRefreshDate. - Alteração do parâmetro do método
PerformPaymentePerformRechargecom a renomeação do campoPaymentResult.ChangesparaPaymentResult.Refresh. - Alteração do parâmetro do método
PerformRechargecom a remoção do campoPerformRechargeData.LastRefreshDate. - Alteração do parâmetro do método
Refreshcom a remoção do campoRefreshData.LastRefreshDate. - Alterações do retorno dos métodos
Refresh,EditLimit,LoadPayment,PerformPaymentePerformRecharge:- Removido campo
RefreshResult.Status. - Removido campo
RefreshResult.Movements. - Removido campo
RefreshResult.Date. - Removido campo
RefreshResult.RemovedAccountNumbers.
- Removido campo
1.0.5
16/10/2018
Foram realizadas modificações que tiveram o objetivo de exibir os cartões de crédito vinculados a conta e também a possibilidade de removê-los da conta. Desta forma, o processo de pagamento foi simplificado para utilizar cartões já cadastrados anteriormente e possibilitar o gerenciamento dos cartões da conta.
Serviço Consumption
- Alteração do parâmetro do método
PerformPaymentcom inclusão do campoPaymentData.NewCard. - Alteração do parâmetro do método
PerformPaymentcom inclusão do campoPaymentData.ExistingCard. - Alteração do parâmetro do método
PerformPaymentcom a remoção do campoPaymentData.CreditCard. - Alteração do retorno do método
LoadPaymentcom a inclusão do campoLoadPaymentResult.Cards. - Incluído o código de erro
RequiredCreditCard.
Serviço Account
- Criação do método LoadCards.
- Criação do método RemoveCard.
- Incluído o código de erro
UnauthorizedCloudAccount. - Incluído o código de erro
HasAwaitingPayments.
1.0.6
04/01/2019
- O campo
Codeno retornoAccountResultpassou a ser opcional, para suportar contas de consumo que estão ativas e que não possuem código vinculado. No momento em que uma conta de consumo é criada, ela sempre possui um código vinculado, porém existem operações no sistema, que podem remover o código da conta de consumo e a mesma continuar ativa.
1.0.7
07/02/2019
Foram realizadas modificações que tiveram o objetivo de retornar um código de erro mais claro ao cenário de pagar um cartão de consumo pós-pago com saldo zerado.
Serviço PerformPayment
- Incluído o código de erro
EmptyConsumptionDueValue.
1.0.8
12/30/2019
- Inclusão do serviço Title para visualização de sócios e cobranças de um título.
1.0.9
03/13/2020
Serviço Title
- Alterações do retorno do método
GetMembers:- Incluído o campo
MemberResult.Email - Incluído o campo
MemberResult.Card - Incluído o campo
MemberResult.Registers
- Incluído o campo
1.0.10
06/10/2020
Serviço Consumption
- Adicionado o método
Transferpara transferências de saldo entre contas de consumo - Adicionado o método
ReverseTransferpara reverter transferências de saldo entre contas de consumo
1.0.11
06/12/2020
Serviço Consumption
- Adicionado o método
LoadVoucherspara exibir as informações do voucher. - Incluído novo código de erro
InvalidProductVoucher
1.0.12
06/15/2020
Foram realizadas modificações para que a API liste automaticamente os cartões de consumo vinculados com o mesmo Documento (CPF/Outro) da conta do app. Foram incluídas as informações de hotelaria nos retornos da API de consumo.
Serviço Consumption
- Incluído o campo
HotelReserveemAccountResultpara exibir dados da reserva na API.
1.0.13
06/19/2020
Incluído o suporte à convênio e-commerce por Hotel.
Método LoadPayment retorna as bandeiras de cartões aceitas no método.
Serviço Consumption
- Incluído o código de erro
PaymentGatewayRulesConflict - Alteração do retorno do método
LoadPaymentadicionado o campoLoadPaymentResult.EnabledCardTypes - Alteração do parametro do método
LoadPaymento campoAccountNumberspassa a ser obrigatório. - Alteração do retorno do método
LoadPaymentadicionado o campoLoadPaymentResult.EnabledCardTypes
1.0.14
07/02/2020
Incluído o suporte à operações de convites.
Método GetInvitations retorna os convites disponíveis para a data selecionada.
Método GetSales retorna os convites comprados pela API, com seus detalhes e código.
Método Sell realiza a venda de convites por cartão de crédito.
Método CancelSale cancela uma compra de convites.
Serviço Invitations
1.0.15
03/08/2020
Serviço Consumption
- Alterações do retorno do método
LoadVouchers:- Incluído o campo
AccountVoucher.Descriptionque retorna a descrição do produto contido no voucher.
- Incluído o campo
1.0.16
17/09/2020
Serviço Consumption
- Alterações do retorno do método
Refresh:- Incluído o campo
CustomerTypeque retorna id e nome do tipo de cliente.
- Incluído o campo
1.0.17
03/05/2021
Serviço Support
- Incluído o serviço Support
1.0.18
06/05/2021
Serviço RewardPoints
- Incluído o serviço RewardPoints
1.0.19
16/09/2021
Serviço Title
- Alterações do retorno do método
GetMembers:- Incluído o campo
MemberResult.ExamResults
- Incluído o campo
1.0.20
16/09/2021
Serviço Title
- Alterações do retorno do método
GetDuns:- Incluído o campo
DunResult.DunType - Incluído o campo
DunResult.TypeTypeableLine
- Incluído o campo
1.0.21
12/08/2022
Serviço Parking
- Incluído o serviço Parking
1.0.22
05/10/2023
Serviço Disciplines
Incluído o serviço Disciplines.
Método GetAvailableClasses retorna os sócios e as turmas disponíveis para matrícula para um título.
Método GetRegisters retorna os sócios de um título e suas respectivas matrículas.
Método Register realiza a matrícula de um sócio em uma modalidade.
Método Unregister desfaz a matrícula de um sócio em uma modalidade.
1.0.23
23/11/2023
Serviço Invitations
Incluído o serviço Invitations.
Propriedade VoucherId de SoldResult renomeada para SaleId.
1.0.24
29/11/2023
Serviço Invitations
- Alterações do método
Sell:- Incluído o campo de retorno
PlanResult.AvailableDates. - Incluído o campo de retorno
InvitationResult.MapId.
- Incluído o campo de retorno
- Alterações do método
GetInvitations:- Incluído o campo de retorno
SellResult.Success. - Incluído o campo de retorno
SellResult.NotAvailableMapLocations. - Alterado o campo de retorno
SellResult.SaleId.
- Incluído o campo de retorno
- Alterações do método
GetSales:- Alterado parâmetro
SoldDataparaSalesData. - Alterado parâmetro
SoldResultparaSaleResult. - Alterado retorno
SoldtemResultparaSaletemResult. - Incluído o campo de retorno
SaletemResult.MapLocation. 4 Removido o campoInvitationsData.VisitDate.
- Alterado parâmetro
- Incluído o código de erro
MapNotFound. - Incluído o código de erro
MapLocationNotFound. - Incluído o código de erro
MapLocationInvalidInvitationQuantity. - Incluído o código de erro
IntegrationNotEnabled. - Incluído o código de erro
TefCancelFailed. - Adicionado o método
GetAvailableQuantitypara retornar a quantidade disponível do convite para uma determinada data. - Adicionado o método
GetMapLocationspara retornar os locais disponíveis de um mapa para uma determinada data.
1.0.25
06/12/2023
Serviço Disciplines
Incluída propriedade ProportionalMaintenanceTax no objeto AvailableClassResult.
1.0.26
21/12/2023
Serviço Invitations
Renomeado objeto SaletemResult para SaleItemResult.
1.0.28
11/01/2024
Serviço Disciplines
Adicionado o método GetParcels para retornar as informações de parcelamento do pagamento da matrícula.
1.0.29
29/01/2024
Serviço Invitations
Adicionado método GetInvitationParcels que retorna as possibilidades de parcelamento de convite
- Alteração no método
Sell- Incluído o código de erro
SalePlanPaymentNotConfigured, - Incluído o código de erro
OneMoreSalePlan - Incluído o código de erro
InvalidParcelQuantity - Incluído o código de erro
InvalidValueOfParcel
- Incluído o código de erro
1.0.30
29/01/2024
Serviço Invitations
- Alterações do retorno do método
GetSales:- Incluída propriedade
Descriptionno objetoSaleItemResult.
- Incluída propriedade
1.0.31
29/01/2024
Serviço Invitations
- Alterações do retorno do método
GetSales:- Incluída propriedade
PlanIdno objetoSaleItemResult.
- Incluída propriedade
1.0.32
30/01/2024
Serviço Disciplines
- Adicionado método
GetContract, que permite emitir o contrato de matrícula ou de cancelamento de um sócio Alterações do retorno do método
Register:Incluída propriedade
RegisterTaxesResultno objetoRegisterResult, que retorna informações de taxas da matrícula efetuadaIncluído o código de erro
OneMoreSalePlan,- Incluído o código de erro
InvalidParcelQuantity, - Incluído o código de erro
InvalidValueOfParcel.
1.0.33
05/02/2024
Serviço Invitations
Adicionado objeto AvailableQuantityResult que retorna a quantidade disponível para a capacidade de venda do título e a capacidade do mapa.
1.0.34
05/02/2024
Serviço Disciplines
Adicionado objeto RegisterProduct que retorna as informações de parcelas geradas e pagas com a operação de matrícula.
Objeto RegisterProduct adicionado dentro do ClassRegisterResult para que seja retornado no método GetRegisters().
1.0.35
11/02/2025
Modificação nos modelos de contrato para que todos os campos que informam a bandeira do cartão usem o novo tipo TefCardType.
A alteração foi realizada para que a documentação seja devidamente apresentada. Apesar da alteração, os valores usados se mantiveram.
Serviço Account
- Alteração do retorno do método
LoadCards, alterando o tipo do campoLoadCardResult.CardTypenos elementos.
Serviço Consumption
- Alteração do retorno do método
LoadPayment, alterando o tipo do campoLoadPaymentResult.EnabledCardTypes. - Alteração do retorno do método
LoadPayment, alterando o tipo da propriedadeCardTypenos elementos do campoLoadPaymentResult.Cards. - Alteração do parâmetro do método
LoadAcquirerAuthentication, alterando o tipo da propriedadeCardTypeno campoLoadAcquirerAuthenticationData.NewCard. - Alteração do parâmetro do método
PerformPayment, alterando o tipo da propriedadeCardTypeno campoPerformPaymentData.NewCard. - Alteração do parâmetro do método
PerformRecharge, alterando o tipo da propriedadeCardTypeno campoPerformRechargeData.NewCard. - Incluído o código de erro
InvalidCardTypeConversion.
Serviço Disciplines
- Alteração do parâmetro do método
Register, alterando o tipo da propriedadeCardTypeno campoRegisterData.Payment.NewCard.
Serviço Invitations
- Alteração do parâmetro do método
Sell, alterando o tipo da propriedadeCardTypeno campoSellData.Payment.NewCard.
Serviço Title
- Alteração do parâmetro do método
PayDuns, alterando o tipo da propriedadeCardTypeno campoPerformPaymentData.NewCard.
1.0.36
21/02/2025
Serviço Consumption
- Incluída a propriedade
CanStoreCardno objetoLoadPaymentResultdo métodoLoadPaymento qual informa se os dados do cartão podem ser salvos para transações posteriores.
1.0.37
21/02/2025
Serviço Consumption
- Incluída a propriedade
AcquirerAuthenticationProviderno objetoLoadPaymentResultdo métodoLoadPaymento qual informa o provedor de autenticação do adquirente.
1.0.38
27/02/2025
Serviço Consumption
- Alterado o retorno do método
LoadPaymentpara que ele não retorne a lista de cartões quando a operação possuir autenticação 3DS.
1.0.39
05/03/2025
Serviço Account
- Adicionado novo método
LoginTokenque permite a autenticação do usuário através do token gerado pelo métodoGenerateToken.
1.0.40
10/03/2025
Criação de nova seção para documentar o fluxo de pagamento PIX na API de consumo.
Serviço Consumption
- Adicionado o método
CreatePixPaymentpara criação de código de pagamento PIX do cartão de consumo. - Adicionado o método
CreatePixRechargepara criação de código de recarga PIX do cartão de consumo. - Adicionado o método
AbortPixpara cancelar transação PIX criada para pagamento ou recarga do cartão de consumo. - Adicionado o método
ConfirmPixPaymentpara confirmação de pagamento PIX do cartão de consumo. - Adicionado o método
ConfirmPixRechargepara confirmação de recarga PIX do cartão de consumo. - Adicionado novo método
LoginTokenque permite a autenticação do usuário através do token gerado pelo métodoGenerateToken. - Alterado o retorno do método
LoadPaymentpara que ele não retorne a lista de cartões quando a operação possuir autenticação 3DS.
1.0.41
10/03/2025
Serviço Exams
- Inclusão do novo serviço de exames.
- Criado novo método
LoadIntervalsque retorna os horários de exames disponíveis para agendamento.
1.0.42
14/03/2025
Serviço Exams
- Criado novo método
Scheduleque efetiva o agendamento do exame.
1.0.43
17/03/2025
Serviço Exams
- Criado novo método
Loadque lista os agendamentos de exames ativos do título, os tipos de exames disponíveis para agendamento, sócios que podem realizar o agendamento e informações sobre as formas de pagamento.
1.0.44
18/03/2025
Serviço Address
- Inclusão do novo serviço de endereços.
- Criado novo método
Searchque retorna as informações de um endereço através de seu CEP (Código de Endereçamento Postal).
1.0.45
18/12/2025
Serviço Consumption
- Incluída a propriedade
MovementUIDno objetoMovementResultdo métodoLoadMovementso qual informa o identificador único do movimento.
1.0.46
15/01/2026
Serviço Facilities
- Inclusão do novo serviço de espaços.
- Criado novo método
Loadque retorna os espaços existentes, a regras de locação e consulta e as locações do título. - Criado novo método
CheckAvailabilityque retorna os espaços e as datas em que ele estará alugado. - Criado novo método
Rentque realiza locações de espaços. - Criado novo método
GetFacilityRentContractque retorna o contrato de locação.