Connecting to LSports - Portuguese

Ligação rápida com LSports - RabbitMQ

Portanto, começou a implementar os serviços LSports via RMQ, boa escolha! Vamos por a sua conexão a funcionar de uma forma simples e rápida.

Este guia tem o objetivo de dar uma melhor visão de como a equipa de Suporte da equipa LSports para resolver problemas rapidamente e com um esforço mínimo da sua parte.

Instruções passo a passo: ● Primeiro, nós recomendamos usar o nosso SDK (atualmente disponível em C#, PHP ou Node) para uma implementação rápida, pode fazer do download dos ficheiros baseado na sua linguagem de programação favorita a partir daqui SDK - C#

O exemplo seguinte refere-se às seguintes iniciais: Username: MyEmail Password: Passw0rd1234 Package: 102030 (Pode escolher as credenciais que lhe são dadas pela LSports)

Repare: Todos os exemplos estão em C#. Caso escolha implementar o seu próprio código, irá precisar da biblioteca RMQ aqui. Por favor tenha em consideração que a LSports atualmente usa a versão 3.6.5.0

  1. Comece por verificar de o seu pacote está ativo enviando uma chamada API como as seguintes:

Pacote InPlay: https://inplay.lsports.eu/api/Package/EnablePackage?username=MyEmail&password=Passw0rd1234&packageid=102030

Pacote Prematch: https://prematch.lsports.eu/OddService/EnablePackage?username=MyEmail&password=Passw0rd1234&guid=guid-provided-by-LSports

Resposta:

<xs:schema>
  <xs:element name="Message">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Header">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:short" name="HttpStatusCode"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Body">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="Message"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Caso o pacote já tenha sido ativado então a mensagem deve conter “Value was already set”. Para qualquer outro estado ou mensagem de erro por favor verifique as suas credenciais ou contacte-nos.

  1. CCrie uma ligação factory do seguinte modo:

ConnectionFactory connectionFactory = new ConnectionFactory
{
    HostName = "Described below",
    Port = 5672,
    UserName = "MyEmail",
    Password = "Passw0rd1234",
    AutomaticRecoveryEnabled = true,
    VirtualHost = "Customers", //Default value
    RequestedHeartbeat = 580,
    NetworkRecoveryInterval = TimeSpan.FromSeconds(1)
};

RMQ HostName: InPlay: inplay-rmq.lsports.eu PreMatch: prematch-rmq.lsports.eu

  1. Crie uma ligação do seguinte modo:

IConnection connection = _connectionFactory.CreateConnection();
  1. Crie um modelo do seguinte modo:

IModel model = connection.CreateModel();
  1. Configure a qualidade de serviço:

model.BasicQos(prefetchSize: 0, prefetchCount: 1000, global: false);
  1. Mensagem consume:

EventingBasicConsumer consumer = new EventingBasicConsumer(model);
consumer.Received += (sender, eventArgs) =>
{
    // Deserialize message
    // Call method to handle deserialized message
};
  1. Começar mensagem consumo: (tenha o cuidado de escrever o seu ID do pacote com sublinhados ('_') como descrito) Por exemplo, se o ID do pacote for “102030”

model.BasicConsume(queue: '_102030_', noAck: true, consumer: consumer)
  • A partir daqui já deve ser capaz de criar a sua conexão RMQ e começar a receber mensagens do Batimento cardíaco.

Requisição de uma Imagem Completa Como as atualizações vindas da RMQ são apenas deltas, antes de começar a consumir mensagens vindas da LSports, pode requisitar uma imagem completa dos dados que deverá receber. Pode fazê-lo fazendo uma chamada API aos seguintes:

  • Inplay Snapshot - Fornece os dados para todos os eventos que estão atualmente a acontecer.

  • Prematch Get events - Fornece os dados para o(s)evento(s) requisitado(s).

Para uma explicação detalhada da nossa estrutura de dados, pode continuar a ler a nossa documentação.

Possíveis tipos de erros

Aviso: Se a fila chegar a 10000 mensagens não lidas/unacked será automaticamente purgada e o seu pacote será desativado.

A maioria das falhas de conexão ocorrem devido a credenciais incorretas ou pacotes inativos. Abaixo encontram-se os erros e causas mais comuns.

"Connection failed" - Por favor verifique os detalhes de ligação e.g. Ligação factory, anfitrião RMQ, RItualHost foram escritos corretamente "Access refused"- Por favor verifique se o seu pacote está ativo e que as credenciais de início de sessão e ID do pacote foram escritos corretamente.

Agora tudo o que tem de fazer é, começar a requisitar os nossos dados de desporto de acordo com as suas necessidades. Para a documentação detalhada por favor siga o link abaixo

Se tiver qualquer feedback sobre o nosso documento de conexão ou se precisar de suporte, por favor contacte o nosso contacto de vendas, LSports

Last updated