2016-04-15 3 views
0

SoftLayer API: Wie kann ich alle Rechnungen für eine bestimmte Bestellung erhalten?SoftLayer API: Wie man Rechnungen mit Hilfe von orderId als Eingabe erhält

z.B. Ich habe drei Bestellungen aufgegeben: einen monatlichen virutal Server mit orderId1, einen stündlichen Bare Metal Server mit orderId2, einen monatlichen baremetal Server mit orderId3.

SoftLayer_Billing_Order-> getInitialInvoice() kann mir meine erste Rechnung einer Bestellung zurückgeben.

SoftLayer_Account-> getInvoices kann mir alle meine Rechnungen zurückgeben. Jede SoftLayer_Billing_Invoice enthält Details von allen meinen drei Bestellungen.

Ich versuche, die API zu finden, die mir Rechnungen für nur eine Bestellung zurückgeben kann.

beispiel erhalten den Betrag von jedem Abrechnungszyklus für ein Gerät der orderId als Eingabeparameter verwendet

Gibt es eine Möglichkeit, dies zu tun?

Danke.

Antwort

0

Dies ist ein Python-Skript mit Hilfe von Filtern

import SoftLayer 
# For nice debug output: 
from pprint import pprint as pp 

API_USERNAME = 'set me' 
API_KEY = 'set me' 


filterInstance = { 
    'invoices': { 
    'items': { 
     'billingItem': { 
     'orderItem': { 
      'order': { 
      'id': { 
       'operation': 2901586 
      } 
      } 
     } 
     } 
    } 
    } 
} 

# Creates a new connection to the API service. 
client = SoftLayer.Client(
    username=API_USERNAME, 
    api_key=API_KEY 
) 

try: 
    result = client['SoftLayer_Account'].getInvoices(filter = filterInstance) 
    pp(result) 

except SoftLayer.SoftLayerAPIError as e: 
    pp('Failed ... faultCode=%s, faultString=%s' 
     % (e.faultCode, e.faultString)) 

Ich hoffe, dass es Ihnen helfen.

Verwandte Themen