Click or drag to resize

Internationalization

1. Introduction

Beginning in Epic 2018.1, SDK has been enhanced to return data translated in any culture that is supported by Epic. To provide this functionality, the existing SDK Message Header that is required on all SDK method calls will now contain a culture property that will allow data to be returned in a specified culture on a per call basis. If the property is not set, the default en-US will continue to be applied.

2. Dates

All dates and times within the SDK are saved and retrieved as Coordinated Universal Time (UTC). It will be necessary to convert any values entered into your implementation by your users to UTC prior to doing a save or update, and also, any dates retrieved form the SDK will need to be converted to a date/time which is local to your user before presenting within your implementation.

3. Supported Methods

Attachments and Lookups are the only areas in SDK that will acknowledge the culture property in the message header. Translations in other areas of SDK are made possible by using the Lookup methods to retrieve the translated values. The data for these (Attachments and Lookups) will be both returned and accepted in the culture of choice, no additional calls are necessary.

  • a. Attachments

    Insert, Get and Update Attachment methods now fully support multiple cultures. This means that data will be both returned and accepted in the culture of choice, no additional calls are necessary. Simply provide the desired culture in the message header and the correct data will be returned by SDK. Note that only data that contains translations in Epic will be translated. These are generally limited to Configure items, where the description for multiple cultures are available to be defined. This will not translate data in text fields, error messages, or any API members such as property name, enumerators, etc.

  • b. Lookups

    The Get Lookup method will return the list of lookups in the desired culture when the culture property on the message header is set. Lookups are returned with a code and a description. The code remains the same in all cultures, the description is returned in the desired culture. Because lookup parameters are accepted as a list of strings, any parameter that represents a date should always be passed with the format of 'mm/dd/yyyy' no matter what culture is specified.

For code examples please click on the following link:

Code Examples Attachment and Lookup supporting culture

4. Support For Other Methods

All other areas of SDK will not recognize the culture property in the message header. To translate values in other areas, it is necessary to leverage the Get Lookup method. By calling this method twice, once with the en-US culture and once with the desired culture, it is possible to map the English value to the desired value by using the lookup's code property. When retrieving or updating data though integration projects using the SDK, these lookup methods must be used to translate the necessary values out of and back in to the en-US culture.

5. Lookup types that will require attention if upgrading an endpoint of an existing integration past 2018_01 or beyond

  • InvoicePageBreak

  • InvoiceLayout

  • StatementPageBreak

  • StatementLayout

  • ContractType

  • PaymentDueDate

  • OpportunityOwnerMemberType

  • OpportunityStage

  • OpportunityStageGroup

  • OpportunityClosedStatus

  • OpportunityLostReasons

  • AccountSource

  • AccessLevel

  • ClosedReason

  • ClosedStatus

  • Priority

  • TaskStatus

  • TaskOwnerType

  • ActivityAssociatedToType

  • VehicleCompOTCSym

  • VehicleCollSym

  • PaymentType

  • LossType

  • AvailableRiskType

  • AvailableRiskTypeForCustomForm

  • PayeeType

  • Involvement

  • AttachmentFolder

  • AttachmentAccessLevel

  • AttachmentAttachTo

  • PhoneNumberType

  • TermDefault

  • BillingMode

  • ContactVia

  • ContactMethod

  • DeliveryMethod

  • MarketingMethod

  • CallPermission

  • CreditBureau

  • BusinessType

  • NatureOfBusiness

  • BatchPaymentMethod

  • EmployeeAuthorizedSignatureUserIndividualEmployee

  • MarketingSubmissionStatus

  • CarrierResponseDescription

  • OtherInterestCode

  • BillingPlan

  • InvoiceToType

  • LimitLossPayCode

  • ReceiptDetailItemPayablesCommissionsItemsAccountLocateBy

  • ReceiptDetailItemPayablesCommissionsItemsAccountLocateBy

  • TransactionInvoiceToType

  • TransactionBinderBillStatus

  • InstallmentPlan