O que rastreamento-de-entregas faz?
Rastreie encomendas da CJ대한통운 e dos Correios da Coreia (우체국) usando o número da nota fiscal, com endpoints oficiais das transportadoras, e organize o fluxo em torno de um adaptador que pode ser expandido para mais transportadoras no futuro.
Como usar
- Certifique-se de que o agente tenha acesso à internet para consultar as APIs oficiais.
- Forneça o número da nota fiscal (invoice number) da transportadora desejada.
- O agente usará o adaptador apropriado para consultar o status e retornar as informações de rastreamento.
Transportadoras suportadas
- CJ대한통운 (CJ Logistics)
- 우체국 (Correios da Coreia do Sul)
Fluxo de trabalho
O skill segue o padrão de design Adaptador (CarrierAdapter). Cada transportadora implementa uma interface comum, permitindo que o agente consulte qualquer uma delas de maneira uniforme.
Interface do adaptador
class CarrierAdapter:
def track(self, invoice_number: str) -> dict:
"""
Consulta o status de entrega.
Retorna um dicionário com informações como:
- status: string com o status atual
- timestamps: histórico de eventos
- location: localização atual ou última atualização
"""
pass
Exemplo de uso
# Exemplo com CJ대한통운
cj_adapter = CJLogisticsAdapter()
resultado = cj_adapter.track("1234567890")
print(resultado)
Como adicionar uma nova transportadora
- Crie uma nova classe que implemente a interface
CarrierAdapter. - Implemente o método
track(invoice_number)usando o endpoint oficial da transportadora. - Registre o novo adaptador no código principal (ex.: em um dicionário de transportadoras).
- Pronto! O agente poderá consultar a nova transportadora.
Notas importantes
- Os endpoints oficiais podem exigir parsing de HTML ou JSON, dependendo da transportadora.
- Algumas transportadoras podem ter limites de taxa (rate limits) ou exigir autenticação.
- Mantenha o número da nota fiscal em formato consistente (apenas dígitos, sem espaços ou traços).