CreateTask

Operation which creates a task in Progression.
 

Property

Type

Value

Credentials

Credentials

Authentication information

Task

Task

Information concerning the task to be created

Location

Location

Localization information during the task creation (mobile)

Dispatch

boolean

Dispatch task? If yes, a HumanResourceRef must be assigned to the task.

CreateTaskRequest


Java, PHP examples 


Java

Task task = new Task();

RecordRef typeRef = new RecordRef();

typeRef.setType(RecordType.TASK_TYPE);

typeRef.setLabel("SVC"); // Task type code

task.setTypeRef(typeRef);

RecordRef priorityRef = new RecordRef();

priorityRef.setType(RecordType.TASK_PRIORITY);

priorityRef.setLabel("Normal"); // Priority name 

task.setPriorityRef(priorityRef);

task.setSummary("Test");

task.setDescription("This is a test"); 

// Appointment configuration

final GregorianCalendar gregorianCalendar = new GregorianCalendar();

gregorianCalendar.setTime(new Date());

task.setRv(DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar)); 

// Assignment

RecordRef hrRef = new RecordRef();

hrRef.setType(RecordType.HUMAN_RESOURCE);

hrRef.setLabel("John Doe"); // Human Resource Name

task.setHumanResourceRef(hrRef);

// Client (may not be available in some configurations)

// The client will be created automatically if it does not exist. 

RecordRef clientRef = new RecordRef();

clientRef.setType(RecordType.CLIENT);

clientRef.setLabel("Diffusion"); // Client Name (Unique)

task.setClientRef(clientRef);

Address clientAddress = new Address();

clientAddress.setAddress("51 allard");

clientAddress.setCity("Saint-alexis des monts");

clientAddress.setProvince("QC"); // ISO code

clientAddress.setCountry("CA"); // ISO code

clientAddress.setPostalCode("J0K 1V0");

task.setClientAddress(clientAddress);

// Location (may not be available in some configurations)

// Client must be created to allow the creation of a location.

// The location will be created if it doesn’t exist.

RecordRef nodeRef = new RecordRef();

nodeRef.setType(RecordType.NODE);

nodeRef.setLabel("Diffusion Granby"); // Location Name (Unique)

task.setNodeRef(nodeRef);

Address nodeAddress = new Address();

nodeAddress.setAddress("10-4 Place du lac");

nodeAddress.setCity("Granby");

nodeAddress.setProvince("QC"); // ISO code

nodeAddress.setCountry("CA"); // ISO code

nodeAddress.setPostalCode("J2G 4C3");

task.setNodeAddress(nodeAddress); 

// Customizable Properties (the names of properties depend on the type of task)

task.setProperties(new ArrayOfProperty()); 

Property p = new Property();

p.setName("test.test1");

p.setValue("test1");

task.getProperties().getProperty().add(p);

p = new Property();

p.setName("test.test2");

p.setValue("test2");

task.getProperties().getProperty().add(p); 

// Item List

TaskItemList taskItemList = new TaskItemList();

// Create 2 items

TaskItem taskItem = new TaskItem();

taskItem.setQuantity(1);

taskItem.setLabel("Computer");

taskItem.setPrice(499.99);

taskItemList.getTaskItems().getRecord().add(taskItem);

taskItem = new TaskItem();

taskItem.setQuantity(2);

taskItem.setLabel("Screen");

taskItem.setPrice(199.99);

taskItemList.getTaskItems().getRecord().add(taskItem);

taskItemList.setSubTotal(899.97);

taskItemList.setTotal(899.97);

task.setTaskItemList(taskItemList);

// Meta Properties

task.setMetas(new ArrayOfProperty()); 

Property meta = new Property();

meta.setName("MyInternalID");

meta.setValue("123456");

task.getMetas().getProperty().add(meta); 

// Create Task

CreateTaskRequest request = new CreateTaskRequest();

request.setCredentials(credentials); // See login operation 

request.setTasl(task);

request.setDispatch(true);

RecordRef taskRef = progressionPortType.createTask(request).getTaskRef();

Long taskId = taskRef.getId(); // Returns the internal ID for the task that was just created.


PHP

$task = new stdClass(); 

$task->TypeRef->Type = 'TASK_TYPE';

$task->TypeRef->Label = 'SVC';

