Standards

Standard Request and Response Fields & Types

πŸ“˜

The following fields are applicable / available on every request and response.

Request Fields

  • Credentials
  • Username As String
    • A valid Rev.io login username.
  • Password As String
    • Rev.io's password for Username.
  • Client As String
    • Client_Code of the Rev.io system you are seeking to access.
  • ImpersonationKey As String
    • Optional – used for impersonating another Rev.io user.
  • Session
  • SessionKey As String
  • Debug As Boolean
  • Optional – Value of true/false indicating whether to add debug information to the response.

πŸ‘

Either Credentials or Session is required on every request. It is more efficient to use Session instead of authenticating with Credentials on every Request, but for simple/low-volume API integrations or for testing purposes, it is convenient to be able to specify Credentials on any request necessary.

Response Fields

  • Header
  • Success As Boolean
    • Value of true/false indicating if the Request was processed successfully.
  • Message As String
    • Typically not returned for successful Requests, but can contain additional information about the Error when applicable.
  • Error_Code As String
    • Standardized Error Code as defined in the Error Codes section.
  • Error_Description As String
    • Standardized description of the Error Code provided.
  • SessionKey As String
    • Returned for any request in which authentication was successful.
  • Impersonated As Boolean
    • Indicates the Session is currently impersonating another User through the use of the ImpersonationKey on CredentialAuthentication.
  • Debug
  • Request
    • Contains the request object as understood by the API. This is only included if the Debug parameter of the request is set or if a fatal processing error occurs.

πŸ“˜

The following types are used throughout several requests / responses and always share the same fields:

ServiceItem - Encapsulates all information relating to a service

  • Service – Individual service object
  • ID As Integer – Rev.io service ID.
  • Type As String – Type of service
  • TN As String – TN of service, or other identification for services without TNs.
  • CarrierID As Integer – Rev.io provider id for service.
  • CarrierDescription As String – Provider description for provider id.
  • PackageID As Integer – Rev.io package id.
  • PackageDescription As String – Package description for package id.
  • ProgramID As Integer – Rev.io program id.
  • ProgramDescription As String – Program description for program id.
  • Products – List of products that belong to this service
    • Product – Individual product.
      • ID As Integer – Rev.io customer product id.
      • ProductID As Integer – Rev.io product id.
      • CarrierID As Integer – Rev.io provider id.
      • CarrierDescription As String – Provider description for provider id.
      • Status As Enum_Customer_Product_Status – Current customer product status. Can be one of the following values:
        • PENDING – Product has not yet activated and is pending activation.
        • ACTIVE – Product is active and billing.
        • DENIED – Product was active, but has been suspended.
        • DISCONNECTED – Product has been completely disconnected and is no longer billing.
      • Description As String – Description of product.
      • Rate As Decimal – Rate being charged to customer monthly for the product. Credits are indicated by a negative amount in this field.
      • Code1 As String – Product code 1. Used for provisioning.
      • Code2 As String – Product code 2. Used for provisioning.
      • ActivatedDate As Date – Date product first became active.
      • BilledThroughDate As Date – Date to which customer has been billed for this product.
      • Quantity As Integer – Quantity of products purchased by customer
  • Inventory – List of inventory items that belong to this service
    • Inventory – Individual inventory object.
      • ID As Integer – Rev.io inventory item id.
      • CustomerID As Integer – Rev.io customer id that this inventory item is associated with.
      • Identifier As String – Inventory identifier.
      • IdentifierLabel As String – The identifier label of this item, such as ESN, MEID, etc.
      • InventoryTypeID As Integer – Rev.io inventory type id.
      • InventoryType As Enum_Inventory_Type – Rev.io inventory type. Can be one of the following:
        • General – General inventory type for inventory not covered by another type.
        • Telephone_Number – Telephone number.
        • IP_Address – An IP address.
        • Mobile_Device – A wireless mobile device.
        • SIM_Card – A wireless SIM card.
      • InventoryDescription As String – Description from inventory type id.
      • Status As Enum_Inventory_Item_Status – Current status of inventory item. Can be one of the following:
        • AVAILABLE – Inventory is not activated and is available to be associated with a customer or activated on a batch.
        • UNAVAILABLE – Inventory is not activated and may not be used.
        • ASSIGNED – Inventory is assigned to a customer.
        • BATCHED – Inventory is on a batch.
      • AssignedDate As Date – Date the inventory was assigned to this customer.
      • UnavailableReasonID As Integer – When status is UNAVAILABLE, the reason id of why inventory is unavailable (if applicable).
      • UnavailableReasonDescription As String – The description of the unavailable reason id (if applicable).
      • Note As String – Inventory note.
      • Fields – List of custom fields.
        • Field – Individual custom field
          • FieldID As Integer – Rev.io custom field id.
          • Label As String – Rev.io custom field label.
          • Value As String – Value specified for custom field.
      • Wireless – Object containing wireless-specific inventory fields
        • MSID As String – MSID of inventory item.
        • MSL As String – MSL of inventory item.
        • MDN As String – Current MDN of inventory item.
  • Fields - List of customer-level custom fields.
    • Field - Individual Custom Field
      • FieldID As Integer – Custom Field ID.
      • Label As String – Custom Field Label.
      • Value As String – Value of Custom Field.

