OSID Logo
OSID Specifications
acknowledgement batch package
Version 3.0.0
Release Candidate Preview
Interfaceosid.acknowledgement.batch.CreditBatchAdminSession
Implementsosid.acknowledgement.CreditAdminSession
Description

This session creates, updates, and deletes Credits in bulk. The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create a Credit, a CreditForm is requested using getCreditFormsForCreate() specifying the desired reference, resource, and record Types or none if no record Types are needed. Each of the returned CreditForms will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once a CreditForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each CreditForm corresponds to an attempted transaction.

The CreditForms returned from getCreditFormsForCreate() may be linked to the originating request through the peer Ids of the CreditForm. In the case where there may be duplicates, any CreditForm of the same peer Ids may be used for a create operation.

Once a batch of CreditForms are submitted for create, a CreateResponse is returned for each CreditForm, although the ordering is not defined. Only errors that pertain to the entire create operation are returned from createCredits(), errors specific to an individual CreditForm are indicated in the corresponding CreateResponse. CreateResponses may be linked to the originating CreditForm through the CreditForm Id .

For updates, CreditForms are requested to the Credit Id that is to be updated using getCreditFormsForUpdate() where the reference Id in the CreditForm may be used to link the request. Similarly, the CreditForm has metadata about the data that can be updated and it can perform validation before submitting the update. The CreditForm can only be used once for a successful update and cannot be reused.

Once a batch of CreditForms are submitted for update, an UpdateResponse is returned for each CreditForm, although the ordering is not defined. Only errors that pertain to the entire update operation are returned from updateCredits(), errors specific to an individual CreditForm are indicated in the corresponding UpdateResponse. UpdateResponses may be linked to the originating CreditForm through the CreditForm Id.

The delete operations delete Credits in bulk. To unmap a Credit from the current Billing, the CreditBillingAssignmentSession should be used. These delete operations attempt to remove the Credit itself thus removing it from all known Billing catalogs. Bulk delete operations return the results in DeleteResponses.

MethodgetCreditFormsForCreate
Description

Gets the credit forms for creating a bunch of new credits. A form is returned for each work and resource pair.

Parametersosid.acknowledgement.batch.CreditPeerListpeersthe relationship peers
osid.type.Type[]creditRecordTypesarray of credit record types to be included in each create operation or an empty list if none
Returnosid.acknowledgement.batch.CreditBatchFormListthe credit forms
ErrorsNOT_FOUNDa resourceId is not found
NULL_ARGUMENT peers or creditRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to request forms with given record types
CompliancemandatoryThis method must be implemented.
MethodcreateCredits
Description

Creates a new set of Credits. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in the BatchCreateResponse .

Parametersosid.acknowledgement.batch.CreditBatchFormListcreditFormsthe credit forms
Returnosid.transaction.batch.CreateResponseListthe create responses
ErrorsNULL_ARGUMENT creditForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetCreditFormsForUpdate
Description

Gets the credit forms for updating an existing set of credits. A new credit form should be requested for each update transaction.

Parametersosid.id.IdListcreditIdsthe Ids of the Credits
Returnosid.acknowledgement.batch.CreditBatchFormListthe credit forms
ErrorsNOT_FOUNDa creditId is not found
NULL_ARGUMENT creditIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodupdateCredits
Description

Updates existing credits. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in the BatchCreateResponse .

Parametersosid.acknowledgement.batch.CreditBatchFormListcreditFormsthe form containing the elements to be updated
Returnosid.transaction.batch.UpdateResponseListthe update responses
ErrorsNULL_ARGUMENT creditForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteAllCredits
Description

Deletes all Credits in this Billing .

Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCredits
Description

Deletes credits for the given Ids.

Parametersosid.id.IdListcreditIdsthe Ids of the credits to delete
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT creditIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCreditsForReference
Description

Deletes credits for the given reference.

Parametersosid.id.IdreferenceIdthe Id of a reference
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT referenceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteCreditsForResource
Description

Deletes credits for the given resource.

Parametersosid.id.IdresourceIdthe Id of a resource
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteIneffectiveCreditsByDate
Description

Deletes credits expired before the given date.

Parametersosid.calendaring.DateTimedatea date
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT date is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaliasCredits
Description

Adds an Id to a Credit for the purpose of creating compatibility. The primary Id of the Credit is determined by the provider. The new Id is an alias to the primary Id. If the alias is a pointer to another credit, it is reassigned to the given entry Id.

Parametersosid.transaction.batch.AliasRequestListaliasRequeststhe alias requests
Returnosid.transaction.batch.AliasResponseListthe alias responses
ErrorsNULL_ARGUMENT aliasRequests is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.