API de servicios web
La API de servicios web de GFI FaxMaker permite desarrollar sus propias aplicaciones que pueden conectarse y enviar/recibir faxes mediante GFI FaxMaker.
NOTA
Este tema está dirigido a usuarios que conocen las tecnologías Visual Studio, Servicios web XML y SOAP.
Requisitos y notas importantes
- Para crear el API, utilice un entorno de desarrollo compatible con Servicios web XML y SOAP.
- El API de servicios web de GFI FaxMaker utiliza el puerto 8555 para la comunicación HTTPProtocolo de transferencia de hipertexto entre la aplicación y GFI FaxMaker. Este puerto se puede abrir automáticamente al ejecutar el asistente para configuración de GFI FaxMaker. Para obtener más información, consulte Puerto de API de servicios web.
- Acceda al servicio web de GFI FaxMaker desde los servicios web XML a través del puerto HTTP 8555 usando la dirección URLEl localizador uniforme de recursos (URL) es la dirección de una página web en Internet.:
http://<Servidor de GFI FaxMaker>:8555/faxmaker/wsapi
Reemplace<Servidor de GFI FaxMaker>
por el nombre o la dirección IP del servidor de GFI FaxMaker. Por ejemplo:http://myfaxserver.mydomain.local:8555/faxmaker/wsapi
. - También puede utilizar una conexión segura a través de HTTPS. Para obtener más información, consulte Uso de API de servicios web a través de una conexión HTTPS segura.
- Desde el nodo Usuarios con licencia, registre los usuarios que usarán la API de servicios web. Utilice esas credenciales de los usuarios para las llamadas de API. Para obtener más información, consulte Usuarios de la API de servicios web.
- Los faxes recibidos que se enrutan a los usuarios registrados para usar la API de servicios web se almacenan en la cola de la API de servicios web y no se reenvían al usuario por correo electrónico. Configure las reglas de enrutamiento para enrutar los faxes que debe recoger la API de servicios web para los usuarios registrados. Para obtener más información, consulte Enrutado de faxes.
- GFI FaxMaker conserva los faxes recibidos en la cola de la API de servicios web durante 30 días. La API de servicios web no puede recuperar los faxes expirados. Para obtener más información, consulte Administración de la cola de la API de servicios web.
Introducción
En Visual Studio, cree una aplicación C# Windows o de consola. Desde Solution Explorer, agregue una referencia de servicio o web (en función de la versión de Visual Studio).
Cuando se le pida que introduzca la dirección URL del servicio, escriba el enlace WSDL de la URL del servicio web de GFI FaxMaker. Esto se compone de la URL del servicio web de GFI FaxMaker tal y como se define la sección Requisitos anterior y ?singleWsdl
. Por ejemplo, http://myfaxserver.mydomain.com:8555/faxmaker/wsapi?singleWsdl
Cuando se le pida que introduzca el espacio de nombres o un nombre de referencia web, escriba FMWSAPI
.
Después de crear la aplicación, abra app.config. Busque la dirección http://127.0.0.1:8555/faxmaker/wsapi
y cámbiela por el valor de la URL del servicio web de GFI FaxMaker. Por ejemplo, http://myfaxserver.mydomain.com:8555/faxmaker/wsapi
Guarde los cambios y use las clases de espacio de nombres siguientes como clases típicas de C#.
Funciones de API
SendFax
Use esta función para enviar un fax. Esta función devuelve una matriz de FaxJobID
. Para cada destinatario especificado, se crea una FaxJobID
. Esa ID permite supervisar el estado de ese fax enviado a ese destinatario concreto.
FMResult SendFax
(
FMUser user,
UserDetails senderdetails,
List<UserDetails> recipients,
MessageDetails messagedetails,
out FaxJobID[] faxjobids
);
Parámetros:
Parámetro | Descripción |
---|---|
Credenciales de usuario de la API web. |
|
senderdetails |
Detalles del usuario. |
recipients[] |
Lista de destinatarios del fax. |
messagedetails |
El fax que se enviará. |
Valores devueltos:
Parámetro | Descripción |
---|---|
Obtendrá el resultado de la función. |
|
Faxjobids |
Una matriz de |
CheckForUnreadFaxes
Utilice esta función para obtener una lista de los faxes en cola. Esta cola contiene todos los faxes que no se han descargado anteriormente.
Cada elemento de esta lista contiene únicamente los detalles de ese fax; no incluye una imagen del fax real. Para descargar el fax, utilice GetNextFax()
.
Parámetros:
Parámetro | Descripción |
---|---|
Credenciales de usuario de la API web. |
Valores devueltos:
Parámetro | Descripción |
---|---|
Obtendrá el resultado de la función. |
|
receivedfaxes |
Una matriz de |
GetSendingFaxStatusUpdates
Utilice esta función para obtener el estado de un fax que se ha enviado anteriormente utilizando la API SendFax.
Parámetros:
Parámetro | Descripción |
---|---|
Credenciales de usuario de la API web. |
|
El identificador único asignado a cada destinatario de un fax saliente. |
Valores devueltos:
Parámetro | Descripción |
---|---|
Obtendrá el resultado de la función. |
|
Devuelve el estado del fax. |
GetNextFax
Use este método para obtener el fax más antiguo de la cola. Esta cola contiene todos los faxes que no se han descargado anteriormente.
Al obtener el fax más antiguo, no se elimina automáticamente de la cola. Para eliminar el fax más antiguo de la cola, use DeleteFax()
, que además le permite obtener el fax siguiente. Si no se elimina el fax más antiguo, recibirá el mismo fax de nuevo.
Parámetros:
Parámetro | Descripción |
---|---|
Credenciales de usuario de la API web. |
Valores devueltos:
Parámetro | Descripción |
---|---|
Obtendrá el resultado de la función. |
|
faxdetails |
ReceivedFaxDetails conservará los detalles del fax. |
fax |
La imagen del fax. |
GetNextFaxByCriteria
Use este método para obtener el fax más antiguo de la cola según los criterios especificados. Esta cola contiene todos los faxes que no se han descargado anteriormente.
Al obtener el fax más antiguo, no se elimina automáticamente de la cola. Para eliminar el fax más antiguo de la cola, use DeleteFax()
, que además le permite obtener el fax siguiente. Si no se elimina el fax más antiguo, recibirá el mismo fax de nuevo.
FMResult GetNextFaxByCriteria
(
FMUser user,
SearchCriteria criteria,
stringcriteriavalue,
out ReceivedFaxDetails faxdetails,
out FileData fax
);
Parámetros:
Parámetro | Descripción |
---|---|
Credenciales de usuario de la API web. |
|
Criteria |
DTMB o Id. remoto. |
Criteriavalue |
El valor de los criterios. |
Valores devueltos:
Parámetro | Descripción |
---|---|
Obtendrá el resultado de la función. |
|
faxdetails |
ReceivedFaxDetails conservará los detalles del fax. |
Fax |
FileData contiene los datos de la imagen del fax real. |
DeleteFax
Use esta función para eliminar un fax concreto.
Parámetros:
Parámetro | Descripción |
---|---|
Credenciales de usuario de la API web. |
|
FaxID |
El id. del fax que se eliminará. Este valor puede recuperarse de la salida de |
Valores devueltos:
Parámetro | Descripción |
---|---|
Obtendrá el resultado de la función. |
Clases
UserDetails
Esta clase contiene los detalles de un destinatario/remitente.
Todos campos son opcionales, excepto la propiedad Faxnumber
si se usa como destinatario.
Miembros de datos | Tipo | Descripción |
---|---|---|
Firstname |
Cadena | El nombre de pila. |
Lastname |
Cadena | Los apellidos. |
Company |
Cadena | Nombre de la compañía |
Department |
Cadena | Nombre del departamento |
númerodefax |
Cadena | El número de fax. |
|
Cadena | La dirección de correo electrónico. |
MessageDetails
Un objeto de esta clase contiene los detalles de un fax nuevo.
Todos campos son opcionales, excepto Billingcode
si está habilitada la opción Facturación.
Miembros de datos | Tipo | Descripción |
---|---|---|
Subject |
Cadena | El asunto del fax. |
Schedule |
DateTime | La fecha y la hora específicas en que se enviará el fax. |
Priority |
FaxPriority |
Establece la prioridad del fax. |
BillingCode |
Cadena |
Especifica el código de facturación. Necesario cuando la opción Facturación está habilitada. |
Resolution |
FaxResolution | La resolución que se usará. |
Coverpage |
Cadena | De forma predeterminada, el fax se envía utilizando la portada predeterminada configurada en GFI FaxMaker. Utilice este parámetro para enviar un fax utilizando una carátula concreta. |
FrontCoverNote |
Cadena | De forma predeterminada, el fax se envía utilizando la nota de portada predeterminada configurada en GFI FaxMaker. Utilice este parámetro para enviar un fax utilizando una nota de carátula delantera concreta. |
FaxLine |
Número entero. | Utilice este parámetro para solicitar que el fax se envíe en una línea de fax concreta. Especifique el número de línea de fax según lo establecido en la configuración de GFI FaxMaker. |
Demandline |
Booleano. | Al especificar una línea de fax concreta (atributo FaxLine ), si la línea está ocupada o no está disponible, el fax se enviará por otra línea. Para enviar el fax exclusivamente desde una línea concreta, establezca el valor de este atributo como true . |
header |
Cadena | Introduzca un encabezado personal personalizado, que se agregará al encabezado de fax al principio del fax. |
UniqueID |
Cadena | Especifica un identificador que se usa para marcar el mensaje. El carácter único de este identificador depende del creador del mensaje. |
Cadena |
Especifica una sola línea de comandos de TextAPI. Para obtener una lista de los comandos de TextAPI, consulte Comandos de TextAPI. |
|
MessageBodyFile. |
FileData | Una instancia de FileData con un archivo de texto que contiene el cuerpo del mensaje del fax. |
Attachments |
List<FileData> | Matriz de archivos adjuntos. |
FMUser
Un usuario de la API web.
Miembros de datos | Tipo | Descripción |
---|---|---|
|
Cadena |
La dirección de correo electrónico del usuario, según aparece configurada en Usuarios con licencia. El usuario debe ser un usuario de API web registrado. |
Password |
Cadena |
En Active Directory, es la contraseña configurada del usuario. En entornos SMTPProtocolo simple de transferencia de correo, la contraseña es una GUID generada automáticamente que está disponible en el nodo Usuarios con licencia para los usuarios de API web registrados. |
FaxJobID
GFI FaxMaker asigna un identificador único a cada destinatario de un fax saliente. Use ese identificador para supervisar el estado de los faxes.
Miembros de datos | Tipo | Descripción |
---|---|---|
Recipient |
Cadena | El número de fax del destinatario |
ID |
Cadena | El identificador único asignado por GFI FaxMaker. |
ReceivedFaxDetails
Se recibe un objeto de esta clase cuando se utiliza GetNextFax()
.
Miembros de datos | Tipo | Descripción |
---|---|---|
FaxUID |
Cadena | El identificador único del fax. Utilice este identificador al eliminar un fax. |
WhenReceived |
DateTime | Fecha y hora en que se ha recibido el fax. |
NosPages |
Cadena | Número de páginas recibidas. |
Resolution |
FaxResolution | La resolución del fax recibido. |
RemoteID |
Cadena | El nombre del equipo de fax del remitente. |
Cadena | El número de extensión DTMF/DID de la línea del destinatario. |
FileData
Un objeto de esta clase contiene los datos reales de un archivo.
Miembros de datos | Tipo | Descripción |
---|---|---|
Filename |
Cadena |
El nombre de archivo del archivo; usado principalmente para determinar el formato del archivo. |
Data |
Byte[] |
Los datos del archivo en una matriz de bytes. |
FaxSendingStatus
Se devuelve un objeto de esta clase cuando se llama a GetSendingFaxStatusUpdates()
.
Miembros de datos | Tipo | Descripción |
---|---|---|
FaxUID |
Cadena | El identificador único del fax. |
RemoteID |
Cadena | El nombre del equipo de fax del remitente. |
CurrentTransmissionPage |
Número entero. | La página se está transmitiendo actualmente. Una vez que se envía un fax, devuelve el número total de páginas transmitidas. |
TotalPages | Número entero. | El número total de páginas que componen el fax. |
Status | SendingStatus | El estado actual del fax. |
Enums
FaxPriority
Valor | Descripción |
---|---|
None |
No se ha especificado ninguna prioridad. |
Low |
Prioridad baja. |
Normal |
Prioridad normal. |
High |
Prioridad alta. |
VeryHigh |
Prioridad muy alta. |
FaxResolution
Valor | Descripción |
---|---|
NonSet |
No se ha especificado ninguna resolución de fax personalizada. |
High |
Resolución alta. |
Normal |
Resolución de fax normal. |
SearchCriteria
Valor | Descripción |
---|---|
RemoteID |
Busque faxes por id. de remitente o por nombre de equipo de fax. |
DTMF |
Buscar faxes por el número de extensión de la línea del destinatario. |
SendingStatus
Valor | Descripción |
---|---|
Preparing |
Procesando y convirtiendo el contenido a fax. |
ConvertingAttachment |
Convirtiendo el archivo adjunto a formato de fax. |
Pending |
El fax está en cola, listo para enviarse. |
Sending |
Fax en transmisión. |
Sent |
El fax se ha enviado. |
Failed |
Error en la transmisión. |
Cancelled |
El trabajo de fax se ha cancelado. |
FMResult
Valor | Descripción |
---|---|
Success |
La función ha finalizado correctamente. |
Failure |
Se ha producido un error en la función. |
UserNotValid |
Los detalles del usuario no son válidos. |
DBError |
Error al escribir o leer en la base de datos. |
FaxImageNotFound |
No se ha encontrado la imagen de fax necesaria. |
NoSender |
No se ha especificado ningún remitente o el remitente especificado no es válido. |
NoRecipients |
No se ha especificado ningún destinatario o el destinatario especificado no es válido. |
InvalidFaxDescription |
Uno o más campos obligatorios se han dejado en blanco. |
Para empezar a desarrollar aplicaciones personalizadas para la API de servicios web de GFI FaxMaker, consulte las muestras proporcionadas.