Enumerated Values

This listing explains in more detail what the standard members mean for the enumerated types used by the API.

Enum_Order_Status

ValueDescription
NEWOrder has not yet been sent.
SENTOrder has been sent and is waiting on confirmation from the provider/back-end system.
CONFIRMEDProvider/back-end system has confirmed the order and it is in process.
COMPLETEOrder is complete and Rev.io has been updated.
CANCELEDOrder is in a canceled state.
ERRORProvider/back-end system returned an error.
FLOW_ERRORProvider/back-end system returned an error while trying to send the order automatically.

Enum_Order_Type

ValueDescription
NEWNew customer / new service.
DISCONNECTEntire account disconnect.
DENYSuspend/Deny/Hotline one or more services.
RESTORERestore/Unhotline one or more services.
CHANGE_FEATUREAdd/change/disconnect one or more products and/or services.
ADD_LINENew service being added to a customer.
TRANSFERMoving service to a new address.
CONVERSIONNew customer / new service / with phone # migration.

Enum_Lifeline_Status

ValueDescription
NEEDS_REVIEWLifeline form needs to be reviewed.
APPROVEDApproved lifeline form.
REJECTEDAttached lifeline form was rejected.
NEEDS_FORMNo form is on file.

Enum_Pin_Status

ValueDescription
AVAILABLEPIN is available to be claimed.
CLAIMEDPIN has been claimed.
INVALIDPIN has not been claimed and is not available to be claimed.
LOCKEDPIN has not been claimed and is temporarily locked from being claimed.

Enum_Ticket_Status

ValueDescription
OPENGeneral open status.
INWORKCurrently being worked.
CLOSEDTicket is closed.
PENDING_CANCELLATIONTicket is in the process of being canceled.
CANCELEDTicket has been canceled.

Enum_TPIV_Status

ValueDescription
APPROVEDCustomer's TPIVStatus has been Approved.
REJECTEDCustomer's TPIVStatus has been Rejected.
PENDINGCustomer's TPIVStatus is Pending.

CCHTaxExemption (used only by instances that do not use SureTax for taxation)

ValueDescription
FederalFederal Taxes Exempt
StateState Taxes Exempt
CountyCounty Taxes Exempt
CityCity Taxes Exempt
LocalLocal Taxes Exempt
OtherExempt from other, specific taxes (not available for query / update in the API)

SureTaxTaxExemptionEnum (used only by instances that use SureTax for taxation)