$task->PriorityRef = new stdClass();

$task->PriorityRef->Type = 'TASK_PRIORITY';

$task->PriorityRef->Label = 'Normal';

$task->Summary = 'Test';

$task->Description = 'This is a test!';

// Assignation

$task->HumanResourceRef = new StdClass();

$task->HumanResourceRef->Type = 'HUMAN_RESOURCE';

$task->HumanResourceRef->Label = "Test"; // Human Resource Name

// Client (may not be available in some configurations)

// The client will be created automatically if it does not exist

$clientRef = new StdClass();

$clientRef->Type = 'CLIENT';

$clientRef->Label = "Diffusion"; // Client Name (Unique)

$task->ClientRef = $clientRef;

$clientAddress = new StdClass();

$clientAddress->Address = "51 allard";

$clientAddress->City = "Saint-alexis des monts";

$clientAddress->Province = "QC"; // ISO code

$clientAddress->Country = "CA"; // ISO code

$clientAddress->PostalCode = "J0K 1V0";

$task->ClientAddress = $clientAddress;

// Location (may not be available in some configurations)

// Client must be created to allow the creation of a location.

// The location will be created if it doesn’t exist.

$nodeRef = new StdClass();

$nodeRef->Type = 'NODE';

$nodeRef->Label = "Diffusion Granby"; // Location Name (Unique)

$task->NodeRef = $nodeRef;

$nodeAddress = new StdClass();

$nodeAddress->Address = "10-4 Place du lac";

$nodeAddress->City = "Granby";

$nodeAddress->Province = "QC"; // ISO code

$nodeAddress->Country = "CA"; // ISO code

$nodeAddress->PostalCode = "J2G 4C3";

$task->NodeAddress = $nodeAddress;

// Customizable Properties (the names of properties depend on the type of task)

$task->Properties = new StdClass();

$task->Properties->Property = array();

$task->Properties->Property[0] = new StdClass();

$task->Properties->Property[0]->Name = 'info1.NO_INVOICE';

$task->Properties->Property[0]->Value = new SoapVar('1234567890', XSD_STRING, 'string', 'http://www.w3.org/2001/XMLSchema');

$task->Properties->Property[1] = new StdClass();

$task->Properties->Property[1]->Name = 'test.test2';

$task->Properties->Property[1]->Value = new SoapVar('test2', XSD_STRING, 'string', 'http://www.w3.org/2001/XMLSchema');

// Item List

$taskItemList = new stdClass();

$taskItemList->TaskItems = new stdClass();

$taskItemList->TaskItems->Record = array();

// Create 2 items

$taskItem = new StdClass();

$taskItem->Quantity = 1;

$taskItem->Label = "Computer";

$taskItem->Price = 499.99;

$taskItem->Taxable = true;

$taskItemList->TaskItems->Record[0] = new SoapVar($taskItem, SOAP_ENC_OBJECT, 'TaskItem', "http://task.v1.ws.progression.diffusion.cc");

$taskItem = new StdClass();

$taskItem->Quantity = 2;

$taskItem->Label = "Screen";

$taskItem->Price = 199.99;

$taskItemList->TaskItems->Record[1] = new SoapVar($taskItem, SOAP_ENC_OBJECT, 'TaskItem', "http://task.v1.ws.progression.diffusion.cc");

//The calculation of SubTotal, Total and TaxesAmount must be done manually.

$taskItemList->SubTotal = 899.97;

$taskItemList->Total = 899.97;

$task->TaskItemList = $taskItemList;

// Meta Properties

$task->Metas = new StdClass();

$task->Metas->Property = array();

$task->Metas->Property[0] = new StdClass();

$task->Metas->Property[0]->Name = 'MyInternalID';

$task->Metas->Property[0]->Value = new SoapVar('123456', XSD_STRING, 'string', 'http://www.w3.org/2001/XMLSchema');

$createTaskRequest = new StdClass();

$createTaskRequest->credentials = $credentials;

$createTaskRequest->task = $task;

$createTaskRequest->dispatch = false;

$response = null;

try {

    $response = $service->CreateTask($createTaskRequest);

    echo "Task created ";

    echo $response->taskRef->Id;

    echo "<br/>";

} catch (Exception $e){

    echo "Error during task creation ";

    echo "<br/>";

}