Para ilustrar um exemplo básico, com a criação de uma mensagem ISO8583 com esta biblioteca, vamos retomar o exemplo.
Mensagem de Echo:
- MTI: 0800
- Bit 3 conteúdo 300000
- Bit 24 conteúdo 045
- Bit 41 conteúdo 11111111
- Bit 42 conteúdo 222222222222222
- Bit 63 conteúdo This is a Test Message
Para efetivamente usar a biblioteca, necessitamos realizar os "imports" iniciais:
from ISO8583.ISO8583 import ISO8583
from ISO8583.ISOErrors import *
Com estas duas linhas, estamos preparados para trabalhar com os pacotes ISO8583 diretamente.
Agora a criação da mensagem:
iso = ISO8583()
iso.setMTI('0800')
iso.setBit(3,'300000')
iso.setBit(24,'045')
iso.setBit(41,'11111111')
iso.setBit(42,'222222222222222')
iso.setBit(63,'This is a Test Message')
Simples, como Python.
Caso queira obter o ASCII que representa o pacote, basta chamar o método showRawIso(). Por exemplo, iso.showRawIso() irá resultar em:
08002000010000c0000230000004511111111222222222222222022This is a Test Message
Caso queira obter os valores dos bits da mensagem, utiliza-se o método showIsoBits(). Por exemplo, iso.showIsoBits() irá resultar em:
Bit[3] of type N has limit 6 = 300000
Bit[24] of type N has limit 3 = 045
Bit[41] of type N has limit 8 = 11111111
Bit[42] of type A has limit 15 = 222222222222222
Bit[63] of type LLL has limit 999 = 022This is a Test Message
Já se quiser ter maior controle sobre o que quer do pacote, pode-se utilizar o método getBitsAndValues(), que retorna um vetor com as informações:
- Tipo
- Número do bit
- Conteúdo
Por exemplo:
vet = iso.getBitsAndValues()
for v in vet:
print 'Bit %s of type %s has value = %s' % (v['bit'],v['type'],v['value'])
Irá resultar em:
Bit 3 of type N has value = 300000
Bit 24 of type N has value = 045
Bit 41 of type N has value = 11111111
Bit 42 of type A has value = 222222222222222
Bit 63 of type LLL has value = 022This is a Test Message
Exemplo - Uso avançado
Para quem quiser ter uma visão mais geral da biblioteca em uma aplicação ciente/servidor, pode acessar o código de exemplo de uma aplicação de Echo, que utiliza o pacote de exemplo.
Este exemplo completo, bem como outros, presentes tanto no diretório "examples" quanto na página de
exemplos do iso8583py.
Conclusão
A ISO8583py é um biblioteca capaz de nos fornecer uma abstração adequada para o processamento simples de mensagens no formato ISO8583 em Python.
Fácil de instalar e repleta de documentação pode ser utilizada sem grandes mistérios.