ValueDescription
NoneNo Exemptions (not usable or returned by the API)
FETFederal Excise Tax Exempt
StateState Taxes Exempt
FET_StateFederal Excise Tax and State Taxes Exempt
LocalLocal Taxes Exempt
FET_LocalFederal Excise Tax and Local Taxes Exempt
State_LocalState and Local Taxes Exempt
FET_State_LocalFederal Excise Tax and State and Local Taxes Exempt
FederalAll Federal Level Taxes Exempt
Unit_BasedAll Unit Based Taxes Exempt
Unit_Based_E911Unit Based E911 Exempt
Unit_OnlyOnly apply Unit Based Fees
Gross_ReceiptsGross Receipts Tax (GRT) Exempt
USFAll Universal Service Fund (USF) Fees Exempt
Gross_Receipts_USFGRT and USF Exempt
FUSFFederal USF Tax Exempt
FET_FUSF_State_Sales_UseFederal Excise, Federal USF, and State Sales & Use Tax Exempt
State_ExciseState Excise Tax Exempt (includes FL CST)
FET_FUSF_Local_Sales_UseFederal Excise, Federal USF, and Local Sales & Use Tax Exempt
FUSF_State_Local_Sales_UseFederal USF and State Local Sales & Use Tax Exempt
State_Excise_Local_TelecomState Excise and Local Telecommunications Tax Exempt
State_Sales_UseState Level Sales & Use Tax Exempt
State_Local_Sales_UseState and Local Sales & Use Tax Exempt
GSTGoods and Services Taxes (GST) Exempt
PSTProvincial Service Taxes (PST) Exempt
HSTHarmonized Service Taxes (HST) Exempt
Local_Utility_UsersLocal Utility Users Tax Exempt
State_Excise_Local_SurchargeState Excise Tax Exempt and Local Surcharge Exempt
State_FranchiseState Franchise Fee Exempt
Los_Angeles_Comm_UsersLos Angeles Communications Users Tax Exempt
AllAll Taxes Exempt - Apply no tax or fees

Error Codes

When an error code is returned by the API, this table explains the code in detail.

Error Code Listing

CodeDescription
A2011Agent specified does not exist.
AT2002The Customer_ID on the order does not match the Customer_ID supplied.
AT2003The Customer_ID on the work order does not match the Customer_ID supplied.
AT2004The Customer_ID on the ticket does not match the Customer_ID supplied.
AT2005The Customer_ID on the task does not match the Customer_ID supplied.
B2012Bill Profile does not exist.
CA2014Provider does not exist.
CA2020Connectivity to the provider is currently down.
CN2001Configuration Error.
CO2025Contact does not exist.
CO2026Contact Type does not exist.
CO2027Contact Type ID and Description do not match.
C2002Customer ID does not exist.
C2006Customer is not in the appropriate status for this action.
C2007Customer's Lifeline Status is not appropriate for this action.
C2008Cannot change customer hierarchy. Please migrate customer via Rev.io UI.
F2015No file can be found with associated file ID.
S2004Authorization failure: unknown/invalid Session Key.
S2005Authorization failure: unknown/invalid Username/Password/Client.
S2010Invalid input received.
S2015Unknown Zip Code.
S2017Permission denied.
I2019Inventory Item ID does not exist.
L2015Lifeline Type ID does not exist.
L2016Lifeline Proof Type ID does not exist.
L2024Services does not exist.
LA2001Allowance specified does not exist.
LA2002Allowance quantity does not equal allowance balance.
LT2001Service type does not exist.
N2001The customer on the service does not match the customer supplied.
N2002The customer on the order does not match the customer supplied.
O2001Order could not be generated.
O2002Order specified does not exist.
O2003Order element is required.
PB2001Wireless pre-activated batch not found.
PC2001Process does not exist.
PK2013Package does not exist.
P2001Amount must be greater than $0.00, but less than or equal to $99,999.00
P2020Card Number failed LUHN validation.
P2021Card is expired.
P2022Credit Card Gateway Fatal Error. Please contact Support before retrying.
P2025Routing Number failed validation.
PNB2001PIN Batch not found.
PN2001PIN not found.
PN2002Error claiming PIN.
PR2023Product does not exist.
PT2023Product Type does not exist.
R2016Report does not exist.
R2018Report could not be generated.
S2010Invalid_Input
T2001Ticket does not exist.
T2002File Type can only be TICKET_ATTACHMENT for ticket attachments.
TG2001Tag does not exist.
TS2001Task does not exist.
TS2002File Type can only be TASK_ATTACHMENT for task attachments.
U2001User does not exist.
W2001Work Order specified does not exist.